Многослойный перцептрон — частный случай перцептрона Розенблатта, в котором один алгоритм обратного распространения ошибки обучает все слои. Название по историческим причинам не отражает особенности данного вида перцептрона, то есть не связано с тем, что в нём имеется несколько слоёв (так как несколько слоёв было и у перцептрона Розенблатта). Особенностью является наличие более чем одного обучаемого слоя (как правило — два или три). Необходимость в большом количестве обучаемых слоёв отпадает, так как теоретически единственного скрытого слоя достаточно, чтобы перекодировать входное представление таким образом, чтобы получить линейную разделимость для выходного представления. Существует предположение, что, используя большее число слоёв, можно уменьшить число элементов в них, то есть суммарное число элементов в слоях будет меньше, чем если использовать один скрытый слой. Это предположение успешно используется в технологиях глубокого обучения и имеет обоснование[1].
Все виды перцептронов, предложенные Розенблаттом, начиная с 1958 года, являются по современной классификации многослойными. Однако в 1970-е годы интерес к перцептронам снизился, и в 1986 году Румельхарт сконструировал многослойный перцептрон заново. При этом по причине терминологической неточности Румельхарта в литературе[2] распространилось также представление о том, что первоначальный перцептрон Розенблатта был примитивным и однослойным, и лишь Руммельхарт обосновал необходимость введения скрытых слоёв.
В своих исследованиях Розенблатт использовал преимущественно элементарный перцептрон из трёх слоёв, причём веса первого слоя (между S и А элементами) выбирались случайным образом, а затем фиксировались. Сочетание случайности и большого числа нейронов в A-слое обеспечивали высокую вероятность попадания в такое гиперпространство, в котором имелась линейная сепарабельность и гарантировалась сходимость процесса обучения. Однако такой приём тогда не был достаточно изучен и понят, и его некоторые ученые неверно воспринимали как имеющий лишь один «работающий» слой, а фиксированному первому слою не уделяли должного внимания.
В 1969 году Минский и Паперт в своей книге провели критический анализ элементарного перцептрона, выявив ряд ограничений, что послужило причиной снижения интереса к перцептронам у исследователей. Вернувшись через много лет к тематике, Руммельхарт поставил целью создать более эффективный и практичный перцептрон, но для этого нужно было хотя бы сделать попытку продемонстрировать отсутствие ограничений описанных Минским.
В 1986 году Румельхарт публикует сборник статей (коллективную монографию)[3], где он возвращается к дискуссии о перцептронах, и обосновывает необходимость алгоритма обратного распространения ошибки, суть которого в необходимости обучения не только второго, но и первого слоя. При этом он приводит рисунок из книги Минского и Пайперта и подписывает его: «Однослойный перцептрон, анализируемый Минским и Пайпертом». Неточность заключалась в том, что Минский и Пайперт не анализировали однослойный перцептрон; изображённый на рисунке перцептрон Розенблатта был представлен Румельхартом как однослойный, так как первый слой с фиксированными весами был не учтен, отчего без внимания остался факт, что первый слой играл существенную роль в трансформации входного сигнала в многомерное линейно-сепарабельное пространство.
В результате Румельхарт формулирует ошибочный вывод:
В их известной книге «Перцептроны», Минский и Паперт (1969) документируют ограничения перцептрона. Самым простым примером функции, которая не может быть вычислена перцептроном, является «исключающее или» (XOR).
Оригинальный текст (англ.)In their famous book Perceptrons, Minsky and Papert (1969) document the limitations of the perceptron. The simplest example of a function that cannot be computed by the perceptron is the exclusive-or (XOR).
Ссылка на Минского тут недостаточно точна — Минский нигде на протяжении всей своей книги проблему XOR не затрагивал. Кроме того перцептрон Розенблатта решает проблему XOR. Но появление термина «однослойный перцептрон» стало основой ряда недоразумений, вошло в ряд последующих лекций и учебников. В то же время Минский делал не достаточно обоснованное заявление, что «перцептрон работает безупречно только при том условии, что множество исходных данных линейно разделимо», что могло в дальнейшем неверно трактоваться.
Но уже самим автором гипотезы компактности Браверманом Э. М. ещё 1964 году[4] на примере было продемонстрировано как перцептрон Розенблатта решает произвольную задачу не требуя удовлетворения исходных данных гипотезе компактности, а переводя на современную терминологию требовалось лишь достаточность и представительность обучающей выборки:
При трактовке работы персептрона с точки зрения алгоритма потенциалов мы не предъявляли никаких конкретных требований к плоскостям, реализуемым А -элементами. Нам были безразличны коэффициенты плоскостей и направления их «положительных» сторон. Требовалось лишь, чтобы при движении вдоль какой-либо прямой в пространстве рецепторов мы пересекали «с плюса на минус» достаточно большое число плоскостей. Иными словами, в пространстве рецепторов должно было быть достаточно много различным образом ориентированных плоскостей.
Кроме того, на данный момент это заявление Минского опровергнуто С. С. Яковлевым, который анализируя работы Розенблатта, указал какими особенностями архитектуры должен обладать перцептрон (или любая другая нейронная сеть), чтобы формировать пространство признаков, которое удовлетворяет гипотезе компактности. Или что то же самое, описал условия при которых обеспечивается высокая вероятность (более 99,99 %) попадания в такое гиперпространство, в котором имеется линейная сепарабельность и гарантируется сходимость процесса обучения.[5]
Далее, Румельхарт пишет:
Таким образом, мы видим, что XOR не разрешим в двух измерениях, но если мы добавляем соответствующее третье измерение, то есть, соответствующую новую особенность, проблема разрешима. Кроме того, если Вы используете многослойный перцептрон, возможно взять оригинальную двумерную проблему и преобразовать её в соответствующую трехмерную проблему, сделав её решаемой. Действительно, Минский и Паперт знали, что всегда возможно преобразовать любую неразрешимую проблему в разрешимую в многослойном перцептроне. В более общем случае многослойных сетей мы категоризируем элементы в три класса: входные элементы, которые получают входные образцы непосредственно; выходные элементы, для которых есть ассоциативное обучение или выбранный ввод; и скрытые элементы, которые не получают ввод непосредственно и не имеют прямой обратной связи. Это — запас элементов, на основе которых могут быть получены новые свойства и новые внутренние представления. Проблема состоит в том, чтобы знать, какие новые свойства нужны для решения проблемы. Короче говоря, мы должны быть в состоянии обучить промежуточные слои. Вопрос, как? Оригинальная процедура обучения перцептрона относится не более чем к одному слою. Минский и Паперт полагали, что никакая такая общая процедура не может быть найдена.
Оригинальный текст (англ.)Thus, we see that the XOR is not solvable in two dimensions, but if we add the appropriate third dimension, that is, the appropriate new feature, the problem is solvable. Moreover, as indicated in Figure 4, if you allow a multilayered perceptron, it is possible to take the original two-dimensional problem and convert it into the appropriate three-dimensional problem so it can be solved. Indeed, as Minsky and Papert knew, it is always possible to convert any unsolvable problem into a solvable one in a multilayer perceptron. In the more general case of multilayer networks, we categorize units into three classes: input units, which receive the input patterns directly; output units, which have associated teaching or target inputs; and hidden units, which neither receive inputs directly nor are given direct feedback. This is the stock of units from which new features and new internal representations can be created. The problem is to know which new features are required to solve the problem at hand. In short, we must be able to learn intermediate layers. The question is, how? The original perceptron learning procedure does not apply to more than one layer. Minsky and Papert believed that no such general procedure could be found.
Здесь Румельхарт видит решение в том, что необходимо «взять оригинальную двумерную проблему и преобразовать это в соответствующую трехмерную проблему», и обосновывает принципиальную важность многослойности, ошибочно считая что перцептрон Розенблатта этим качеством не обладает. Разница только в том, что Розенблатт смог избежать обучения первого слоя, используя его случайную проекцию на многомерное пространство. Кроме того, Розенблаттом рассматривался полный аналог многослойного перцептрона Румельхарта, под названием перцептрон с переменными S-A связями, где помимо прочего было доказано, что процедура обучения аналогичная обратному распространению ошибки не всегда может гарантировать достижение решения (обеспечить сходимость).
Нужно отметить, что не только Румельхарт разработал метод обратного распространения ошибки, а уже существовали теоретически работы других исследователей, посвященные тому же вопросу:
но именно работа Руммельхарта возродила практический интерес к перцептронам.
В этой связи интересны слова Уоссермена[10] :
![]() | Хотя подобное дублирование является обычным явлением для каждой научной области, в искусственных нейронных сетях положение с этим намного серьёзнее из-за пограничного характера самого предмета исследования. Исследования по нейронным сетям публикуются в столь различных книгах и журналах, что даже самому квалифицированному исследователю требуются значительные усилия, чтобы быть осведомленным о всех важных работах в этой области. | ![]() |
По причине этих неточностей в литературе распространилось ошибочное мнение о примитивности перцептрона Розенблатта, и что лишь Руммельхарт, создав свой многослойный перцептрон, открыв принципиальную возможность производить линейную сепарацию и решать проблему XOR, хотя открытие Руммельхарта состояло преимущественно в практической модификации многослойной схемы и разработке принципиально нового метода обучения.
В 1988 году Минский переиздал книгу «Перцептроны», в которую включил новые главы. В них, в частности, анализируются отличия между обучением перцептрона методом коррекции ошибки и обучением многослойного перцептрона Румельхарта методом обратного распространения ошибки. Минский показал, что качественно отличий нет, оба способа решают сопоставимые задачи и с той же эффективностью и ограничениями. Разница лишь в способе достижения решения.
Среди отличий многослойного перцептрона Румельхарта от перцептрона Розенблатта можно выделить следующие:
Многослойный перцептрон будет обладать функциональными преимуществами по сравнению с перцептроном Розенблатта только в том случае, если в ответ на стимулы не просто будет выполнена какая-то реакция (поскольку уже в перцептроне может быть получена реакция любого типа), а выразится в повышении эффективности выработки таких реакций. Например, улучшится способность к обобщению, то есть к правильным реакциям на стимулы которым перцептрон не обучался. Но на данный момент таких обобщающих теорем нет, существует лишь масса исследований различных стандартизированных тестов, на которых сравниваются различные архитектуры.
Данная страница на сайте WikiSort.ru содержит текст со страницы сайта "Википедия".
Если Вы хотите её отредактировать, то можете сделать это на странице редактирования в Википедии.
Если сделанные Вами правки не будут кем-нибудь удалены, то через несколько дней они появятся на сайте WikiSort.ru .