Многослойный перцептрон РумельхартаМногослойный перцептрон — частный случай перцептрона Розенблатта, в котором один алгоритм обратного распространения ошибки обучает все слои. Название по историческим причинам не отражает особенности данного вида перцептрона, то есть не связано с тем, что в нём имеется несколько слоёв (так как несколько слоёв было и у перцептрона Розенблатта). Особенностью является наличие более чем одного обучаемого слоя (как правило — два или три). Необходимость в большом количестве обучаемых слоёв отпадает, так как теоретически единственного скрытого слоя достаточно, чтобы перекодировать входное представление таким образом, чтобы получить линейную разделимость для выходного представления. Существует предположение, что, используя большее число слоёв, можно уменьшить число элементов в них, то есть суммарное число элементов в слоях будет меньше, чем если использовать один скрытый слой. Это предположение успешно используется в технологиях глубокого обучения и имеет обоснование[1]. История возникновения понятия о многослойном перцептронеВсе виды перцептронов, предложенные Розенблаттом, начиная с 1958 года, являются по современной классификации многослойными. Однако в 1970-е годы интерес к перцептронам снизился, и в 1986 году Румельхарт сконструировал многослойный перцептрон заново. При этом по причине терминологической неточности Румельхарта в литературе[2] распространилось также представление о том, что первоначальный перцептрон Розенблатта был примитивным и однослойным, и лишь Руммельхарт обосновал необходимость введения скрытых слоёв. В своих исследованиях Розенблатт использовал преимущественно элементарный перцептрон из трёх слоёв, причём веса первого слоя (между S и А элементами) выбирались случайным образом, а затем фиксировались. Сочетание случайности и большого числа нейронов в A-слое обеспечивали высокую вероятность попадания в такое гиперпространство, в котором имелась линейная сепарабельность и гарантировалась сходимость процесса обучения. Однако такой приём тогда не был достаточно изучен и понят, и его некоторые ученые неверно воспринимали как имеющий лишь один «работающий» слой, а фиксированному первому слою не уделяли должного внимания. В 1969 году Минский и Паперт в своей книге провели критический анализ элементарного перцептрона, выявив ряд ограничений, что послужило причиной снижения интереса к перцептронам у исследователей. Вернувшись через много лет к тематике, Руммельхарт поставил целью создать более эффективный и практичный перцептрон, но для этого нужно было хотя бы сделать попытку продемонстрировать отсутствие ограничений описанных Минским. В 1986 году Румельхарт публикует сборник статей (коллективную монографию)[3], где он возвращается к дискуссии о перцептронах, и обосновывает необходимость алгоритма обратного распространения ошибки, суть которого в необходимости обучения не только второго, но и первого слоя. При этом он приводит рисунок из книги Минского и Пайперта и подписывает его: «Однослойный перцептрон, анализируемый Минским и Пайпертом». Неточность заключалась в том, что Минский и Пайперт не анализировали однослойный перцептрон; изображённый на рисунке перцептрон Розенблатта был представлен Румельхартом как однослойный, так как первый слой с фиксированными весами был не учтен, отчего без внимания остался факт, что первый слой играл существенную роль в трансформации входного сигнала в многомерное линейно-сепарабельное пространство. В результате Румельхарт формулирует ошибочный вывод:
Ссылка на Минского тут недостаточно точна — Минский нигде на протяжении всей своей книги проблему XOR не затрагивал. Кроме того перцептрон Розенблатта решает проблему XOR. Но появление термина «однослойный перцептрон» стало основой ряда недоразумений, вошло в ряд последующих лекций и учебников. В то же время Минский делал не достаточно обоснованное заявление, что «перцептрон работает безупречно только при том условии, что множество исходных данных линейно разделимо», что могло в дальнейшем неверно трактоваться. Но уже самим автором гипотезы компактности Браверманом Э. М. ещё 1964 году[4] на примере было продемонстрировано как перцептрон Розенблатта решает произвольную задачу не требуя удовлетворения исходных данных гипотезе компактности, а переводя на современную терминологию требовалось лишь достаточность и представительность обучающей выборки:
Кроме того, на данный момент это заявление Минского опровергнуто С. С. Яковлевым, который анализируя работы Розенблатта, указал какими особенностями архитектуры должен обладать перцептрон (или любая другая нейронная сеть), чтобы формировать пространство признаков, которое удовлетворяет гипотезе компактности. Или что то же самое, описал условия при которых обеспечивается высокая вероятность (более 99,99 %) попадания в такое гиперпространство, в котором имеется линейная сепарабельность и гарантируется сходимость процесса обучения.[5] Далее, Румельхарт пишет:
Здесь Румельхарт видит решение в том, что необходимо «взять оригинальную двумерную проблему и преобразовать это в соответствующую трехмерную проблему», и обосновывает принципиальную важность многослойности, ошибочно считая что перцептрон Розенблатта этим качеством не обладает. Разница только в том, что Розенблатт смог избежать обучения первого слоя, используя его случайную проекцию на многомерное пространство. Кроме того, Розенблаттом рассматривался полный аналог многослойного перцептрона Румельхарта, под названием перцептрон с переменными S-A связями, где помимо прочего было доказано, что процедура обучения аналогичная обратному распространению ошибки не всегда может гарантировать достижение решения (обеспечить сходимость). Не только Румельхарт разработал метод обратного распространения ошибки, а уже существовали теоретически работы других исследователей, посвященные тому же вопросу:
но именно работа Руммельхарта возродила практический интерес к перцептронам. В этой связи Уоссермен[10] сказал:
По причине этих неточностей в литературе распространилось ошибочное мнение о примитивности перцептрона Розенблатта, и что лишь Руммельхарт, создав свой многослойный перцептрон, открыв принципиальную возможность производить линейную сепарацию и решать проблему XOR, хотя открытие Руммельхарта состояло преимущественно в практической модификации многослойной схемы и разработке принципиально нового метода обучения. Отличия многослойного перцептрона от перцептрона РозенблаттаВ 1988 году Минский переиздал книгу «Перцептроны», в которую включил новые главы. В них, в частности, анализируются отличия между обучением перцептрона методом коррекции ошибки и обучением многослойного перцептрона Румельхарта методом обратного распространения ошибки. Минский показал, что качественно отличий нет, оба способа решают сопоставимые задачи и с той же эффективностью и ограничениями. Разница лишь в способе достижения решения. Существуют следующие отличия многослойного перцептрона Румельхарта от перцептрона Розенблатта:
Многослойный перцептрон будет обладать функциональными преимуществами по сравнению с перцептроном Розенблатта только в том случае, если в ответ на стимулы не просто будет выполнена какая-то реакция (поскольку уже в перцептроне может быть получена реакция любого типа), а выразится в повышении эффективности выработки таких реакций. Например, улучшится способность к обобщению, то есть к правильным реакциям на стимулы, которым перцептрон не обучался. Но на данный момент таких обобщающих теорем нет, существует лишь множество исследований различных стандартизированных испытаний, на которых сравниваются различные архитектуры. См. такжеПримечания
Литература
Ссылки
|
Portal di Ensiklopedia Dunia