цифровая электроника
вычислительная техника
встраиваемые системы

 
» » Зачем нужен многослойный персептрон для полноценного машинного обучения


Зачем нужен многослойный персептрон для полноценного машинного обучения

Автор: Mike(admin) от 23-01-2020, 19:55

В предыдущей статье мы узнали, что такое скорость обучения. Это важное понятие для дальнейшего изучения области машинного обучения, чтобы далее разрабатывать и обучать многослойные нейронные сети.


До сих пор мы фокусировались на однослойном персептроне, который состоит из входного слоя и выходного слоя. Как вы, возможно, помните, мы используем термин «однослойный», потому что эта конфигурация включает в себя только один уровень вычислительно активных узлов, то есть узлов, которые изменяют данные путем суммирования, а затем применяют функцию активации. Узлы входного слоя просто распределяют данные.


Однослойный перцептрон концептуально прост, а процедура обучения приятна и легка. К сожалению, он не предлагает функциональность, которая нам нужна для сложных, реальных приложений. Стандартным способом объяснить фундаментальное ограничение однослойного персептрона является использование булевых операций в качестве иллюстративных примеров, и именно этот подход мы примем в этой статье.


Есть что-то забавное в идее, что мы будем использовать чрезвычайно сложный микропроцессор для реализации нейронной сети, которая выполняет ту же функцию, что и схема, состоящая из нескольких транзисторов. В то же время, однако, размышление о проблеме таким образом подчеркивает неадекватность однослойного перцептрона как инструмента для общей классификации и приближения функций – если наш персептрон не может воспроизвести поведение одного логического элемента, мы знаем что нам нужно найти лучший перцептрон. Давайте вернемся к конфигурации системы, которая была представлена в первой статье этой серии.


Зачем нужен многослойный персептрон для полноценного машинного обучения

Общая форма этого перцептрона напоминает логический вентиль, и это действительно так. Допустим, мы обучаем эту сеть выборками, состоящими из нулей и единиц, для элементов входного вектора и выходного значения, равного единице, только если оба входа равны единице. Результатом будет нейронная сеть, которая классифицирует входной вектор способом, аналогичным электрическому поведению логического элемента AND (И).


Размерность входных данных этой сети равна 2, поэтому мы можем легко отобразить входные выборки на двухмерном графике. Допустим, что вход0 соответствует горизонтальной оси, а вход1 соответствует вертикальной оси. Четыре возможные комбинации ввода будут расположены следующим образом.


Зачем нужен многослойный персептрон для полноценного машинного обучения

Поскольку мы реплицируем операцию AND, сети необходимо изменить свои веса таким образом, чтобы выходные данные были равны единице для входного вектора (1,1) и нулю для остальных трех входных векторов. Основываясь на этой информации, давайте разделим пространство ввода на секции, соответствующие желаемым классификациям вывода.


Зачем нужен многослойный персептрон для полноценного машинного обучения

Как показано на предыдущем графике, когда мы реализуем операцию AND, построенные на графике входные векторы можно классифицировать, рисуя прямую линию. Все на одной стороне линии получает выходное значение, равное единице, а все на другой стороне – нулевое выходное значение. Таким образом, в случае операции AND данные, которые представлены в сети, являются линейно разделимыми. Это также относится к операции OR (ИЛИ).


Зачем нужен многослойный персептрон для полноценного машинного обучения

Оказывается, что однослойный персептрон может решить проблему, только если данные линейно разделимы. Это верно независимо от размерности входных выборок. Двумерный случай легко визуализировать, потому что мы можем построить точки и разделить их линией. Чтобы обобщить концепцию линейной отделимости, мы должны использовать слово «гиперплоскость» вместо «линии». Гиперплоскость – это геометрическая особенность, которая может разделять данные в n-мерном пространстве. В двумерной среде гиперплоскость является одномерной особенностью (то есть линией). В трехмерном окружении гиперплоскость – это обычная двумерная плоскость. В n-мерной среде гиперплоскость имеет (n-1) измерений.


Во время процедуры обучения однослойный персептрон использует обучающие образцы, чтобы выяснить, где должна быть классификационная гиперплоскость. После того, как он находит гиперплоскость, которая надежно разделяет данные на правильные категории классификации, он готов к действию. Тем не менее, перцептрон не найдет эту гиперплоскость, если она не существует. Давайте рассмотрим пример отношения ввода-вывода, которое не является линейно разделимым.


Зачем нужен многослойный персептрон для полноценного машинного обучения

Узнаете ли вы эти отношения? Посмотрите еще раз, и вы увидите, что это не что иное, как операция XOR (исключающее ИЛИ). Вы не можете разделять данные XOR с помощью прямой линии. Таким образом, однослойный перцептрон не может реализовать функциональность, предоставляемую XOR, и если он не может выполнить операцию XOR, мы можем с уверенностью предположить, что многие другие (гораздо более интересные) приложения будут вне досягаемости проблемы.


К счастью, мы можем значительно увеличить способность нейросети решать задачи, просто добавив один дополнительный слой узлов. Это превращает однослойный персептрон в многослойный перцептрон. Этот слой называется «скрытым», поскольку он не имеет прямого интерфейса с внешним миром. Вы могли бы думать о многослойном перцептроне как о пресловутом «черном ящике», который принимает входные данные, выполняет таинственные математические операции и производит выходные данные. Скрытый слой находится внутри этого черного ящика. Вы не можете видеть его, но он есть.


Добавление скрытого слоя в перцептрон – довольно простой способ значительно улучшить систему в целом, но мы не можем ожидать, что получим все это улучшение даром. Первый недостаток, который приходит на ум, заключается в том, что обучение становится более сложным, и это проблема, которую мы рассмотрим в следующей статье.




© digitrode.ru


Теги: нейронная сеть, искусственный интеллект, машинное обучение





Уважаемый посетитель, Вы зашли на сайт как незарегистрированный пользователь.
Мы рекомендуем Вам зарегистрироваться либо войти на сайт под своим именем.

Комментарии:

Оставить комментарий