Что такое персептрон розенблатта

Персептрон Розенблатта — машина, которая смогла обучаться

Что такое персептрон розенблатта. Смотреть фото Что такое персептрон розенблатта. Смотреть картинку Что такое персептрон розенблатта. Картинка про Что такое персептрон розенблатта. Фото Что такое персептрон розенблатта

Персептрон – это нейронная сеть, которая представляет собой алгоритм для выполнения двоичной классификации. Он определяет, относится ли объект к определенной категории (например, является ли животное на рисунке кошкой или нет).

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

Что такое персептрон розенблатта. Смотреть фото Что такое персептрон розенблатта. Смотреть картинку Что такое персептрон розенблатта. Картинка про Что такое персептрон розенблатта. Фото Что такое персептрон розенблаттаФрэнк Розенблатт

Фрэнк Розенблатт, родоначальник персептрона, популяризировал его как устройство, а не алгоритм. Персептрон впервые вошел в мир в качестве аппаратного обеспечения. Розенблатт, психолог, который учился, а затем и читал лекции в Корнельском университете, получил финансирование от Управления по морским исследованиям в США, чтобы сконструировать машину, которая могла бы обучаться. Его машина, названная «Mark I», выглядела так:

Что такое персептрон розенблатта. Смотреть фото Что такое персептрон розенблатта. Смотреть картинку Что такое персептрон розенблатта. Картинка про Что такое персептрон розенблатта. Фото Что такое персептрон розенблатта

Персептрон представляет собой линейный классификатор, то есть алгоритм, который классифицирует объект путем разделения двух категорий прямой. Объектом обычно является вектор-функция x, взятая с весом w и смещенная на b: y = w * x + b.

На выходе персептрон выдает результат y, основанный на нескольких вещественных входных объектах путем формирования линейной комбинации с использованием весовых коэффициентов (иногда с последующим пропусканием результата через нелинейную функцию активации). Вот как это выглядит на языке математики:

Что такое персептрон розенблатта. Смотреть фото Что такое персептрон розенблатта. Смотреть картинку Что такое персептрон розенблатта. Картинка про Что такое персептрон розенблатта. Фото Что такое персептрон розенблатта

где w – вектор весовых коэффициентов, x – вектор входных объектов, b – смещение, φ – функция нелинейной активации.

Розенблатт разработал однослойный персептрон. Это значит, что его аппаратный алгоритм не включал в себя несколько уровней, которые позволяют нейронным сетям моделировать иерархию признаков. Это была мелкая нейронная сеть, которая мешала персептрону выполнять нелинейную классификацию, например, вычислять значение функции XOR (триггером оператора XOR является несовпадение двух объектов, другое название – «исключающее или»), как показали Минский и Паперт в своей книге.

Что такое персептрон розенблатта. Смотреть фото Что такое персептрон розенблатта. Смотреть картинку Что такое персептрон розенблатта. Картинка про Что такое персептрон розенблатта. Фото Что такое персептрон розенблатта

Многослойный персептрон

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

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

Многослойный персептрон — это хорошая стартовая точка для изучения глубокого обучения.

Что такое персептрон розенблатта. Смотреть фото Что такое персептрон розенблатта. Смотреть картинку Что такое персептрон розенблатта. Картинка про Что такое персептрон розенблатта. Фото Что такое персептрон розенблатта

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

Как работает персептрон

Персептроны часто применяются для решения контролируемых задач обучения: они тренируются по набору пар входных/выходных объектов и учатся моделировать корреляции (т. е. зависимости) между этими данными. Обучение включает в себя настройку параметров модели (весовых коэффициентов, смещений) для минимизации погрешности. Для корректировки этих параметров относительно погрешности используется алгоритм обратного распространения, а сама погрешность может быть вычислена различными способами, в том числе путем вычисления среднеквадратичного отклонения (RMSE).

Сети прямого распространения, такие как многослойный персептрон, похожи на теннис или пинг-понг. Они в основном состоят из двух видов движений: вперед и назад. Получается своеобразная игра в пинг-понг между догадками и ответами, поскольку каждая догадка – это проверка того, что мы знаем, а каждый ответ – это обратная связь, позволяющая нам узнать, насколько сильно мы ошибаемся.

При шаге вперед поток сигнала перемещается от входного слоя через скрытые к выходному, а решение, полученное на выходном слое, сравнивается с априорно известным верным ответом.

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

Совершенствование персептрона

Важно отметить, что программное обеспечение и аппаратные средства существуют на блок-схеме: программное обеспечение может быть представлено как аппаратное, так и наоборот. Когда программируются микросхемы (такие как FPGA) или конструируются интегральные схемы (например, ISIC), путем вытравливания определенного алгоритма в кремнии, мы всего навсего реализуем программное обеспечение на одном уровне ниже для увеличения скорости его работы. Аналогично, то, что вытравлено в кремнии или связано с лампами и потенциометрами (например, «Mark I» Розенблатта), также может быть выражено в виде кода. Вот почему Алан Кей сказал: «Люди, которые действительно серьезно относятся к программному обеспечению, должны создавать собственное оборудование». Но бесплатный сыр бывает только в мышеловке: выигрывая в скорости работы путем вытравливания алгоритмов, вы проигрываете в возможности их модификации. Это является реальной проблемой в машинном обучении, где алгоритмы самопроизвольно изменяются по мере обработки данных. Задача состоит в том, чтобы найти те части алгоритма, которые остаются стабильными даже при изменении параметров, например, операции с линейной алгеброй, которые в настоящее время обрабатываются GPU быстрее всего.

Дальнейшее изучение вопроса может привести вас к потребности разработки все более и более сложных и полезных алгоритмов. Мы переходим от одного нейрона к совокупности нескольких, называемой слоем; затем переходим от одного слоя к совокупности нескольких, называемой многослойным персептроном. Можем ли мы перейти от одного МП к нескольким, или же мы просто будем дальше нагромождать слои, как это сделала Microsoft со своим лидером ImageNet, ResNet, в котором было более 150 слоев? Или же правильным является комбинирование МП – ансамбля многих алгоритмов, голосующих в своего рода вычислительной демократии за лучший прогноз? Или это по сути лишь встраивание одного алгоритма в другой, как это происходит со сверточными графовыми сетями?

Источник

2. Персептрон Розенблатта.

Перцептроны или персептроны (от perceptio – восприятие) были первыми искусственными нейронными сетями, появившимися в результате многолетних исследований мозга животных и человека. Автор первого перцептрона – американский ученый Френк Розенблатт, впервые опубликовавший свои исследования в этой области в 1957 году. По мнению Ф. Розенблатта, перцептроны, прежде всего, являются классом моделей мозга, объясняющих некоторые его характерные функции. В частности, перцептроны, пусть и в самой элементарной форме, объясняют некоторые проблемы организации памяти биологических систем, демонстрируют механизм приобретения знаний «познающих (cognitive) систем» об окружающем их мире и показывают, что эти знания зависят как от когнитивной системы, так и от окружающей среды. По Розенблатту, для различных видов животных простейшее представление об анатомической структуре нервной системы может быть получено с помощью схемы.

Что такое персептрон розенблатта. Смотреть фото Что такое персептрон розенблатта. Смотреть картинку Что такое персептрон розенблатта. Картинка про Что такое персептрон розенблатта. Фото Что такое персептрон розенблатта

Фомальные нейроны могут быть объединены в сети путем замыкания выходов одних нейронов на входы других, и по мысли авторов модели, такая кибернетическая система с надлежаще выбранными весами может представлять произвольную логическую функцию. Для теоретического описания получаемых нейронных сетей предлагался математический язык исчисления логических предикатов.

По Розенблату персептроном называется нейронная сеть, состоящая из чувствительных, ассоциирующих и реагирующих элементов. Сенсорный способен выдавать сигнал 1 либо 0. Далее сигналы поступают в слой ассоциативных. Ассоциативный элемент – обычный нейрон модели МакКаллока-Питса с бинарно-пороговой функцией активации. Реагирующий элемент – обычный нейрон с биполярно-пороговой функцией активации. Реагирующие элементы с фиксированными весами формируют сигнал реакции персептрона на входной стимул. Фрэнк Розенблатт выделял персептроны с последовательными связями, персептроны с перекрёстными связями и персептроны с обратными связями.

Так же она должна удовлетворять следующим пяти условиям: 1. В сети имеется только один реагирующий нейрон, который соединен связями с переменными весами со всеми ассоциирующими нейронами.
2. В сети имеются только последовательные связи от чувствительных к ассоциирующим элементам и от ассоциирующих элементов к реагирующиему элементу.
3. Веса связей между чувствительными и ассоциирующих элементами являются фиксированными.
4. Время передачи сигналов каждой связью равно нулю (либо фиксированной постоянной величине).
5. Выходные сигналы всех нейронов сети формируются в виде:

Что такое персептрон розенблатта. Смотреть фото Что такое персептрон розенблатта. Смотреть картинку Что такое персептрон розенблатта. Картинка про Что такое персептрон розенблатта. Фото Что такое персептрон розенблатта

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

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

Источник

Перцептрон Розенблатта — что забыто и придумано историей?

На хабре — уже есть несколько статей про искусственные нейронные сети. Но чаще говорят о т.н. многослойном перцептроне и алгоритме обратного распространения ошибки. А знаете те ли Вы что эта вариация ничем не лучше элементарного перцептрона Розенблатта?

Например, вот в этом переводе Что такое искусственные нейронные сети? мы можем увидеть, что о перцептроне Розенблатта пишут такое:

Демонстрация персептона Розенблатта показала, что простые сети из таких нейронов могут обучаться на примерах, известных в определенных областях. Позже, Минский и Паперт доказали, что простые пресептоны могут решать только очень узкий класс линейно сепарабельных задач, после чего активность изучения ИНС уменьшилась. Тем не менее, метод обратного распространения ошибки обучения, который может облегчить задачу обучения сложных нейронных сетей на примерах, показал, что эти проблемы могут быть и не сепарабельными.

Причем это встречается на разный лад в различных статьях, книгах и даже учебниках.

Но это, наверно, самая великая реклама в области ИИ. А в науке это называется фальсификация.

На самом деле все серьезные ученные знают, что такое представление о перцептроне Розенблатта несерьезно. Но они предпочитают об этом писать достаточно мягко. Но когда история нам представляется в существенно искаженном виде, хотя и в столь узкой сфере науки — это не хорошо. Я не хочу сказать, что это было фальсифицировано намерено. Как раз нет, это хороший пример того, как молодые люди не читают оригиналов, или читают их по диагонали, потом делаю вид, что поняли в чем проблема. И решают эту проблему. Затем становятся докторами и получают известность. А уже следующие поколение им верит. Всегда, если серьезно чем то занимаетесь, перепроверяйте классиков по оригиналам. Не верьте перепостам в статьях.

Итак, давайте откроем оригинал, описывающий перцептрон Розенблатта: Розенблатт, Ф. Принципы нейродинамики: Перцептроны и теория механизмов мозга, 1965. Вы там не найдете т.н. однослойного перцептрона — его в природе не существует, как минимум на 1965 год. Его выдумали много позднее.

Там вы сразу увидите элементарный перцептрон, у которого есть скрытый слой А-элементов.

Иногда это объясняют тем, что поменялась терминология. Увы, как слова не меняй — а нужный слой у перцептрона есть и ВСЕГДА был. Более того, сам Розенблатт пишет о том, что рассматривать перцептроны без скрытого слоя нет ни какого смысла. Это на 1965 год было элементарно, и всем известно.

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

В этом отношении разница между перцептроном Розенблатта и многослойным перцептроном по Румельхарту (MLP) только в следующем:
1. Перцептрон Румельхарта обучается алгоритмом обратного распространения ошибки, при этом обучаются веса между входным и скрытым слоем и веса между скрытым и выходным слоем.
2. Перцептрон Розенблатта обучается алгоритмом коррекции ошибки. Этим алгоритмом обучаются только веса между скрытым и выходным слоем. Что же касается весов между входным и скрытым слоем — то он не обучается осознано. Его нет смысла обучать, т.к. этот слой выполняет совсем другую задачу чем второй. Весовые коэффициенты первого слоя, а точнее возбуждающие и тормозящие связи создаются в перцептроне случайно — моделируя тут природу. Задача этого слоя как раз и заключается в том, чтобы не сепарабельную проблему трансформировать к сепарабельной. И входные импульсы проходя через связи первого слоя отображаются на пространство А-элементов. Вот эта случайная матрица и обеспечивает трансформацию в сепарабельную проблему.

Второй же слой как в перцептроне Розенблатта, так и в MLP уже только разделяет полученную после трансформации линейную задачу.

Теперь надеюсь понятно зачем первый слой — он обеспечивает трансформацию из не сепарабельной (линейно не неразделимой) в сепарабельное представление задачи. Это же и делается и в MLP, выбранный алгоритм обратного распространения этого не меняет.

Но если перцептрон Розенблатта использует случайность, то MLP путем своего обучения создает эту случайность. Вот и вся разница.

Есть ряд других отличий, следствий — но эта статья все же не для новичков, а тех кто хотя бы немного в теме. Тут я лишь хотел заметить, что новичкам перцептрон Розенблатта надо изучать по оригиналам.

А что же было забыто?

Совершенно не заслужено фамилию Розенблатта вспоминают теперь чаще в исторических обзорах. Надо отметить, что Розенблатт разработал не какой-то один вид искусственной нейронной сети. Он разработал полную классификацию всевозможных нейронных сетей. Под общие название перцептрон — попадает ЛЮБАЯ ныне существующая ИНС. Есть у Розенблатта и многослойные перцептроны, которые по его терминологии начинаются с двух внутренних слоев, и рекуррентные перцептроны, и много других подтипов. Причем в отличии от современно разрабатываемых их характеристики Розенблаттом просчитаны более тщательно. Именно поэтому просто необходимо вновь разрабатываемую ИНС сравнивать вначале с соответствующим по классификации перцептронов от Розенблатта — если такого сравнения нет, то и эффективность новой ИНС совершенно не ясна. А многие разработчики ИНС — не удосуживаются этого сделать, и как следствие много званых, и не одного призванного.

P.S. Я часто встречался со скептизмом, когда я это рассказывал. Но если вдруг не верите мне, почитайте статью Kussul E., Baidyk T., Kasatkina L., Lukovich V., Перцептроны Розенблатта для распознавания рукописных цифр, 2001.

В заключение даю ссылку, где я помогу изучить перцептрон Розенблатта не по мифам, а по оригиналам: Здесь мы изучаем возможности перцептрона Розенблатта

upd. Тем кто еще находится в плену заблуждений — посвящается — решение перцептроном Розенблатта задачи XOR

Что такое персептрон розенблатта. Смотреть фото Что такое персептрон розенблатта. Смотреть картинку Что такое персептрон розенблатта. Картинка про Что такое персептрон розенблатта. Фото Что такое персептрон розенблатта

upd2. Спасибо все, обучение не знающих и не читающих оригиналы — не входило в мою тут задачу. Захотите нормально поговорить, пишите в личку. На вызывающие комментарии больше не отвечаю, рекомендую взять и прочитать основы.

Источник

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

Что такое персептрон розенблатта. Смотреть фото Что такое персептрон розенблатта. Смотреть картинку Что такое персептрон розенблатта. Картинка про Что такое персептрон розенблатта. Фото Что такое персептрон розенблатта

Вы, наверно, знаете, что перцептрон Розенблатта, изобретённый в середине XX-го века, стал прообразом современных нейронных сетей. Однако многое из того, что известно нам о нём и его создателе, не соответствует действительности. В продолжение серии статей об историческом развитии искусственного интеллекта попробуем разобраться, что является искажением фактов в рассказах об одном из основоположников машинного обучения, и почему он — действительно важная фигура в истории ИИ.

Что такое персептрон розенблатта. Смотреть фото Что такое персептрон розенблатта. Смотреть картинку Что такое персептрон розенблатта. Картинка про Что такое персептрон розенблатта. Фото Что такое персептрон розенблатта
Фрэнк Розенблатт. Источник фото

На чьих плечах стоял Розенблатт

В 1949 вышла работа Дональда Хебба, в которой сформулирован известный сегодня под названием «хеббовского обучения» принцип: «Когда аксон клетки A находится достаточно близко, чтобы возбудить клетку B, и многократно или постоянно принимает участие в её срабатывании, в одной или обеих клетках происходит некоторый процесс роста или метаболические изменения, таким образом, что эффективность A, как одной из клеток, возбуждающих B, растёт». Вопреки распространённому заблуждению, Хебб не был первооткрывателем этой идеи, в той или иной мере она встречается у Торндайка и Павлова, однако именно Хебб сформулировал её в явном виде и познакомил с ней исследователей в области искусственных нейронных сетей. Часто этот принцип афористично формулируют как «нейроны, которые возбуждаются вместе, связываются вместе» [Neurons that fire together, wire together]. Хеббовский принцип оказался пригодным для того, чтобы на базе его сформировать практический алгоритм обучения нейросетей, что и не преминули сделать Бельмонт Фарли и Уэсли Кларк. Они начали учить хеббовские сети на цифровой машине MTC (Memory Test Computer). Но их работы остались не замечены научным сообществом.

Марвин Минский тоже работал в этом направлении. В 1951 году он, вместе с Джорджем Миллером и Дином Эдмондсом, осуществил проект под названием SNARС (стохастический нейронный аналоговый калькулятор с подкреплением), в рамках которого «электронная крыса» бегала по электронному лабиринту и пыталась отыскать выход. Машина, моделирующая поведение крысы, представляла собой случайное соединение 40 искусственных нейронов, каждый на базе шести электроламп и двигателя. Кстати, их машина была, вероятно, первой самообучающейся электронной системой. Первую электромеханическую самообучающуюся машину годом раньше создал Клод Шеннон в рамках проекта «Тесей»; также при рассмотрении самообучающихся систем часто забывают о «Гомеостате» У. Росса Эшби. В основе этой системы лежали жидкостные реостаты.

Розенблатт вслед за этими учёными собрал и систематизировал разрозненные усилия по разработке архитектур и алгоритмов обучения.

Перцептрон Розенблатта во всей красе

Свою исследовательскую работу Розенблатт вёл в Авиационной лаборатории Корнельского университета. В январе 1957-го года секция Розенблатта опубликовала первый отчёт по проекту «Перцептрон: воспринимающий и распознающий автомат», где впервые введено определение этой штуковины. При этом подчеркивается, что система основана на вероятностных, а не на детерминистских принципах.

Что такое персептрон розенблатта. Смотреть фото Что такое персептрон розенблатта. Смотреть картинку Что такое персептрон розенблатта. Картинка про Что такое персептрон розенблатта. Фото Что такое персептрон розенблатта
Перцептрон Розенблатта. Входной (сенсорный), скрытый (ассоциативный) и выходной (реагирующий) слои нейронов.

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

Что такое персептрон розенблатта. Смотреть фото Что такое персептрон розенблатта. Смотреть картинку Что такое персептрон розенблатта. Картинка про Что такое персептрон розенблатта. Фото Что такое персептрон розенблатта

Так вот, линейный классификатор — это способ решения задач классификации, когда решение принимается на основании линейного оператора над входными данными. Линейный классификатор способен решать задачи с линейно разделимыми прецедентами.

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

Первая версия перцептрона была смоделирована при помощи компьютера 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.

Фрэнк Фердинанд был очень примечательной личностью. Он участвовал в революционном движении Российской империи, затем эмигрировал и возглавил комитет помощи евреям-беженцам Гражданской войны. Розенблатт старший собственноручно доставлял гуманитарную помощь во Владивосток, и во времена правления Колчака и Уфимской директории пытался добиться от Колчака прекращения еврейских погромов.

Академическая карьера Розенблатта была незамысловатой: после окончания Высшей школы наук в Бронксе (среднее учебное заведение с высоким уровнем преподавания) в 1946 году, Фрэнк поступил в Корнельский университет, где в 1950 году получил степень бакалавра наук, а через шесть лет — степень доктора философии с темой диссертации «Расчёт K-коэффициента и пробное применение новой техники многомерного анализа». Но на его счету были исследования, которые сегодня кажутся курьёзными. В 1966-м он присоединился к группе исследования нейробиологии и поведения, где занимался тем, что обучали крыс определённому поведению, затем умервщляли их, размалывали мозг в кашицу, вводили её в мозг других крыс и смотрели, передастся ли им выученное поведение. До этого, в 1964 году, он участвовал в исследовании, посвящённом влиянию LSD на процессы связывания серотонина в крысином мозге.

Умер Розенблатт в результате несчастного случая на водах (в английском это звучит как «boating accident»). Иными словами, он утонул. Именно этот инцидент некоторые склонны трактовать как самоубийство, хотя поводов к тому не было, и друзья учёного убеждены, что он был «не из таких».

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

Модели, созданные Розенблаттом сильно опередили время, и даже сегодня они способны эффективно решать некоторые задачи из области машинного обучения. Например, в 2001 году группа исследователей под руководством Эрнста Куссуля провела эксперименты по обучению на MNIST трёхслойных розенблаттовских перцептронов с различным количеством элементов в А-слое. Во времена Розенблатта технические возможности позволяли работать с перцептронами, содержащими в A-слое лишь до нескольких сотен элементов, а в работе Куссуля их число удалось довести до 512 000. И что вы думаете — была достигнута точность распознавания в 99,2%, что сопоставимо с лучшими моделями начала XXI века!

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

Розенблатт продолжал исследования нейронных сетей до последних дней своей жизни. Из-за его внезапной кончины, работа над перцептронами продлилась всего 15 лет, но этот период стал целой эпохой в истории коннекционизма.

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

Источник

Добавить комментарий

Ваш адрес email не будет опубликован. Обязательные поля помечены *