Всё, что вы хотели знать о перцептронах Розенблатта, но боялись спросить

Вы, наверно, знаете, что перцептрон Розенблатта, изобретённый в середине XX-го века, стал прообразом современных нейронных сетей. Однако многое из того, что известно нам о нём и его создателе, не соответствует действительности. В продолжение серии статей об историческом развитии искусственного интеллекта попробуем разобраться, что является искажением фактов в рассказах об одном из основоположников машинного обучения, и почему он — действительно важная фигура в истории ИИ.
Фрэнк Розенблатт. Источник фото
Начнём издалека: в 1943-м году появилась модель Мак-Каллока-Питтса, и это стало поворотной точкой в истории искусственных нейронных сетей. Уже на заре развития этого направления в нём выделились два подхода — монотипический и генотипический (так окрестил их герой нашего поста, Фрэнк Розенблатт). В монотипическом подходе параметры нейронов задаются изначально и топология сети полностью фиксирована, а в генотипическом они задаются только частично. Таким образом, при использовании генотипического подхода мы проектируем не одну конкретную сеть, а задаём множество возможных сетей. Отсюда следует важное отличие генотипического подхода — наличие механизма обучения, предназначенного для выбора конкретных параметров сети. На первых порах генотипистам мешало сильное влияние символьной логики. Так вышло из-за того, что изучение сознания 30-40-е проходило в рамках этой парадигмы. Данные нейрофизиологии свидетельствовали в пользу того, что информация в мозге передаётся с помощью коротких импульсов (спайков), поэтому для Мак-Каллока с Питтсом было естественно считать мозг цифровой машиной, оперирующей нулями и единицами. Кроме того, Питтс как ученик Рассела и Карнапа, ещё до того, как стал заниматься нейронными сетями, был поклонником символьной логики. Об этом можно узнать больше из нашей предыдущей статьи.
В работах Мак-Каллока и Питтса вы не найдёте исследований методов обучения нейросетей. Им удалось лишь сформулировать концепцию нейронных сетей и доказать её право на существование (по-английски это называется «proof-of-concept»). Более того, они даже не потрудились формально доказать, что их модель тьюринг-полная: в их кругу это считалось само собой разумеющимся. Но проблема обучения сетей активно обсуждалась в кибернетических кругах, и первый подход к ней совершили ученики Мак-Каллока. В полной же мере она была проанализирована именно нашим героем.
На чьих плечах стоял Розенблатт
Конечно, нейросеть вполне можно использовать и без обучения, «сконструировав» её вручную. Однако человеческий мозг способен к самообучению, и соблазн получить машины, обладающие тем же свойством, был весьма велик. Поэтому неудивительно, что сразу после появления сетей Мак-Каллока и Питтса начались первые «подходы к снаряду». В 1948 году два ученика Мак-Каллока, Анатоль Рапопорт и Альфонсо Шимбел из Чикагского университета, описали семейство статистически организованных сетей. Они рассматривали различные параметры нейрона и его компонентов в качестве случайных величин с некоторыми вероятностными распределениями. Из них они вывели общее уравнение для расчёта вероятности того, что нейрон в указанном месте сработает в определённое время.
В 1949 вышла работа Дональда Хебба, в которой сформулирован известный сегодня под названием «хеббовского обучения» принцип: «Когда аксон клетки A находится достаточно близко, чтобы возбудить клетку B, и многократно или постоянно принимает участие в её срабатывании, в одной или обеих клетках происходит некоторый процесс роста или метаболические изменения, таким образом, что эффективность A, как одной из клеток, возбуждающих B, растёт». Вопреки распространённому заблуждению, Хебб не был первооткрывателем этой идеи, в той или иной мере она встречается у Торндайка и Павлова, однако именно Хебб сформулировал её в явном виде и познакомил с ней исследователей в области искусственных нейронных сетей. Часто этот принцип афористично формулируют как «нейроны, которые возбуждаются вместе, связываются вместе» [Neurons that fire together, wire together]. Хеббовский принцип оказался пригодным для того, чтобы на базе его сформировать практический алгоритм обучения нейросетей, что и не преминули сделать Бельмонт Фарли и Уэсли Кларк. Они начали учить хеббовские сети на цифровой машине MTC (Memory Test Computer). Но их работы остались не замечены научным сообществом.
Марвин Минский тоже работал в этом направлении. В 1951 году он, вместе с Джорджем Миллером и Дином Эдмондсом, осуществил проект под названием SNARС (стохастический нейронный аналоговый калькулятор с подкреплением), в рамках которого «электронная крыса» бегала по электронному лабиринту и пыталась отыскать выход. Машина, моделирующая поведение крысы, представляла собой случайное соединение 40 искусственных нейронов, каждый на базе шести электроламп и двигателя. Кстати, их машина была, вероятно, первой самообучающейся электронной системой. Первую электромеханическую самообучающуюся машину годом раньше создал Клод Шеннон в рамках проекта «Тесей»; также при рассмотрении самообучающихся систем часто забывают о «Гомеостате» У. Росса Эшби. В основе этой системы лежали жидкостные реостаты.
Розенблатт вслед за этими учёными собрал и систематизировал разрозненные усилия по разработке архитектур и алгоритмов обучения.
Перцептрон Розенблатта во всей красе
Свою исследовательскую работу Розенблатт вёл в Авиационной лаборатории Корнельского университета. В январе 1957-го года секция Розенблатта опубликовала первый отчёт по проекту «Перцептрон: воспринимающий и распознающий автомат», где впервые введено определение этой штуковины. При этом подчеркивается, что система основана на вероятностных, а не на детерминистских принципах.
Что конкретно представляет собой описанный там перцептрон? Это система, состоящая из трёх слоёв элементов: S (сенсорного), A (ассоциативного) и R (реагирующего). При этом обучаемые веса есть только между двумя последними слоями нейронов (A → R) подвергаются коррекции в процессе обучения. Слой синаптических связей S → A также содержит веса, но они не меняются в процессе обучения, их можно только конфигурировать вручную. Их значения могут быть равны либо «1», либо «−1», что соответствует возбуждающему синапсу и тормозящему синапсам. Также могли существовать абсолютно тормозящие синапсы, то есть такие, веса которых можно было принять равными минус бесконечности. По всей видимости, это рудимент модели Мак-Каллока и Питтса.
Нейрон перцептрона отличается от нейрона Мак-Каллока и Питтса тем, что у него появились веса синапсов — числовые значения.
Перцептрон Розенблатта. Входной (сенсорный), скрытый (ассоциативный) и выходной (реагирующий) слои нейронов.

Так вот, линейный классификатор — это способ решения задач классификации, когда решение принимается на основании линейного оператора над входными данными. Линейный классификатор способен решать задачи с линейно разделимыми прецедентами.
Важной заслугой Розенблатта было то, что он доказал сходимость перцептрона. Метод коррекции ошибки, предложенный учёным, гарантировал, что параметры перцептрона, необходимые для решения задачи, будут найдены за конечное количество шагов обучения, независимо от начального значения синаптических весов и последовательности поступления элементов обучающей выборки.
Первая версия перцептрона была смоделирована при помощи компьютера IBM 704.
Обучившись, программа Розенблатта была способна успешно распознавать различные геометрические фигуры (круги, квадраты, треугольники). Затем была создана и аппаратная версия перцептрона — первый в мире нейрокомпьютер «Mark I Perceptron». (кстати, эта работа дала начало новому направлению в вычислительной технике — нейроморфной инженерии). Это была здоровенная махина, состоящая из множества элементов, издававших треск. Каждый элемент представлял собой соединение электромотора и потенциометра. Электромоторы были нужны для поворота ручек потенциометров (переменных резисторов). Поворот ручки приводил к изменению электрического сопротивления потенциометра. По воспоминаниям Бернарда Уидроу (это профессор Стэнфордского университета, занимавшийся нейронными сетями в 1960-х), ездившего к Розенблатту в гости, всё работало довольно плохо. Впрочем, поскольку сам Уидроу был разработчиком альтернативной аппаратной реализации искусственной нейронной сети, основанной на принципах электрохимии (ADALINE), его можно заподозрить в необъективности. Так или иначе, Розенблатт смог на таких «дурацких» элементах построить работающее устройство. Он и команда его коллег из SRI (Stanford Research Institute) опробовали перцептрон на некоторых прикладных задачах, например на задаче распознавания написанных от руки печатных букв, условных обозначений на картах, а также танков на данных аэрофотосъемки.
«Mark I Perceptron» был оснащён коммутационной панелью. Соединяя гнёзда панели проводами, можно было программировать входной слой перцептрона. Входные данные поступали в машину при помощи модуля ввода, для этого входное изображение подсвечивалось мощным источником света и проецировалось на матрицу размером 20×20, состоящую из фотоэлементов на основе сульфида кадмия. Несложно заметить, что перцептрон Mark I был фотоперцептроном, то есть, перцептроном, предназначенным для работы с визуальными данными.
Вопреки распространённому мнению, «Mark I Perceptron» не был в строгом смысле однослойной сетью, хотя не был и вполне многослойной. Под однослойным перцептроном обычно понимают такой, у которого два слоя нейронов — входной и выходной, и нет промежуточного ассоциативного слоя (А-слоя). Иными словами, у него один слой синаптических связей с настраиваемыми коэффициентами — между нейронами входного слоя и нейронами выходного слоя. А у «Mark I Perceptron» было два конфигурируемых слоя коэффициентов. Хотя один из них и конфигурировался вручную.
В литературе иногда допускают неточность, употребляя словосочетание «альфа-перцептрон» в значении «Mark I Perceptron». В действительности же альфа-перцептроном назывался такой перцептрон, обучение которого выполнялось по так называемой альфа-стратегии. «Mark I» в этом смысле действительно был альфа-перцептроном, но отнюдь не синонимичен ему.
В 1963 году у Розенблатта появилась ещё одна аппаратная разработка — устройство «Тобермори», названное в честь литературного персонажа — кота, который научился говорить. Бытуют слухи, что у Розенблатта был и кот с таким именем. Технически «Тобермори» представлял собой фоноперцептрон, то есть такой, который работает со звуковыми данными. Информация поступала с магнитной ленты, микрофона и некоторых других устройств. Вообще Розенблатт рассматривал перцептрон как систему, которая потенциально может анализировать любые данные. Он, например, задумывался и о радиоперцептронах. Розенблатт мечтал, что когда-нибудь его машина сможет и опознать предмет, и назвать его вслух.
Розенблатт не изучал многослойные сети?
Бытует заблуждение, что, якобы, Розенблатт не изучал многослойные сети, и что все рассмотренные им перцептроны были однослойными. Но это не так, Розенблатт активно изучал многослойные сети. В книге «Принципы нейродинамики: Перцептроны и теория механизмов мозга», выпущенной в 1961-м году, он сначала описывает «трёхслойные системы с переменными S—A связями», прежде чем перейти к описанию многослойных перцептронов и перцептронов с перекрёстными связями. Он рассмотрел и перцептроны без А-слоя, и перцептроны с одним ассоциативным слоем, и с двумя, и так далее, и даже придумал свой алгоритм обучения глубоких нейронных сетей, не похожий на метод градиентного спуска, хотя и названный методом обратного распространения ошибки.
Перцептроны Розенблатта отличались лишь в некоторых деталях от нейронных сетей, предложенных ранее Фарли и Кларком, а также рядом британских исследователей, таких как Реймонд Бёрл, Уилфред Тейлор и Альберт Аттли. Вклад Розенблатта заключался в развитии математического аппарата теории нейронных сетей, а также в обширных экспериментальных исследованиях в этой области. Именно Розенблатт, стремясь подчеркнуть особую важность связей между нейронами, изобрёл термин «коннекционизм», используемый сегодня для обозначения подхода в области искусственного интеллекта (а также когнитивистики, нейробиологии, психологии и философии сознания), в рамках которого мыслительные или поведенческие явления моделируются при помощи процессов, происходящих в сетях, состоящих из связанных между собой простых элементов (введённое позже более общее понятие «параллельная распределённая обработка» отражает тот факт, что в искусственных нейронных сетях и подобных им моделях большое количество относительно простых процессоров работает параллельно, и то, что сети хранят информацию распределённым образом).
Розенблатт разделил нейронные сети на простые двухслойные (один слой для ввода, а второй для вывода) и многослойные сети (с одним или несколькими промежуточными слоями). Он обобщил тип обучающей процедуры, использованной Фарли и Кларком при обучении двухслойных сетей, таким образом, чтобы её можно было применять и к многослойным сетям.
Эта процедура была позаимствована из работ Бельмонта Фарли и Уэсли Кларка и модифицирована так, чтобы её можно было применять и к многослойным сетям. Кроме того, Розенблатт показывает, что многослойные сети не обязательно сходятся при использовании детерминистских алгоритмов обучения, поэтому при обучении таких систем необходимо задействовать стохастические, то есть включающие в себя элемент случайности, алгоритмы.
Заблуждение, что Розенблатт не рассматривал многослойные сети, закралось в литературу после того, как Дэвид Эверетт Румельхарт, человек, который «переоткрыл» перцептроны, описав их в своих трудах, каким-то образом умудрился не заметить, что у перцептрона «Mark I» в рецептивном слое есть веса, и что Розенблатт изучал многослойные сети. Судя по тому, что он также утверждал, что многие описанные в «Принципах нейродинамики» вещи он изобрел самостоятельно, он толком не читал поздние работы Розенблатта, ограничившись лишь ранними статьями.
С именем Румельхарта связан ренессанс нейронных сетей. Со своим коллегой Доном Норманом он издал серию книг «Explorations in Cognition»; из его с Джеймсом Макклелландом, не без влияния Джеффри Хинтона, работ выросло всё современное глубокое обучение. Поэтому его заблуждение в отношении исследований Розенблатта были воспроизведены многократно.
Критика Минского и Пейперта
Минский и Пейперт в ответ на исследования Розенблатта написали целую книгу под названием «Перцептроны». Как мы уже знаем, для Минского тема была отнюдь не нова, нейросетевым моделям была посвящена его диссертация. Однако ограничения, о которых он и Пейперт пишут в своей книге, относятся лишь к отдельным архитектурам, и то только в применении к некоторым классам задач. В книге авторы показывают, что перцептрон с единственным ассоциативным слоем не может вычислять некоторые предикаты, если по крайней мере один из нейронов в А-слое не связан ненулевым весом с каждым из входных нейронов.
Тут необходимо пояснение: Розенблатт был хорошо знаком с работами Дэвида Хьюбела и Торстена Визеля, которые описывают исследования зрительной коры кошек. Эти исследования показали, что сигнал из зрительного нерва на первом шаге поступает строго в первичную зрительную кору, и только через неё попадает в остальные части мозга. Под впечатлением от этой работы, Розенблатт решил, что для решения многих задач можно создавать локально связанные искусственные нейронные сети, где в первых слоях нейроны будут связаны друг с другом только внутри небольших групп. Выходы этих локальных групп будут объединяться в следующих слоях сетки. В таких архитектурах должно быть значительно меньше параметров, чем в полносвязных сетях, и за счет этого их можно будет эффективнее обучать, считал он.
В будущем развитие этого подхода привело к появлению свёрточных нейронных сетей. Но Минский подвергал сомнению целесообразность такого подхода. Он изобрёл два примера, которые, как ему казалось, ставят под сомнение жизнеспособность идеи локально связанных сетей. Этими примерами стало вычисление предикатов чётности и замкнутости. Минский считал свои аргументы настолько удачными, что решил вынести их визуализацию на обложку своей книги.
Издательство «MIT Press», год издания 2017
Если присмотреться, можно заметить, что сверху на обложке спираль состоит из одной «загогулины», а снизу — из двух.
В приведённом им примере задачи для фотоперцептрона — две спирали (см. ниже). Если посмотреть на них внимательно, то окажется, что одна из них замкнутая, а вторая состоит из двух сегментов. Он утверждал, что локально связанный перцептрон не может научиться отличать единый контур от состоящего из двух частей. Для этого, говорил он, нужно, чтобы хотя бы один нейрон второго слоя был связан абсолютно со всеми нейронами первого слоя.
Вторая задача, с которой не справляется локально связанный перцептрон, касается чётности (дано изображение, на котором размещено множество точек, и нужно определить, чётное их количество или нечётное). На основании этих двух примеров Минский сделал вывод, что если нейронные сети всё равно нужно делать полносвязными, то они ничем не лучше, чем другие распознающие модели того времени.
Один из членов команды Розенблатта, математик Артур Блок, дал остроумный ответ на «Перцептроны». «А вы сами-то, когда смотрите на этот контур, можете с одного взгляда сказать, он замкнутый или нет?» — так можно передать его посыл, адресованный авторам критики. Конечно нет, человек не способен за несколько секунд увидеть различия у этих двух спиралей. Розенблатт бы обрадовался такому ответу, так как всегда считал, что его модели должны быть максимально приближены к своим биологическим прототипам. Точно также и с предикатом чётности: если на листе бумаги изображено достаточно много точек, человек не сможет с первого взгляда определить, чётное их количество или нет. Для этого точки придётся пересчитать. «То, что перцептронисты брали как временную опору, Минский и Пейперт интерпретируют как конечную структуру», — продолжает Блок. К сожалению, этот ответ был опубликован уже после смерти Розенблатта, в 70-ых.
Некоторым читавшим Минского и Пейперта кажется, что эти двое критиковали не столько целый перцептрон, сколько отдельный нейрон. «Я думаю, что большая часть сказанного в книге относится к единичному нейрону», — вспоминает Бернард Уидроу. И это похоже на правду: единичный искусственный нейрон может вычислять только небольшое число логических предикатов, и среди них нет предиката чётности или замкнутости. Минскому и Пейперту часто приписывают утверждение, что нейронные сети не способны выполнять операцию XOR («исключающее или», частный случай предиката чётности), хотя они такого никогда не утверждали. Действительно, один нейрон в принципе не может выполнить операцию XOR, да и однослойная сеть этого не может.
Есть мнение, что книга Минского и Пейперта каким-то образом поколебала научные позиции Розенблатта. Миф заходит дальше и повествует, что из-за неё Розенблатт потерял финансирование и в некоторых интерпретациях чуть ли не утопился от горя (такая шекспировская драма!). На самом деле это не так: книга вовсе не ставит крест на перцептронах. Такой цели не преследовали ни Минский, ни Пейперт. В книге обсуждаются и анализируется некоторые ограничения перцептронов, но не более.
Урезание бюджета также никак не связано с книгой «Перцептроны», а связано с конкретными изменениями в американском законодательстве. Дело в том, что в 1957-ом году, после того, как Советский союз запустил первый искусственный спутник Земли, у американских учёных начался «праздник»: военные деньги стали вкладывать в перспективные исследования. Для курирования проектов была даже создана специальная организация, которая потом превратилась в DARPA. В это время проекты Розенблатта получили финансирование от Управления военно-морских исследований.
«Пир духа» продолжался до второй половины 60-ых годов, пока не вызвал тревогу у бюджетного комитета: «Как так, военные деньги тратятся на фундаментальные исследования, которые не имеют четко определенных прикладных результатов для военной области!». С подачи Майкла Мэнсфилда, сенатора-демократа от штата Монтана и лидера сенатского большинства в 1957—1961 была принята «Поправка Мэнсфилда 1969 года», которая привела к резкому сокращению расходов на фундаментальные исследования. Именно она ударила по Розенблатту и его команде: фоноперцептрон «Тобермори», над которым он в то время трудился, не имел прямых военных применений в обозримом горизонте планирования. При этом, Розенблатт продолжал получать финансирование от университета, которое позволяло ему продолжать работу, хотя и не такими быстрыми темпами.
Книга Минского и Пейперта стала важна потом, во время второй весны искусственного интеллекта, а тогда, в начале 60-х, книга не сделала никакого шума. Уидроу так описал свои впечатления от прочтения книги:
«Боже мой, какой пасквиль! <. > Я чувствовал, что они достаточно узко определили, что такое перцептрон, что они смогли доказать, что он практически ничего не мог сделать. <. > Мы уже перестали работать над нейронными сетями. Насколько я знал, никто не работал над нейронными сетями, когда вышла эта книга. Я не мог понять, в чём смысл этого, какого чёрта они это сделали. Но я знаю, сколько нужно времени, чтобы написать книгу. Я подумал, что они, должно быть, решили написать эту книгу очень давно, чтобы нанести удар по данной области, сделать всё возможное, чтобы понатыкать булавок в воздушный шар. Но к тому времени, когда книга вышла, эта область уже ушла. Никто не занимался этим».
Пикантные подробности судьбы Розенблатта
Если бы биография Розенблатта была заурядной, мы бы, наверно, не стали о ней писать. Однако она была далеко не такой! И это важно: известный социолог науки Бруно Латур писал, что открытия не делаются сами по себе, в вакууме, а научная деятельность тесно переплетена с теми случайностями, которые сопровождают учёного в повседневной жизни. И вот что это за случайности в судьбе Розенблатта. Во-первых, возможно, при жизни его родственники были более известны, чем сам Фрэнк Розенблатт младший. Его отец, Фрэнк Фердинанд Розенблатт, который не дожил несколько месяцев до рождения сына, в начале XX века был одним из руководителей еврейской благотворительной организации Joint.
Фрэнк Фердинанд был очень примечательной личностью. Он участвовал в революционном движении Российской империи, затем эмигрировал и возглавил комитет помощи евреям-беженцам Гражданской войны. Розенблатт старший собственноручно доставлял гуманитарную помощь во Владивосток, и во времена правления Колчака и Уфимской директории пытался добиться от Колчака прекращения еврейских погромов.
Брат Розенблатта был консультантом известных политиков, и благодаря его советам удалось прервать эпоху маккартизма. Сам же Розенблатт, по воспоминаниям Хелла Седжвика, одного из его аспирантов, был довольно тихим человеком, но, как ни странно, виртуозно водил спортивный автомобиль. Подобно Мак-Каллоку, он поддерживал дружеские отношения со своими учениками. Группа аспирантов и аспиранток жила в доме своего научного руководителя. По воспоминаниям одного из них, Хела Седжвика, они проводили время вместе, читали вслух стихи и прозу, вели интеллектуальные беседы. Помимо математики и психологии, Розенблатт интересовался другими направлениями науки, например он выстроил обсерваторию рядом с домом и открыл один из первых способов обнаружения экзопланет. Так же, как и Алан Тьюринг, Розенблатт был скрытым геем. Когда ему предложили вступить в «Лигу гомофилов» (Cornell Student Homophile League, основана в 1968-м), он сказал, что общество пока не готово к открытому обсуждению этой темы, видимо, помня, что случилось с его предшественником.
Академическая карьера Розенблатта была незамысловатой: после окончания Высшей школы наук в Бронксе (среднее учебное заведение с высоким уровнем преподавания) в 1946 году, Фрэнк поступил в Корнельский университет, где в 1950 году получил степень бакалавра наук, а через шесть лет — степень доктора философии с темой диссертации «Расчёт K-коэффициента и пробное применение новой техники многомерного анализа». Но на его счету были исследования, которые сегодня кажутся курьёзными. В 1966-м он присоединился к группе исследования нейробиологии и поведения, где занимался тем, что обучали крыс определённому поведению, затем умервщляли их, размалывали мозг в кашицу, вводили её в мозг других крыс и смотрели, передастся ли им выученное поведение. До этого, в 1964 году, он участвовал в исследовании, посвящённом влиянию LSD на процессы связывания серотонина в крысином мозге.
Умер Розенблатт в результате несчастного случая на водах (в английском это звучит как «boating accident»). Иными словами, он утонул. Именно этот инцидент некоторые склонны трактовать как самоубийство, хотя поводов к тому не было, и друзья учёного убеждены, что он был «не из таких».
Получается, что обе части мифа о перцептроне и его создателе не проходят проверку фактами. Коннекционизм не был убит Минским и Пейпертом. Денег из-за них Розенблатта не лишали. Многослойные сети Розенблатт вполне себе рассматривал. Румельхарт, от которого мы знаем о работах Розенблатта, не читал основные его работы (поздние), а читал только ранние.
Модели, созданные Розенблаттом сильно опередили время, и даже сегодня они способны эффективно решать некоторые задачи из области машинного обучения. Например, в 2001 году группа исследователей под руководством Эрнста Куссуля провела эксперименты по обучению на MNIST трёхслойных розенблаттовских перцептронов с различным количеством элементов в А-слое. Во времена Розенблатта технические возможности позволяли работать с перцептронами, содержащими в A-слое лишь до нескольких сотен элементов, а в работе Куссуля их число удалось довести до 512 000. И что вы думаете — была достигнута точность распознавания в 99,2%, что сопоставимо с лучшими моделями начала XXI века!
Заслуга Розенблатта в том, что он создал систематическую науку о нейросетях. Он вплотную приблизился к идее создания свёрточных нейронных сетей, активно искал механизмы, которые потенциально могли бы синхронизировать веса в различной части зрительного анализатора. Несмотря на некоторые установки, проистекавшие из символьного происхождения его моделей (вероятно, именно это не позволило Розенблатту открыть градиентные методы обучения нейронных сетей), наш герой сформулировал множество интересных идей, некоторые из которых не теряют актуальности и в наши дни.
Розенблатт продолжал исследования нейронных сетей до последних дней своей жизни. Из-за его внезапной кончины, работа над перцептронами продлилась всего 15 лет, но этот период стал целой эпохой в истории коннекционизма.
«Принципы нейродинамики» стали одной из основополагающих работ по теории искусственных нейронных сетей, и чтение этой книги может быть полезно всем современным исследователям в этой области.
ПЕРСЕПТРОН Розенблатта
Автор: Сергей А. Терехов sta@nine.ch70.chel.su
Источник: http://alife.narod.ru/lectures/neural/Neu_index.htm
Дата: 1998
Учебное заведение: Лаборатотория Искусственных Нейрон ных Сетей НТО-2, ВНИИТФ, Снежинск
Web-страница заведния: http://www.vniitf.ru/
Простейшая нейрон ная сеть — ПЕРСЕПТРОН Розенблатта. Линейная разделимость и теор ема об обучении персептрона.
В этой и последующих лекциях мы приступаем к непосредственному рассмотрению основных, описанных в литературе, моделей искусственных нейрон ных сетей и решаемых ими задач. Исходным будет изложение ПЕРСЕПТРОНА — первой нейросетевой парадигмы, доведенной до кибернетической реализации.
ПЕРСЕПТРОН Розенблатта.
Одной из первых искусственных сетей, способных к перцепции (восприятию) и формированию реакции на воспринятый стимул, явился PERCEPTRON Розенблатта (F.Rosenblatt, 1957). Персептрон рассматривался его автором не как конкретное техническое вычислительное устройство, а как модель работы мозга. Нужно заметить, что после нескольких десятилетий исследований современные работы по искусственным нейрон ным сетям редко преследуют такую цель.

Рис. 4.1. Элементарный персептрон Розенблатта.
Простейший классический персептрон содержит нейрободобные элементы трех типов (см. Рис. 4.1), назначение которых в целом соответствует нейрон ам рефлекторной нейрон ной сети, рассмотренной в предыдущей лекции. S-элементы формируют сетчатку сенсорных клеток, принимающих двоичные сигналы от внешнего мира. Далее сигналы поступают в слой ассоциативных или A-элементов (для упрощения изображения часть связей от входных S-клеток к A-клеткам не показана). Только ассоциативные элементы, представляющие собой формальные нейрон ы, выполняют нелинейную обработку информации и имеют изменяемые веса связей. R-элементы с фиксированными весами формируют сигнал реакции персептрона на входной стимул.
Розенблатт называл такую нейрон ную сеть трехслойной, однако по современной терминологии, используемой в этой книге, представленная сеть обычно называется однослойной, так как имеет только один слой нейропроцессорных элементов. Однослойный персептрон характеризуется матрицей синаптических связей W от S- к A-элементам. Элемент матрицы отвечает связи, ведущей от i-го S-элемента к j-му A-элементу.
В Корнельской авиационной лаборатории была разработана электротехническая модель персептрона MARK-1, которая содержала 8 выходных R-элементов и 512 A-элементов, которые можно было соединять в различных комбинациях. На этом персептроне была проведена серия экспериментов по распознаванию букв алфавита и геометрических образов.
В работах Розенблатта был сделано заключение о том, что нейрон ная сеть рассмотренной архитектуры будет способна к воспроизведению любой логической функции, однако, как было показано позднее М.Минским и С.Пейпертом (M.Minsky, S.Papert, 1969), этот вывод оказался неточным. Были выявлены принципиальные неустранимые ограничения однослойных персептронов, и в последствии стал в основном рассматриваться многослойный вариант персептрона, в котором имеются несколько слоев процессорных элементов.
С сегодняшних позиций однослойный персептрон представляет скорее исторический интерес, однако на его примере могут быть изучены основные понятия и простые алгоритм ы обучения нейрон ных сетей.
Теорема об обучении персептрона.
Обучение сети состоит в подстройке весовых коэффициентов каждого нейрон а. Пусть имеется набор пар векторов (x a , y a ), a = 1..p, называемый обучающей выборкой. Будем называть нейрон ную сеть обученной на данной обучающей выборке, если при подаче на входы сети каждого вектора x a на выходах всякий раз получается соответсвующий вектор y a
Предложенный Ф.Розенблаттом метод обучения состоит в итерационной подстройке матрицы весов, последовательно уменьшающей ошибку в выходных векторах. Алгоритм включает несколько шагов:
Начальные значения весов всех нейрон ов полагаются случайными.
Сети предъявляется входной образ x a , в результате формируется выходной образ
Вычисляется вектор ошибки , делаемой сетью на выходе. Дальнейшая идея состоит в том, что изменение вектора весовых коэффициентов в области малых ошибок должно быть пропорционально ошибке на выходе, и равно нулю если ошибка равна нулю.
Вектор весов модифицируется по следующей формуле: . Здесь — темп обучения.
Шаги 1-3 повторяются для всех обучающих векторов. Один цикл последовательного предъявления всей выборки называется эпохой. Обучение завершается по истечении нескольких эпох, а) когда итерации сойдутся, т.е. вектор весов перестает измеяться, или б) когда полная просуммированная по всем векторам абсолютная ошибка станет меньше некоторого малого значения.
Используемая на шаге 3 формула учитывает следующие обстоятельства: а) модифицируются только компоненты матрицы весов, отвечающие ненулевым значениям входов; б) знак приращения веса соответствует знаку ошибки, т.е. положительная ощибка ( d > 0, значение выхода меньше требуемого) проводит к усилению связи; в) обучение каждого нейрон а происходит независимо от обучения остальных нейрон ов, что соответсвует важному с биологической точки зрения, принципу локальности обучения.
Данный метод обучения был назван Ф.Розенблаттом “методом коррекции с обратной передачей сигнала ошибки”. Позднее более широко стало известно название “ d -правило”. Представленный алгоритм относится к широкому классу алгоритм ов обучения с учителем, поскольку известны как входные вектора, так и требуемые значения выходных векторов (имеется учитель, способный оценить правильность ответа ученика).
Доказанная Розенблаттом теор ема о сходимости обучения по d -правилу говорит о том, что персептрон способен обучится любому обучающему набору, который он способен представить. Ниже мы более подробно обсудим возможности персептрона по представлению информации.
Линейная разделимость и персептронная представляемость
Каждый нейрон персептрона является формальным пороговым элементом, принимающим единичные значения в случае, если суммарный взвешенный вход больше некоторого порогового значения:
Таким образом, при заданных значениях весов и порогов, нейрон имеет определенное значение выходной активности для каждого возможного вектора входов. Множество входных векторов, при которых нейрон активен (y=1), отделено от множества векторов, на которых нейрон пассивен (y=0) гиперплоскостью, уравнение которой есть, суть:
Следовательно, нейрон способен отделить (иметь различный выход) только такие два множества векторов входов, для которых имеется гиперплоскость, отсекающая одно множество от другого. Такие множества называют линейно разделимыми. Проиллюстрируем это понятие на примере.
Пусть имеется нейрон , для которого входной вектор содержит только две булевые компоненты , определяющие плоскость. На данной плоскости возможные значения векторов отвечают вершинам единичного квадрата. В каждой вершине определено требуемое значение активности нейрон а 0 (на рис. 4.2 — белая точка) или 1 (черная точка). Требуется определить, существует ли такое такой набор весов и порогов нейрон а, при котором этот нейрон сможет отделить точки разного цвета?
На рис 4.2 представлена одна из ситуаций, когда этого сделать нельзя вследствие линейной неразделимости множеств белых и черных точек.
Рис. 4.2. Белые точки не могут быть отделены одной прямой от черных.
Требуемая активность нейрон а для этого рисунка определяется таблицей, в которой не трудно узнать задание логической функции “ислючающее или”.
Персептрон
Перце́птрон (Персептрон [1] , англ. perсeptron от лат. perсeptio — восприятие) — устройство МАРК-1 [1] , а также соответствующая ему математическая модель, созданная Фрэнком Розенблаттом с целью построения модели мозга. Под «моделью мозга» понимается любая теоретическая система, которая стремится объяснить физиологические функции мозга с помощью известных законов физики и математики, а также известных фактов нейроанатомии и нейрофизиологии. Перцептрон (строгое определение которого будет дано ниже) представляет собой передающую сеть, состоящую из генераторов сигнала трёх типов: сенсорных элементов, ассоциативных элементов и реагирующих элементов. Производящие функции этих элементов зависят от сигналов, возникающих либо где-то внутри передающей сети, либо, для внешних элементов, от сигналов, поступающих из внешней среды. Но, как правило, когда говорится «перцептрон Розенблатта», имеется в виду частный случай — т. н. элементарный перцептрон, который упрощён по сравнению с общим видом перцептрона по ряду параметров.
Содержание
Появление перцептрона
В середине 1958 года Фрэнк Розенблат предложил модель электронного устройства, названного им перцептроном, которое должно было бы имитировать процессы человеческого мышления. Перцептрон должен был передавать сигналы от «глаза», составленного из фотоэлементов, в блоки электромеханических ячеек памяти, которые оценивали относительную величину электрических сигналов. Эти ячейки соединялись между собой случайным образом в соответствии с принципами коннективизма. Два года спустя была продемонстрирована первая действующая машина «Марк-1», которая могла научится распознавать некоторые из букв, написанных на карточках, которые подносили к его «глазам», напоминающие кинокамеры.
Чтобы «научить» перцептрон способности строить догадки на основе исходных предпосылок, в нем предусматривалась некая элементарная разновидность автономной работы или «самопрограммирования». При распознавании той или иной буквы одни её элементы или группы элементов оказываются гораздо более существенными, чем другие. Перцептрон мог «научаться» выделять такие характерные особенности буквы полуавтоматически, своего рода методом проб и ошибок, напоминающим процесс обучения. Однако возможности перцептрона были ограниченными: машина не могла надежно распознавать частично закрытые буквы, а также буквы иного размера или рисунка, нежели те, которые использовались на этапе ее обучения.
Ведущие представители так называемого «нисходящего метода» специализировались, в отличие от представителей «восходящего метода», в составлении для цифровых компьютеров общего назначения программ решения задач, требующих от людей значительного интеллекта, например для игры в шахматы или поиска математических доказательств. К числу защитников «нисходящего метода» относились сотрудники Массачусетского технологического института Марвин Минский и Сеймур Пейперт. Минский начал свою карьеру исследователя ИИ сторонником «восходящего метода» и в 1951 году построил обучающуюся сеть на вакуумных электронных лампах. Однако вскоре к моменту создания перцептрона он перешел в противоположный лагерь.
В соавторстве с южно-африканским математиком Пейпертом он опубликовал в 1969 году книгу «Перцептроны», где математически доказывалось, что перцептроны, подобные розенблатовским, принципиально не в состоянии выполнять многие из тех функций, которые приписывал перцептронам Розенблат. Минский утверждал, что, не говоря уже о роли работающих под диктовку машинисток, подвижных роботов или машин, способных читать, слушать и понимать прочитанное или услышанное, перцептроны никогда не обретут даже умения распознавать предмет частично заслоненный другим. Глядя на торчащий из-за кресла кошачий хвост, подобная машина никогда не сможет понять, что она видит. Эта книга существенно повлияла на пути развития науки об искусственном интеллекте, т.к. переместила научный интерес и субсидии правительственных организаций США, традиционно финансирующих исследования по ИИ, на другое направление исследований — «нисходящий метод».
В 80-х гг. интерес к кибернетике возродился, так как сторонники «нисходящего метода» столкнулись со столь же неодолимыми трудностями. Сам Минский публично выразил сожаление, что его выступление нанесло урон концепции перцептронов, заявив, что, согласно его нынешним представлениям, для реального прорыва вперед в создании разумных машин потребуется устройство, во многом похожее на перцептрон. Но в основном ИИ стал синонимом нисходящего подхода, который выражался в составлении все более сложных программ для компьютеров, моделирующих сложную деятельность человеческого мозга.
Определения, данные Ф. Розенблаттом
Серьезное ознакомленние с теорией перцептронов требует знания базовых определений и теорем, совокупность которых и представляет собой базовую основу для всех последующих видов искусственных нейронных сетей
Виды элементов (нейронов) в перцептроне
- Определение 7. Простым S-элементом (Сенсорным элементом) является чувствительный элемент, который от воздействия какого-либо из видов энергии (например, света, звука, давления, тепла и т. п.) вырабатывает сигнал. Если входной сигнал превышает некоторый порог , то элемент выдаёт выходной сигнал , в противном случае выходной сигнал равен нулю.
- Определение 9. Простым A-элементом (Ассоциативным элементом) называется логический решающий элемент, который выдаёт выходной сигнал, когда алгебраическая сумма его входных сигналов равна или превышает некоторую пороговую величину . Выходной сигнал равен +1, если была превышена пороговая величина ; в противном случае он равен нулю. Если , то говорят, что A-элемент является активным.
- Определение 11. Простым R-элементом (Реагирующим элементом) называется элемент, который выдаёт выходной сигнал , если сумма его входных сигналов является строго положительной, и сигнал , если сумма его входных сигналов является строго отрицательной. Если сумма входных сигналов равна нулю, выход можно считать либо равным нулю, либо неопределённым.
Определения и классификация перцептронов
![]()

- Определение 17.Перцептрон представляет собой сеть, состоящую из S, A, R — элементов, с переменной матрицей взаимодействия V (элементы которой — весовые коэффициенты), определяемой последовательностью прошлых состояний активности сети.
- Определение 18. Логическое расстояние от элемента к элементу равно числу слоёв между ними.
- Определение 19.Перцептроном с последовательными связями называется система, в которой все связи, начинающиеся от элементов с логическим расстоянием d от ближайшего S-элемента, оканчиваются на элементах с логическим расстоянием d+1 от ближайшего S-элемента.
- Определение 20.Перцептроном с перекрестными связями называется система, в которой некоторые связи соединяют друг с другом элементы одного типа (S, A или R), находящиеся на одинаковом логическом расстоянии от S-элементов, причем все остальные связи — последовательного типа.
- Определение 21.Перцептроном с обратной связью называется система, в которой по крайней мере один элемент A или R, находящийся на расстоянии от ближайшего S-элемента, является исходным в цепи обратной связи к S-элементу или A-элементу, расстояние которого до ближайшего S-элемента ; другими словами, это система с обратными связями от элементов, расположенных ближе к выходу, к элементам, расположенным ближе к входу системы.
- Определение 22.Простым перцептроном называется любая система, удовлетворяющая следующим пяти условиям:
- В системе имеется только один R-элемент, который связан со всеми A-элементами.
- Система представляет собой перцептрон с последовательными связями, идущими только от S-элементов к A-элементам и от A-элементов к R-элементам.
- Веса всех связей от S-элементов к A-элементам являются фиксированными (не изменяются во времени).
- Время передачи каждой связи равно либо нулю, либо фиксированной постоянной t.
- Все активирующие функции S,A,R – элементов имеют вид : ,
- Определение 23.Элементарным перцептроном называется простой перцептрон с простыми R и A элементами, активизирующая функция которого имеет вид:
Определения, данные М. Минским
Минский изучал свойства параллельных вычислений, частным случаем которых на то время был перцептрон. Для анализа его свойств ему пришлось переизложить теорию перцептронов на язык предикатов . Хотя такой математический аппарат позволил применить анализ только к элементарному перцептрону Розенблатта, зато он вскрыл много принципиальных ограничений для параллельных вычислений, от которых не свободен не один вид современных искусственных нейронных сетей .
Определения и классификация перцептронов на языке предикатов
Определение. Перцептроном называется устройство, способное вычислять все предикаты, линейные относительно некоторого заданного множества Ф частных предикатов.
С этой позиции перцептроны можно классифицировать следующим образом:
- 1. Перцептроны, ограниченные по диаметру. Для каждого предиката F из Ф диаметр множества точек плоскости, от которых зависит F, не превосходит некоторой фиксированной величины.
- 2. Перцептроны ограниченного порядка. Мы будем говорить, что перцептрон имеет порядок <n, если каждый элемент из Ф зависит не более, чем от n точек.
- 3. Перцептроны Гамбы. Каждый элемент из Ф может зависеть от всех точек, но должен быть линейной пороговой функцией, т.е. сам должен вычисляться перцептроном первого порядка, определенным в предыдущем пункте.
- 4. Случайные перцептроны. Именно эта модель наиболее подробно изучалась группой Розенблатта. Предикаты F представляют собой случайно выбранные булевы функции. Иначе говоря, случайные перцептроны являются перцептронами ограниченного порядка, а множество Ф порождается случайным процессом с определенной функцией распределения.
- 5. Ограниченные перцептроны. Множество Ф предикатов F бесконечно, а множество значений принимаемых коэффициентами , конечно.
Описание элементарного перцептрона
Перцепторон состоит из элементов 3-х типов: S — элементов, A — элементов и R — элемента. S — элементы это — слой рецепторов. Эти рецепторы соединены с A — элементами с помощью тормозных или возбуждающих связей. Каждый рецептор может находиться в одном из двух состояний — покоя или возбуждения. A — элементы представляют собой сумматоры с порогом (то есть формальные нейроны ). Это означает, что A — элемент возбуждается, если алгебраическая сумма возбуждений, приходящих к нему от рецепторов, превышает определенную величину — его порог. При этом сигнал от рецептора, приходящий по возбуждающей связи, считается положительным, а приходящий по тормозной связи — отрицательным. Сигналы от возбудившихся A — элементов передаются в сумматор R, причем сигнал от i-го ассоциативного элемента передается с коэффициентом ki .
А- или R- элементы (который является пороговыми) подсчитывают некоторую линейную форму (как правило сумму весовых коэффициентов) от своих входов и сравнивает ее с заданным значением — порогом. Если у А-элемента входов, то в нем должны быть заданы весов и порог . Перцептрон выдает , если линейная форма от входов с коэффициентами превышает и иначе.
С помощью одного порогового элемента можно реализовать 14 булевых функций, кроме эквиваленции (знак равно) и исключающего или (XOR). Любая булева функция представима в виде построенной из пороговых элементов нейронной сети глубины 2.
Система связей между рецепторами S и A — элементами, так же как и пороги A — элементов выбираются некоторым случайным, но фиксированным образом, а обучение состоит лишь в изменении коэффициентов . Считаем, что мы хотим научить перцептрон разделять два класса объектов, и потребуем, чтобы при предъявлении объектов первого класса выход перцептрона был положителен, а при предъявлении объектов второго класса — отрицательным. Начальные коэффициенты полагаем равными нулю. Далее предъявляем обучающую выборку: объекты (например, круги либо квадраты) с указанием класса, к которым они принадлежат. Показываем перцетрону объект первого класса. При этом некоторые A — элементы возбудятся. Коэффициенты , соответствующие этим возбужденным элементам, увеличиваем на 1. Затем предъявляем объект второго класса и коэффициенты тех A — элементов, которые возбудятся при этом показе, уменьшаем на 1. Этот процесс продолжим для всей обучающей выборки. В результате обучения сформируются значения весов связей .
После обучения перцептрон готов работать в режиме распознавания или обобщения В этом режиме перцептрону предъявляются «не знакомые» перцептрону объекты, и перцептрон должен установить, к какому классу они принадлежат. Работа перцептрона состоит в следующем: при предъявлении объекта возбудившиеся A — элементы передают сигнал R — элементу, равный сумме соответствующих коэффициентов . Если эта сумма положительна, то принимается решение, что данный объект принадлежит к первому классу, а если она отрицательна — то второму.
Алгоритмы обучения
Классический метод обучения перцептрона — это обучение с коррекцией ошибки. Представляет собой такой метод обучения, при котором вес связи не изменяется до тех пор, пока текущая реакция перцептрона остается правильной. При появлении неправильной реакции вес изменяется на единицу, а знак (+/-) определяется противоположным от знака ошибки.
Кроме того, Розенблатт пытался классифицировать различные алгоритмы обучения, называя их системами подкрепления. В результате он различал следующие виды:
- Положительное подкрепление — представляет собой такой процесс подкрепления, при котором вес связи, начинающийся на активном элементе и оканчивающийся на элементе , изменяется на величину r, знак которой совпадает со знаком сигнала .
- Отрицательное подкрепление — представляет собой такой процесс подкрепления, при котором вес связи, начинающийся на активном элементе и оканчивающийся на элементе , изменяется на величину r, знак которой противоположен знаку сигнала .
Кроме, классического метода обучения перцептрона Розенблатт также ввел понятие об обучении без учителя, предложив следующий способ обучения:
- Альфа — системой подкрепления называется система подкрепления, при которой веса всех активных связей , которые оканчиваются на некотором элементе , изменяются на одинаковую величину r, а веса не активных связей за это время не изменяются.
Описывая эти системы подкрепления Розенблатт основывался на идеях Хебба об обучении, уточняя различные возможные виды. Затем с появлением многослойного перцептрона оно было модифицировано и его стали называть дельта-правило . Модификация была проведена с целью сделать функцию обучения дифферинцированной, что в свою очередь нужно для применения метода градиентного спуска, благодаря которому и возможно обучение более одного слоя. При этом пришлось отказаться от бинарного сигнала, и пользоваться на входе вещественными числами.
Возможности и ограничения модели
Исследования перцептронов показали, что перцептроны способны обучаться. Справедлива теорема о сходимости перцептрона, согласно которой независимо от начальных значений коэффициентов и порядка показа образцов при обучении перцептрон за конечное число шагов научится различать два класса объектов, если только существует такая классификация.
Первые успехи исследований перцептронов и других нейросетей вызвал взрыв активности и энтузиазма. М. Минский, Ф.Розенблат, Б. Уидроу и другие разработали ряд искусственных нейронных сетей. В течение некоторого времени казалось, что ключ к интеллекту найден, и воспроизведение человеческого мозга является лишь вопросом конструирования достаточно большой сети.
Но эта иллюзия вскоре рассеялась. Возможности перцептронов оказались довольно ограниченными. Серьезный математический анализ перцептронов был проведен М.Минским и С. Пейпертом (подробнее см. ниже). В последствии работа Вассермана, вызвала новый всплеск активности в области искуственных нейронных сетей, и применение идей теории перцептронов на новый лад с образованием собственной новой терминологии и становлением науки о нейросетях, но с точки зрения технического приложения в противовес построению моделей мозга. Но к сожалению некоторые неточности в его работе привели к ряду недоразумений. Так, например, Вассерманом была предложена классификация искусственных нейроных сетей на основе подсчета числа обучаемых слоев связей, а не по числу структурных элементов сети. Но такая классификация проблематична, так как не позволяет говорить об особенностях определенного вида нейросетей. Это вызвало ряд недоразумений в последующие годы при определении перцептрона, так как сам автор всегда говорил о нем, как о трехслойном, а классификация по числу обучаемых слоев предполагала называть его однослойным. Но к сожалению, это сказалось не только на терминологии, но и не верном представлении о перцептроне как простейшем пороговом элементе. Так как была не учтена роль первого необучаемого слоя.
Структура, состоящая из нескольких соединенных слоев пороговых элементов называется многослойным перцептроном. Такой термин появился когда был предложен алгоритм обратного распространения, с помощью которого стали обучать (настраивать коэффициенты) более одного слоя. Но такую структуру не стоит прямо сравнивать с перцептроном Розенблатта. Это достаточно разные модели нейросетей, но которые во многом эквивалентны друг другу в общем случае, и специфичны для разного рода задач.
Традиционные заблуждения
В результате популяризации искуственных нейронных сетей журналистами и маркетологами был допущен ряд неточностей, которые, при недостаточном изучении оригинальных работ по этой тематике, неверно истолковывались молодыми (на то время) учеными. В результате по сей день можно встретиться с недостаточно глубокой трактовкой функциональных возможностей перцептрона по сравнению с другими ИНС, разработаными в последующие годы.
Терминологические неточности
Неточность № 1. Перцептрон — нейронная сеть без скрытых слоев.
Вассерманом была сделана попытка определенным образом классифицировать различные виды нейронных сетей:
В результате такого представления перцептрон попал под определение однослойная нейроная сеть. При этом когда говорят, что перцептрон не имеет скрытых слоев, имеют в виду, что у него нет скрытых слоев обучающихся нейронов (веса которых адаптируются к задаче). Поэтому всю совокупность тех выходов системы из S и A элементов, которые достигают R-элемента (единственного обучающегося) просто логически заменяют набором (модифицированных по жесткому правилу) новых входов.
Но обычное игнорирование необучаемых слоев с фиксированными связми (который имеется в элементарном перцептроне между S и А — элементами) позволяет делать неправильные выводы о возможностях ИНС, так например, Минский поступил очень корректно переформулировав А-элемент как предикат, а например Вассермен уже потерял такое представление и у него А-элемент просто вход (почти эквивалентный S-элементу). Поэтому при такой терминалогической неточности упускается из виду тот факт, что в перцептроне происходит отображение рецепторного поля S — элементов на ассоциативное поле А-элементов, в результате чего и происходит преобразование любой нелинейной разделимой задачи в линейно разделимую.
Функциональные заблуждения
Большенство функциональных заблуждений сводятся к якобы невозможности решения перцептроном нелинейно разделяемой задачи. Но вариаций на это тему достаточно много, рассмотрим главные их них.
№ 1. Перцептрон не способен решить задачу XOR.
Самое несерьезное заявление. На изображении показанно решение и ниже дана таблица поиска соответствующих весов при алгоритме обучения с коррекцией ошибки. Как правило, данное заблуждение возникает из-за того, что неправильно интерпретируют определение перцептрона, данного Минским (см. выше), а именно, предикаты приравнивают входам (параметрам), хотя это разные вещи. Предикат эквивалентен входу только если предикат зависит от одного аргумента. Другая причина возникает из-за того, что перцептрон путают с пороговым элементом Маккалока-Питса.


№ 2. Выбором случайных весов можно достигнуть обучения и линейно неразделимым (вообще, любым) задачам, но только если повезет, и в новых переменных (выходах A-нейронов) задача окажется линейно разделимой. Но может и не повезти.
Теорема сходимости Розенблатта ОДНОЗНАЧНО доказывает, что не может быть ни какого «может и не повезти», при равенстве А-элементов числу стимулов и не особенной SA матрице — вероятность решения 100 %. То есть при отображении рецепторного поля на ассоциативное поле большей на одну размерность случайным (нелинейным) оператором нелинейная задача превращается в линейно разделимую. А следующий обучаемый слой уже находит линейное решение в другом пространстве входов.
№ 3. Если у Вас в задаче размерность входов довольно высока, а обучающих примеров мало, то в таком «слабозаполненном» пространстве число удач может и не оказаться малым. Это свидетельствует лишь о частном случае пригодности перцептрона, а не его универсальности.
Данный аргумент легко проверить на тестовой задаче под названием «шахматная доска» или «губка с водой»:
Дана цепочка из 2N единиц или 0. Если эта цепочка является зеркально симметричной относительно центра, то есть x[1:1:N] = x[2N:-1:N+1] то на выходе 1. Иначе 0.» Обучающие примеры _все_ (это важно) 2²N цепочек. Могут быть вариации данной задачи: Имеем изображение 256х256 пикселей изображение из 2 цветов. Обучаем перцептрон всем возможным состояниям, то есть на вход подаем последовательно координаты x, y и требуем на выходе соответствующий цвет точки. В итоге имеем 65536 различных пар стимул-реакция. Берем изображение такого типа — Если либо x нечетное (0..255), либо y нечетное (но не одновременно), то цвет 1. Иначе — цвет 0. Обучить без ошибок.
Если данный аргумент справедлив, то перцептрон не сможет ни при каких условиях обучится не делая ни одной ошибки. Иначе перцептрон не ошибется ни разу.
На практике оказывается, что данная задача очень проста для перцептрона: чтобы ее решить, перцептрону достаточно 1500 А-элементов (вместо полных 65536, необходимых для любой задачи). При этом число итерациий порядка 1000. При 1000 А-элементов перцептрон не сходится за 10000 итераций. Если же увеличить число А-элементов до 40000, то схождения можно ожидать за 30-80 итераций.
№ 4. В перцептроне Розенблатта столько А-элементов, сколько входов. И сходимость по Розенблатту, это стабилизация весов.
Нет. Это следует из следствия теоремы сходимости.
Отсюда должно быть ясно, что:
- 1. у Розенблатта число А-элементов равно числу стимулов (обучающих примеров), а не числу входов.
- 2. Сходимость по Розенблатту, это не стабилизация весов, а наличие всех требуемых классификаций, то есть по сути отсутствие ошибок.
Ограничения перцептрона, описанные Минским
Действительно Минским после серьезных экспериментов с перцептроном и его всестороннего анализа была предпринята его критика. Здесь нужно отметить тот факт, что на то время все известные ИНС назывались перцептроном, и Минский критиковал именно весь класс искусственных нейронных сетей, а перцептрон Розенблатта был наиболее детально проработан теоритически и имел физическое воплощение в устройстве под названием МАРК-1. В то время была слабо развита теория о параллельных вычислениях, а перцептрон полностью соответствовал принципам таких вычислений. По большому счету Минский показал преймущество последовательных вычислений перед параллельным в определенных классах задач связанных с инвариантным представлением. Ниже мы рассмотрим некоторые следствия анализа Минского. Критику Минского можно разделить на три взаимосвязаные темы:
Ограничения, связанные с инвариантным представлением
Минский описывал специальные задачи такие как «четность» и «один в блоке», которые показывают ограничения перцептрона в том, что он не может распознавать инвариантные входные данные (изображения) бесконечного порядка. А в частности, при распознавании четности конечного порядка первый слой перцептрона вынужден становиться полносвязным. В связи с эти есть ограничения на следующие практические типовые задачи.
Типовая задача № 1. Если требуется построить машину для чтения печатных букв или цифр, то возникает естественное желание, чтобы эта машина могла распознавать их независимо от положения на странице, то есть чтобы на решение машины не оказывали влияния элементы группы переносов. Иными словами, восприятие машины должно быть «инвариантно относительно группы переносов», то есть ее решение должно быть одним и тем же для каждого представителя какого-либо класса эквивалентности относительно группы переносов. Итак, более точно первую задачу можно определить как — нахождение геометрического свойства. Вот как описывает Минский понятие геометрического свойства:
Типовая задача № 2. Ряд подзадач могут формулироваться различно, как (1) определить, одна или более фигур находятся в видимом пространстве, (2) плотная ли видимая фигура или же в ней находится отдельная фигура, (3) … . Независимо от этого они имеют общую суть — нахождение признака, связана ли фигура, то есть предиката связанность.
Типовая задача № 3. Распознавание фигур в контексте, то есть, например, содержит ли данная фигура прямоугольник и, быть может, что-то еще.
Так вот, приведенные здесь три типа задач распознавания не рекомендуется решать с помощью параллельных способов вычислений, в том числе и с помощью перцептрона. Более того, проблема не в конкретной архитектуре перцептрона, а в необходимости знания всего глобального контекста. Поэтому как перцептрон, так и любые другие виды нейронных сетей неспособны полноценно решить представленные здесь задачи. Мы не приводим здесь довольно сложные доказательства Минского, важно лишь, что они основываются на том, что перцептрон (равно как и любая другая нейронная сеть) не справляется с распознаванием инвариантных входных данных.
Ограничения, связаные с возможностью прогнозирования
Способности ИНС и в частности перцептрона, не столь велики как рекламируется. И это связано даже не с устройством, или алгоритмом, осуществляющим прогноз, а с самим происходящим явлением. Только в том случае когда во внимание берутся существенные параметры на основании которых будет строится прогноз будет иметь место некоторый успех. Выбором этих параметров занимаются эксперты в определенной области на основании своего опыта и интуиции, и к прогнозирующим машинам это не имеет ни какого отношения. Как только, такие параметры определенны можно начать статистическую обработку данных и построить модель явления. Но данная модель будет лишь показывать зависимость (корреляцию) выбранных входных параметров от выходных, которые имели место в прошлом.
Минский пытался показать, что перцептрон не имеет в этом отношении серьезных преймуществ по сравнению с другими статистическими методами прогноза. И если рассматривать конечный результат он полностью прав. Единственно, разницу составляет то, что классические статистические методы требуют расчета многих сложных уравнений, а перцептрон более естественно решает требуемые уравнения, что связано с его устройством. Если на перцептрон посмотреть глазами математика, то окажется, что перцептрон это по сути способ решения систем уравнений с большим числом неизвестных коэффициентов. Алгоритм поиска этих коэффициетов технически более быстрый чем у аналогичных классических способов решения уравнений.
Построив систему уравнений, охватывающую наиболее значимые параметры (если нам повезет их найти), можно говорит о том, что мы нашли закон, по статусу близкий к законам физики, но только оперирующий большим числом переменных. Именно такие модели позволяют описывать системы с больщим числом состояний — биологические, социальные и т. п. Именно в этом смысле мы и можем говорить о прогнозе.
Качественость сделанного прогноза или точность построенной модели зависит от числа знаний, используемых при построении модели. Если мы хотим, чтобы на основании половины всех необходимых знаний модель была способна достроить (спрогнозировать) вторую половину неизвестных нам знаний, то желательно иметь информацию равномерно распределенную по всему пространству возможных состояний. В таком случае перцептрон способен спрогнозировать неизвестные, но близкие к известным результаты с определенной верояностью правильности. В противном же случае, мы имеем как раз ситуацию с необходимость прогнозировать результат задачи «шахматной доски», которая рассматривалась выше. Но тут главное, что выше вопрос был связан с возможностью обучения этой задаче, теперь же идет речь о необходимости достроить по имеющейся информации — недостающую, то есть спрогнозировать. Человек с такой задачей справляется быстро, так как находит определенную аналогию. Для перцептрона (а так-же для ряда других ИНС) данная задача в полной мере слишком сложна. Это связанно с основным ограничением ИНС — невозможность найти инвариант (см. выше), в следствии этого перцептрон работает только как статистическая машина, но не способен самостоятеьно находить инварианты, которые были бы основой для принятия решений.
Технические ограничения по скорости и объему используемой памяти
Минский показал, что задачи, которые в принципе могут быть решены перцептроном, могут потребовать нереально больших времен или нереально большой памяти. Например, для различения некоторых классов объектов коэффициенты части ассоциативных элементов должны быть столь велики, что для хранения их в вычислительной машине потребовался бы больший объем памяти, чем для того, чтобы просто запомнить все конкретные объекты этих двух классов.