Многослойный персептрон
1. Идея метода
Сеть состоит из входного слоя нейронов, нескольких скрытых слоев и выходного слоя. Каждый нейрон последующего слоя связан со всеми нейронами предыдущего модифицируемыми связями. Нейроны имеют сигмоидальную (реже пороговую) функцию возбуждения. Многослойный персептрон является нелинейным классификатором , т.е. может делить пространство сигнала несколькими плоскостями. Сеть обучается классификации изменением весов связей (также могут изменяться и “смещения”).
2. Математическое описание
Аналогично простому персептрону, каждый нейрон в многослойном персептроне выполняет разделение пространства сигналов гиперплоскостями. Наличие скрытых слоев позволяет объединять эти гиперплоскости операциями ИЛИ, НЕ, И, и получать в результате поверхности любой сложности.
Для обучения нейросети был разработан алгоритм обратного распространения ошибки, являющийся дальнейшим развитием дельта-правила, используемого в простом персептроне.
Введем следующие обозначения:
EW – производная ошибки по весу
EA – производная ошибки по уровню активности элемента
EI – скорость изменения ошибки при изменении входа элемента
X – входной вектор
Y – выходной вектор
W – матрица связей,
f – функция возбуждения (сигмоидальная функция)
(1)
Dj – желаемый выход j-го элемента
E – ошибка классификации
(2)
С использованием этих обозначений можно записать следующие соотношения:
(3)
(4)
(5)
(6)
Т.о., в (6) мы получили EA для следующего слоя, и теперь имеем возможность повторить эти операции для всех нижележащих слоев.
После нахождения матрицы EWij корректируются связи Wij:
(7)
где e – скорость обучения.
3. Алгоритм обучения
Входные данные: обучающая выборка (множество пар вход-выход)
Выходные данные: модифицированные веса связей, при которых нейросеть наиболее эффективно классифицирует обучающую выборку.
1. На вход сети подаётся первый элемент обучающей выборки
2. Вычисляется выход сети Y
3. Вычисляется ошибка E
4. Если E<=E0 для всей выборки, ВЫХОД
5. Вычисляется EAj для каждого элемента слоя (для выходного – по формуле (3), для остальных – по формуле (6) )
6. Вычисляется EIj по формуле
7. Вычисляется EWij по формуле (5)
8. Корректируются связи в соответствии с (7)
9. Повторяются шаги [5-8] для всех слоев
10. Повторить [2-9] для всех элементов обучающей выборки
11. Повторять [1-10], пока сеть не обучится или число итераций не превысит максимально допустимого
Примечание: параметр e (скорость обучения) выбирается исходя из следующих соображений: при большом е будет наблюдаться осцилляция ошибки относительно 0, при слишком малом – малая скорость обучения и возможность локальных минимумов ошибки. Наиболее оптимальным вариантом предполагается большое значение е в начале обучения и постепенное уменьшение до 0.
4. Выводы
Многослойный персептрон с обратным распространением ошибки является наиболее распространенной на сегодняшний день архитектурой нейросети. К его достоинствам можно отнести сравнительную простоту анализа и достаточно высокую эффективность классификации. Благодаря использованию непрерывной функции возбуждения он способен к обобщению обучающей выборки, что хорошо видно на примере (см. приложение).Но все равно в связи с использованием в качестве разделительных поверхностей гиперплоскостей классификация сильно нелинейных сигналов (например, в задаче анализа изображений) требует большого числа нейронов, что не всегда является приемлемым.Выход здесь видится в предварительном преобразовании пространства сигналов с целью уменьшения нелинейностей.