Многослойный перцептрон Румельхарта

Материал из Википедии — свободной энциклопедии
Перейти к: навигация, поиск
Архитектура многослойного перцептрона

Многослойный перцептрон — частный случай перцептрона Розенблатта, в котором один алгоритм обратного распространения ошибки обучает все слои. Название по историческим причинам не отражает особенности данного вида перцептрона, то есть не связано с тем, что в нём имеется несколько слоёв (так как несколько слоёв было и у перцептрона Розенблатта). Особенностью является наличие более чем одного обучаемого слоя (как правило — два или три, для применения большего числа на данный момент нет обоснования, так как теряется скорость без приобретения качества). Необходимость в большом количестве обучаемых слоёв отпадает, так как теоретически единственного скрытого слоя достаточно, чтобы перекодировать входное представление таким образом, чтобы получить линейную разделимость для выходного представления. Существует предположение, что, используя большее число слоёв, можно уменьшить число элементов в них, то есть суммарное число элементов в слоях будет меньше, чем если использовать один скрытый слой.

История формирование понятия о многослойном перцептроне[править | править вики-текст]

Все виды перцептронов, предложенные Розенблаттом, начиная с 1958 года, являются по современной классификации многослойными. Однако в 1970-е годы интерес к перцептронам снизился, и в 1986 году Румельхарт сконструировал многослойный перцептрон заново. При этом по причине терминологической неточности Румельхарта в литературе [1] распространилось также представление о том, что первоначальный перцептрон Розенблатта был примитивным и однослойным, и лишь Руммельхарт обосновал необходимость введения скрытых слоёв.

В своих исследованиях Розенблатт использовал преимущественно элементарный перцептрон из трёх слоёв, причём веса первого слоя (между S и А элементами) выбирались случайным образом, а затем фиксировались. Сочетание случайности и большого числа нейронов в A-слое обеспечивали высокую вероятность попадания в такое гиперпространство, в котором имелась линейная сепарабельность и гарантировалась сходимость процесса обучения. Однако такой приём тогда не был достаточно изучен и понят, и его некоторые ученые неверно воспринимали как имеющий лишь один "работающий" слой, а фиксированному первому слою не уделяли должного внимания.

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

В 1986 году Румельхарт публикует сборник статей (коллективную монографию) [2], где он возвращается к дискуссии о перцептронах, и обосновывает необходимость алгоритма обратного распространения ошибки, суть которого в необходимости обучения не только второго, но и первого слоя. При этом он приводит рисунок из книги Минского и Пайперта и подписывает его: «Однослойный перцептрон, анализируемый Минским и Пайпертом». Неточность заключалась в том, что Минский и Пайперт не анализировали однослойный перцептрон; изображённый на рисунке перцептрон Розенблатта был представлен Румельхартом как однослойный, так как первый слой с фиксированными весами был не учтен, отчего без внимания остался факт, что первый слой играл существенную роль в трансформации входного сигнала в многомерное линейно-сепарабельное пространство.

В результате Румельхарт формулирует ошибочный вывод:

В их известной книге «Перцептроны», Минский и Паперт (1969) документируют ограничения перцептрона. Самым простым примером функции, которая не может быть вычислена перцептроном, является "исключающее или" (XOR).

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

Но уже самим автором гипотезы компактности Браверманом Э. М. ещё 1964 году [3] на примере было продемонстрировано как перцептрон Розенблатта решает произвольную задачу не требуя удовлетворения исходных данных гипотезе компактности, а переводя на современную терминологию требовалось лишь достаточность и представительность обучающей выборки:

При трактовке работы персептрона с точки зрения алгоритма потенциалов мы не предъявляли никаких конкретных требований к плоскостям, реализуемым А -элементами. Нам были безразличны коэффициенты плоскостей и направления их «положительных» сторон. Требовалось лишь, чтобы при движении вдоль какой-либо прямой в пространстве рецепторов мы пересекали «с плюса на минус» достаточно большое число плоскостей. Иными словами, в пространстве рецепторов должно было быть достаточно много различным образом ориентированных плоскостей.

Кроме того, на данный момент это заявление Минского опровергнуто С.С. Яковлевым, который анализируя работы Розенблатта, указал какими особенностями архитектуры должен обладать перцептрон (или любая другая нейронная сеть), чтобы формировать пространство признаков, которое удовлетворяет гипотезе компактности. Или что то же самое, описал условия при которых обеспечивается высокая вероятность (более 99,99 %) попадания в такое гиперпространство, в котором имеется линейная сепарабельность и гарантируется сходимость процесса обучения. [4]

Далее, Румельхарт пишет:

Таким образом, мы видим, что XOR не разрешим в двух измерениях, но если мы добавляем соответствующее третье измерение, то есть, соответствующую новую особенность, проблема разрешима. Кроме того, если Вы используете многослойный перцептрон, возможно взять оригинальную двумерную проблему и преобразовать её в соответствующую трехмерную проблему, сделав её решаемой. Действительно, Минский и Паперт знали, что всегда возможно преобразовать любую неразрешимую проблему в разрешимую в многослойном перцептроне. В более общем случае многослойных сетей мы категоризируем элементы в три класса: входные элементы, которые получают входные образцы непосредственно; выходные элементы, для которых есть ассоциативное обучение или выбранный ввод; и скрытые элементы, которые не получают ввод непосредственно и не имеют прямой обратной связи. Это - запас элементов, на основе которых могут быть получены новые свойства и новые внутренние представления. Проблема состоит в том, чтобы знать, какие новые свойства нужны для решения проблемы. Короче говоря, мы должны быть в состоянии обучить промежуточные слои. Вопрос, как? Оригинальная процедура обучения перцептрона относится не более чем к одному слою. Минский и Паперт полагали, что никакая такая общая процедура не может быть найдена.

Здесь Румельхарт видит решение в том, что необходимо «взять оригинальную двумерную проблему и преобразовать это в соответствующую трехмерную проблему», и обосновывает принципиальную важность многослойности, ошибочно считая что перцептрон Розенблатта этим качеством не обладает. Разница только в том, что Розенблатт смог избежать обучения первого слоя, используя его случайную проекцию на многомерное пространство. Кроме того, Розенблаттом рассматривался полный аналог многослойного перцептрона Румельхарта, под названием перцептрон с переменными S-A связями, где помимо прочего было доказано, что процедура обучения аналогичная обратному распространению ошибки не всегда может гарантировать достижение решения (обеспечить сходимость).

Нужно отметить, что не только Румельхарт разработал метод обратного распространения ошибки, а уже существовали теоретически работы других исследователей, посвященные тому же вопросу:

  1. Werbos P. J. [5]
  2. Галушкин А. И. [6].
  3. С. И. Барцев и В. А. Охонин, Красноярская группа, публикуют более общую версию метода обратного распространения ошибки — принцип двойственности, применимый также и к бесконечномерным системам, системам с запаздыванием и т. п.[7][8]

но именно работа Руммельхарта возродила практический интерес к перцептронам.

В этой связи интересны слова Уоссермена [9] :

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

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

Отличия многослойного перцептрона от перцептрона Розенблатта[править | править вики-текст]

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

Среди отличий многослойного перцептрона Румельхарта от перцептрона Розенблатта можно выделить следующие:

  • Использование нелинейной функции активации, как правило сигмоидальной.
  • Число обучаемых слоев больше одного. Чаще всего в приложениях используется не более трёх.
  • Сигналы поступающие на вход, и получаемые с выхода не бинарные, а могут кодироваться десятичными числами, которые нужно нормализовать, так чтобы значения были на отрезке от 0 до 1 (нормализация необходима как минимум для выходных данных, в соответствии с функцией активации — сигмоидой).
  • Допускается произвольная архитектура связей (в том числе, и полносвязные сети).
  • Ошибка сети вычисляется не как число неправильных образов после итерации обучения, а как некоторая статистическая мера невязки между нужным и получаемым значением.
  • Обучение проводится не до отсутствия ошибок после обучения, а до стабилизации весовых коэффициентов при обучении или прерывается ранее, чтобы избежать переобучения.

Многослойный перцептрон будет обладать функциональными преимуществами по сравнению с перцептроном Розенблатта только в том случае, если в ответ на стимулы не просто будет выполнена какая-то реакция (поскольку уже в перцептроне может быть получена реакция любого типа), а выразится в повышении эффективности выработки таких реакций. Например, улучшится способность к обобщению, то есть к правильным реакциям на стимулы которым перцептрон не обучался. Но на данный момент таких обобщающих теорем нет, существует лишь масса исследований различных стандартизированных тестов, на которых сравниваются различные архитектуры.

Примечания[править | править вики-текст]

  1. например, в Уоссермен, Ф. Нейрокомпьютерная техника: Теория и практика = Neural Computing. Theory and Practice. — М.: Мир, 1992. — 240 с. — ISBN 5-03-002115-9
  2. Parallel Distributed Processing: Explorations in the Microstructures of Cognition / Ed. by Rumelhart D. E. and McClelland J. L.— Cambridge, MA: MIT Press, 1986.
  3. Обучение машины классификации объектов, Аркадьев А. Г., Браверман Э. М., Изд-во «Наука», Главная редакция физико-математической литературы, М., 1971, 192 стр.
  4. S. Jakovlev Архитектура перцептрона, обеспечивающая компактность описания образов = Perceptron architecture ensuring pattern description compactnes // Scientific proceedings of Riga Technical University, RTU. — Riga, 2009.
  5. Werbos P. J. 1974. Beyond regression: New tools for prediction and analysis in the behavioral sciences. PhD thesis, Harward University
  6. Галушкин А. И. Синтез многослойных систем распознавания образов. — М.: «Энергия», 1974.
  7. Барцев С. И., Охонин В. А. Адаптивные сети обработки информации. Красноярск : Ин-т физики СО АН СССР, 1986. Препринт N 59Б. — 20 с.
  8. Горбань А. Н., Обучение нейронных сетей. М.: изд. СССР-США СП «Параграф», 1990. 160 с.
  9. Уоссермен, Ф. Нейрокомпьютерная техника: Теория и практика = Neural Computing. Theory and Practice. — М.: Мир, 1992. — 240 с.

См. также[править | править вики-текст]

Литература[править | править вики-текст]

  • Ф. Уоссермен Нейрокомпьютерная техника: Теория и практика. — М.: «Мир», 1992.
  • Саймон Хайкин Нейронные сети: полный курс = Neural Networks: A Comprehensive Foundation. — 2-е изд. — М.: «Вильямс», 2006. — С. 1104. — ISBN 0-13-273350-1

Ссылки[править | править вики-текст]