Многослойный персептрон
Каким же образом в многослойных (иерархических) нейронных сетях преодолевается принципиальное ограничение однослойных нейронных сетей, связанное с требованием линейной разделимости классов?
Часто то, что не удается сделать сразу, вполне возможно сделать по частям. Для этого изменяются задачи, решаемые слоями нейронной сети. Оказывается в 1-м слое не следует пытаться на основе первичных признаков, фиксируемых рецепторами, сразу идентифицировать классы, а нужно лишь сформировать линейно-разделимую систему вторичных признаков, которую уже во 2-м слое связать с классами (рисунок 76).
Рисунок 76. Двух-слойный персептрон [187] |
В многослойной сети выходные сигналы нейронов предыдущего слоя играют роль входных сигналов для нейронов последующего слоя, т.е. нейроны предыдущего слоя выступают в качестве рецепторов для нейронов последующего слоя.
Связи между смежными слоями нейронов будем называть непосредственными, а связи между слоями, разделенными N промежуточных слоев, будем называть связями N-го уровня опосредованности. Непосредственные связи – это связи 0-го уровня опосредованности. Промежуточные слои нейронов в многослойных сетях называют скрытыми.
Персептрон переводит входной образ, определяющий степени возбуждения рецепторов, в выходной образ, определяемый нейронами самого верхнего уровня, которых обычно, не очень много. Состояния возбуждения нейронов на верхнем уровне иерархии сети характеризуют принадлежность входного образа к тем или иным классам.
Таким образом, многослойный персептрон – это обучаемая распознающая система, реализующая корректируемое в процессе обучения линейное решающее правило в пространстве вторичных признаков, которые обычно являются фиксированными случайно выбранными линейными пороговыми функциями от первичных признаков.
При обучении на вход персептрона поочередно подаются сигналы из обучающей выборки, а также указания о классе, к которому следует отнести данный сигнал. Обучение перцептрона заключается в коррекции весов при каждой ошибке распознавания, т.
е. при каждом случае несовпадения решения, выдаваемого персептроном, и истинного класса. Если персептрон ошибочно отнес сигнал, к некоторому классу, то веса функции, истинного класса увеличиваются, а ошибочного уменьшаются. В случае правильного решения все веса остаются неизменными.
Этот чрезвычайно простой алгоритм обучения обладает замечательным свойством: если существуют значения весов, при которых выборка может быть разделена безошибочно, то при определенных, легко выполнимых условиях эти значения будут найдены за конечное количество итераций.
При идентификации, распознавании, прогнозировании на вход многослойного персептрона поступает сигнал, представляющий собой набор первичных признаков, которые и фиксируются рецепторами. Сначала вычисляются вторичные признаки. Каждому такому вторичному признаку соответствует линейная от первичных признаков. Вторичный признак принимает значение 1, если соответствующая линейная функция превышает порог. В противном случае она принимает значение 0. Затем для каждого из классов вычисляется функция, линейная относительно вторичных признаков. Перцептрон вырабатывает решение о принадлежности входного сигнала к тому классу, которому соответствует функция от вторичных параметров, имеющая наибольшее значение.
Показано, что для представления произвольного нелинейного функционального отображения, задаваемого обучающей выборкой, достаточно всего двух слоев нейронов. Однако на практике, в случае сложных функций, использование более чем одного скрытого слоя может давать экономию полного числа нейронов.