в 50 х годах 20 го века фрэнк розенблатт разработал персептрон розенблатта что это такое
Перцептрон Розенблатта — что забыто и придумано историей?
На хабре — уже есть несколько статей про искусственные нейронные сети. Но чаще говорят о т.н. многослойном перцептроне и алгоритме обратного распространения ошибки. А знаете те ли Вы что эта вариация ничем не лучше элементарного перцептрона Розенблатта?
Например, вот в этом переводе Что такое искусственные нейронные сети? мы можем увидеть, что о перцептроне Розенблатта пишут такое:
Демонстрация персептона Розенблатта показала, что простые сети из таких нейронов могут обучаться на примерах, известных в определенных областях. Позже, Минский и Паперт доказали, что простые пресептоны могут решать только очень узкий класс линейно сепарабельных задач, после чего активность изучения ИНС уменьшилась. Тем не менее, метод обратного распространения ошибки обучения, который может облегчить задачу обучения сложных нейронных сетей на примерах, показал, что эти проблемы могут быть и не сепарабельными.
Причем это встречается на разный лад в различных статьях, книгах и даже учебниках.
Но это, наверно, самая великая реклама в области ИИ. А в науке это называется фальсификация.
На самом деле все серьезные ученные знают, что такое представление о перцептроне Розенблатта несерьезно. Но они предпочитают об этом писать достаточно мягко. Но когда история нам представляется в существенно искаженном виде, хотя и в столь узкой сфере науки — это не хорошо. Я не хочу сказать, что это было фальсифицировано намерено. Как раз нет, это хороший пример того, как молодые люди не читают оригиналов, или читают их по диагонали, потом делаю вид, что поняли в чем проблема. И решают эту проблему. Затем становятся докторами и получают известность. А уже следующие поколение им верит. Всегда, если серьезно чем то занимаетесь, перепроверяйте классиков по оригиналам. Не верьте перепостам в статьях.
Итак, давайте откроем оригинал, описывающий перцептрон Розенблатта: Розенблатт, Ф. Принципы нейродинамики: Перцептроны и теория механизмов мозга, 1965. Вы там не найдете т.н. однослойного перцептрона — его в природе не существует, как минимум на 1965 год. Его выдумали много позднее.
Там вы сразу увидите элементарный перцептрон, у которого есть скрытый слой А-элементов.
Иногда это объясняют тем, что поменялась терминология. Увы, как слова не меняй — а нужный слой у перцептрона есть и ВСЕГДА был. Более того, сам Розенблатт пишет о том, что рассматривать перцептроны без скрытого слоя нет ни какого смысла. Это на 1965 год было элементарно, и всем известно.
Дальше сюда хотят присовокупить авторитет Минского. Но и он прекрасно знал, что такое перцептрон. И никогда он не доказывал, что перцептрон не может решить линейно не сепарабельные задачи. Он доказывал совершенно другое, связанное с проблемой инвариантности. И эту проблему сейчас не решает ни одна известная ИНС. (но это статья не об этом, если будут желающие — делайте заказ попробую написать об этом. )
В этом отношении разница между перцептроном Розенблатта и многослойным перцептроном по Румельхарту (MLP) только в следующем:
1. Перцептрон Румельхарта обучается алгоритмом обратного распространения ошибки, при этом обучаются веса между входным и скрытым слоем и веса между скрытым и выходным слоем.
2. Перцептрон Розенблатта обучается алгоритмом коррекции ошибки. Этим алгоритмом обучаются только веса между скрытым и выходным слоем. Что же касается весов между входным и скрытым слоем — то он не обучается осознано. Его нет смысла обучать, т.к. этот слой выполняет совсем другую задачу чем второй. Весовые коэффициенты первого слоя, а точнее возбуждающие и тормозящие связи создаются в перцептроне случайно — моделируя тут природу. Задача этого слоя как раз и заключается в том, чтобы не сепарабельную проблему трансформировать к сепарабельной. И входные импульсы проходя через связи первого слоя отображаются на пространство А-элементов. Вот эта случайная матрица и обеспечивает трансформацию в сепарабельную проблему.
Второй же слой как в перцептроне Розенблатта, так и в MLP уже только разделяет полученную после трансформации линейную задачу.
Теперь надеюсь понятно зачем первый слой — он обеспечивает трансформацию из не сепарабельной (линейно не неразделимой) в сепарабельное представление задачи. Это же и делается и в MLP, выбранный алгоритм обратного распространения этого не меняет.
Но если перцептрон Розенблатта использует случайность, то MLP путем своего обучения создает эту случайность. Вот и вся разница.
Есть ряд других отличий, следствий — но эта статья все же не для новичков, а тех кто хотя бы немного в теме. Тут я лишь хотел заметить, что новичкам перцептрон Розенблатта надо изучать по оригиналам.
А что же было забыто?
Совершенно не заслужено фамилию Розенблатта вспоминают теперь чаще в исторических обзорах. Надо отметить, что Розенблатт разработал не какой-то один вид искусственной нейронной сети. Он разработал полную классификацию всевозможных нейронных сетей. Под общие название перцептрон — попадает ЛЮБАЯ ныне существующая ИНС. Есть у Розенблатта и многослойные перцептроны, которые по его терминологии начинаются с двух внутренних слоев, и рекуррентные перцептроны, и много других подтипов. Причем в отличии от современно разрабатываемых их характеристики Розенблаттом просчитаны более тщательно. Именно поэтому просто необходимо вновь разрабатываемую ИНС сравнивать вначале с соответствующим по классификации перцептронов от Розенблатта — если такого сравнения нет, то и эффективность новой ИНС совершенно не ясна. А многие разработчики ИНС — не удосуживаются этого сделать, и как следствие много званых, и не одного призванного.
P.S. Я часто встречался со скептизмом, когда я это рассказывал. Но если вдруг не верите мне, почитайте статью Kussul E., Baidyk T., Kasatkina L., Lukovich V., Перцептроны Розенблатта для распознавания рукописных цифр, 2001.
В заключение даю ссылку, где я помогу изучить перцептрон Розенблатта не по мифам, а по оригиналам: Здесь мы изучаем возможности перцептрона Розенблатта
upd. Тем кто еще находится в плену заблуждений — посвящается — решение перцептроном Розенблатта задачи XOR
upd2. Спасибо все, обучение не знающих и не читающих оригиналы — не входило в мою тут задачу. Захотите нормально поговорить, пишите в личку. На вызывающие комментарии больше не отвечаю, рекомендую взять и прочитать основы.
Перцептрон Розенблатта, первая современная нейронная сеть
Дата публикации Mar 11, 2019
За последнее десятилетие машинное обучение оказало преобразующее влияние во многих областях, таких как когнитивные нейронауки, классификация изображений, системы рекомендаций или инженерия. Совсем недавно,нейронные сетиа такжеглубокое обучениепривлекли к себе еще больше внимания благодаря тому, что об их успехах регулярно сообщают как научные, так и основные средства массовой информации, см., например, AlphaGo и AlphaGo Zero Deep Mind [1] или более поздниеAlphaStar, Этот новый интерес частично связан с доступом к библиотекам с открытым исходным кодом, таким какTensorFlow,PyTorch,KerasилиFlux.jlчтобы назвать только несколько.
Хотя этот расширяющийся доступ к эффективным и универсальным библиотекам открыл двери для инновационных приложений за счет сокращения знаний, необходимых в информатике для реализации алгоритмов глубокого обучения, все еще необходимо хорошее понимание основополагающих математических теорий, чтобы создать эффективные нейронные сети. архитектура для поставленной задачи. К сожалению, изображение математики в обществе может отпугнуть студентов (см. Документальный фильмКак я пришел, чтобы ненавидеть математику для иллюстрации). Это отсутствие математической грамотности может также быть одной из причин того, почему политические и нетехнические отрасли часто либо скептически настроены, либо слишком оптимистичны в отношении результатов и способностей глубокого обучения. Дополнительно,Сюзанна Шаттакнедавно опубликовал пост, обсуждающий, почемулюди не доверяют ИИи почему промышленность может неохотно принять его. Одна из ключевых причин, которые она цитирует, хотя и не единственная, заключается в следующем:
В2018 учеба от IBM63% респондентов назвали отсутствие технических навыков препятствием для внедрения ИИ.
Люди не доверяют ИИ. Нам нужно это изменить.
towardsdatascience.com
Историческая перспектива и цели этой серии
Несмотря на то, что глубокие знания сделали это только недавно для основных средств массовой информации, его история восходит к началу 1940-х годов с первой математической моделью искусственного нейрона, разработанной McCulloch & Pitts. С тех пор в научной литературе было предложено множество архитектур, от однослойного персептрона Фрэнка Розенблатта (1958) до недавнегонейронные обыкновенные дифференциальные уравнения(2018), для решения различных задач (например, игра в Го, прогнозирование временных рядов, классификация изображений, извлечение шаблона и т. Д.). Сроки ниже (любезно предоставленоФавио Васкес) дает достаточно точную картину истории глубокого обучения.
Как видите, эта история довольно плотная. Таким образом, охватить все эти разные архитектуры в течение ограниченного числа сообщений в блоге было бы нереально. Более того, некоторые из этих архитектур нейронных сетей могут опираться на сложные математические области или даже на статистическую физику. Вместо того чтобы подробно обсуждать каждую из этих архитектур, целью этой серии является постепенное знакомство новичков с математическими теориями, лежащими в основе глубокого обучения, базовыми алгоритмами, которые он использует, а также с некоторыми историческими взглядами на его развитие. Для этого мы начнем с простых линейных классификаторов, таких как однослойный персептрон Розенблатта [2] или логистической регрессии, прежде чем перейти к полностью подключенным нейронным сетям и другим распространенным архитектурам, таким как сверточные нейронные сети или сети LSTM. Различные другие предметы, например выпуклая и невыпуклая оптимизация, теорема об универсальной аппроксимации или передовые технические и этические методы также будут рассмотрены на этом пути. Поскольку наша цель состоит в том, чтобы помочь новичкам понять внутреннюю работу алгоритмов глубокого обучения, все реализации, которые будут представлены, в основном полагаются на SciPy и NumPy, а не на высокооптимизированные библиотеки, такие как TensorFlow, по крайней мере, когда это возможно. Более того, ради педагогики и науки, все коды, используемые в этой серии, свободно доступны на GitHub [Вот] Без лишних слов, давайте начнем!
Модель искусственных нейронов МакКаллока и Питтса (1943)
Самой первой математической моделью искусственного нейрона была пороговая логическая единица, предложенная Уорреном С. МакКаллохом (1898–1969, американский нейрофизиолог) и Уолтером Х. Питтсом-младшим (1923–1969, американский логик) в 1943 году. Прежде чем погрузиться в их модели, давайте сначала быстро рассмотрим, как на самом деле работает биологический нейрон.
Описание высокого уровня биологических нейронов
Нейроны являются строительными блоками мозга. Короче говоря, нейроны являются электрически возбудимыми клетками, которые связываются с другими клетками через специализированные соединения. Существуют различные биологические модели для описания их свойств и поведения, например, см.
Хотя некоторые из этих моделей начинают приниматься в качестве строительных блоков сложных нейронных сетей (см., Например, всплеск нейронных сетей), мы в дальнейшем ограничимся описанием нейронов очень высокого уровня. Схематическое изображение показано на рисунке ниже. Для наших целей нам интересны только следующие элементы:
Принцип действия биологического нейрона можно обобщить следующим образом. Во-первых, он получает информацию от своих дендритов (то есть от других нейронов). На втором этапе взвешенная сумма этих входных данных выполняется в соме. Затем результат передается на аксон бугорка. Если эта взвешенная сумма больше порогового значения, нейрон сработает. В противном случае он остается в покое. Состояние нашего нейрона (включенного или выключенного) затем распространяется через его аксон и передается другим связанным нейронам через его синапсы. Хотя это очень простое описание этого высокого уровня принципа действия биологического нейрона, достаточно для понимания математической модели искусственного нейрона, предложенной McCulloch & Pitts в 1943 году.
Математическая модель искусственных нейронов
Основываясь на этом базовом понимании принципа действия нейрона, McCulloch & Pitts предложили самую первую математическую модель искусственного нейрона в своей оригинальной статье.Логическое исчисление идей, присущих нервной деятельности[3] еще в 1943 году. Хотя они очень просты, их модель оказалась чрезвычайно универсальной и легко модифицируемой. Сегодня вариации их оригинальной модели теперь стали элементарными строительными блоками большинства нейронных сетей, от простого однослойного персептрона до 152-слойных нейронных сетей, используемых Microsoft для победы в конкурсе ImageNet 2016 года.
Модель нейрона McCulloch & Pitts, далее обозначаемая просто как нейрон MCP, может быть определена по следующим правилам:
Учитывая входИксзнак равнох₁, х₂, х₃,. , хₙ] ᵀ, запрещающий вводяи порог Θ, выходYрассчитывается следующим образом
Для тех, кто обладает базовыми знаниями в области нейронных сетей, такая модель выглядит подозрительно, как современный искусственный нейрон, и это именно так!
Множество разных статей и постов в блогах показали, как можно использовать нейроны MCP для реализации различных логических функций, таких как ИЛИ, И или НЕ. Они проиллюстрированы ниже с использованиемМарвин МинскийВ нотации.
Следует подчеркнуть, что путем суммирования нескольких нейронов MCP можно также представить более сложные функции (например, триггер, деление на два и т. Д.). Несмотря на эту гибкость, нейроны MCP страдают от серьезных ограничений, а именно
Тем не менее, нейрон MCP тогда вызвал сильное возбуждение в исследовательском сообществе и, более чем полвека спустя, дал начало современному глубокому обучению. Попутно одно из самых важных улучшений, касающееся некоторых ограничений нейронов MCP, пришло отФрэнк Розенблатти его персептрон.
Заметка :Акшай Чандра Лагандулапрошлым летом было опубликовано прекрасное введение в нейрон McCulloch & Pitts. В частности, он иллюстрирует, как булевы функции (например, AND, OR и т. Д.) Могут быть реализованы с использованием этой модели. Для получения более подробной информации (и хороших цифр) заинтересованным читателям настоятельно рекомендуется проверить это.
Хорошо известно, что наиболее фундаментальная единица глубоких нейронных сетей называется искусственный нейрон / персептрон…
towardsdatascience.com
Персептрон: искусственный нейрон (существенное обновление до нейрона Маккаллока-Питтса)
Самая фундаментальная единица глубокой нейронной сети называется искусственным нейроном, который принимает входные данные, обрабатывает их…
towardsdatascience.com
Однослойный персептрон Розенблатта (1957)
Спустя почти пятнадцать лет после McCulloch & Pitts [3] американский психолог Фрэнк Розенблатт (1928–1971), вдохновленныйТеория Хеббасинаптической пластичности (то есть адаптации мозговых нейронов в процессе обучения), придумалперсептрон, значительное улучшение по сравнению с моделью нейронов MCP. Это изобретение дало ему международное признание, и на сегодняшний день Институт инженеров по электротехнике и электронике (IEEE):крупнейшая в мире профессиональная ассоциация, занимающаяся продвижением технологических инноваций и достижений на благо человечества», Назвал свою ежегодную награду в его честь.
Основное достижение Розенблатта заключается в том, чтобы показать, что, ослабляя некоторые из правил MCP (а именно абсолютное запрещение, равный вклад всех входных данных, а также их целочисленную природу), искусственные нейроны могут фактически извлекать уроки из данных. Что еще более важно, он придумалконтролируемыйалгоритм обучения для этой модифицированной модели нейронов MCP, который позволял искусственному нейрону вычислять правильные веса непосредственно из обучающих данных. Прежде чем погрузиться в забавные вещи машинного обучения, давайте быстро обсудим тип проблем, которые могут быть решены персептроном.
Бинарная классификация
Как мы увидим, персептрон Розенблатта может обрабатывать только задачи классификации для линейно разделимых классов Однако следует отметить, что пример на правом рисунке также может быть потенциально обработан персептроном, хотя он требует предварительной обработки входных данных, известных какособенность техникичтобы превратить его в линейно отделимую задачу,Это будет рассмотрено (надеюсь) в следующем посте.
Чтобы лучше понять способность персептрона решать проблемы бинарной классификации, давайте рассмотрим модель искусственного нейрона, на которую он опирается.
Как вы можете видеть, этот нейрон очень похож на тот, который был предложен в 1943 году McCulloch & Pitts. Тем не менее, он имеет некоторые основные различия, а именно
В математических терминах нелинейность искусственного нейрона, на которую опирается персептрон,
Эта функция соответствует функции Хевисайда (т.е.ЧАС(Z) = 0 еслиZ
Независимо от формулировки, граница решения для персептрона (и многих других линейных классификаторов), таким образом, является
или в качестве альтернативы, используя наши компактные математические обозначения
Эта решающая функция линейно зависит от входовxₖотсюда и названиеЛинейный классификатор, Более того, это уравнениегиперплоскость(простая точка в 1D, прямая в 2D, регулярная плоскость в 3D и т. д.). Векторвессинаптических весов является нормалью к этой плоскости, в то время как смещениебэто смещение от начала координат. Теперь, когда мы лучше понимаем, почему персептрон Розенблатта может использоваться для линейной классификации, вопрос, на который остается ответить
Приведено множество M примеров (Иксₘ, уₘ), как персептрон может узнать правильные синаптические весавеси смещение б правильно разделить два класса?
Алгоритм обучения персептрона
Как обсуждалось ранее, главное достижение Розенблатта состояло не только в том, чтобы показать, что его модификация нейрона МСР может фактически использоваться для выполнения бинарной классификации, но также в разработке довольно простого и в то же время относительно эффективного алгоритма, позволяющего персептрону изучать правильные синаптические весавесиз примеров. Этот алгоритм приведен ниже
Прежде чем перейти к реализации Python, давайте рассмотрим четыре простых мысленных эксперимента, чтобы проиллюстрировать, как это работает.
Как видите, этот алгоритм чрезвычайно прост. Однако может быть неясно, почему, на первый взгляд, такой простой алгоритм действительно может сходиться к полезному набору синаптических весов. Хотя это и относительно просто, доказательство конвергенции не будет представлено в данном документе и фактически будет предметом предстоящего поста. Для остальной части этого поста, просто сделайте прыжок веры и поверьте мне, это действительно сходится. В то же время, если вы скептик или просто не убеждены, вы можете проверить сообщение поАкшай Чандра Лагандулачтобы получить некоторую геометрическую интуицию, почему это работает.
Алгоритм обучения Perceptron: графическое объяснение того, почему он работает
В этом посте будет обсуждаться знаменитый алгоритм обучения Перцептрона, предложенный Мински и Пейпертом в 1969 году. Это…
towardsdatascience ком
Давайте теперь перейдем к забавным вещам и реализуем этот простой алгоритм обучения в Python. Предполагая, что вы уже знакомы с Python, следующий код не требует пояснений.
Обратите внимание, что для ясности и удобства использования мы будем на протяжении всего этого курса придерживаться API scikit-learn. Расширенная версия этого кода (с различными проверками работоспособности и прочим) свободно доступна в моем репозитории TowardsDataScience Github (Вот). Граница результирующего решения, полученная нашей моделью, показана ниже
В этом конкретном примере нашему перцептрону потребовалось три прохода по всему набору данных, чтобы правильно изучить эту границу решения. Хотя он правильно классифицирует все примеры из нашего учебного набора данных, мы увидим в последующих постах, что возможности перцептрона для обобщения довольно ограничены, в частности из-за небольших полей и высокой чувствительности к шумовым данным, которые могут даже предотвратить сходство алгоритма обучения. Тем не менее, не стесняйтесь скачать соответствующий скрипт с Github и поиграть с этой простой реализацией, чтобы построить свою интуицию о том, почему он работает, как он работает и каковы его ограничения. В конце концов,
Кончина Перцептрона
Вывод
Этот пост является первым из серии, адаптированной от вводного курса к углубленному обучению, в котором я преподаюНациональная высшая школа искусств и искусств(Париж, Франция). Поскольку мы должны научиться ходить, прежде чем сможем бегать, наше внимание было сосредоточено здесь на самих предварительных знаниях глубокого обучения, как с исторической, так и с математической точки зрения, а именно на модели искусственных нейронов МакКаллока и Питтса и однослойного персептрона Розенблат. Поскольку это очень элементарные строительные блоки современных нейронных сетей, не стесняйтесь читать о них как можно больше и играть с ноутбуками Jupyter, чтобы убедиться, что вы полностью осознаете их свойства и ограничения, прежде чем переходить к современному глубокому обучению. Я знаю, как пометить сообщение на однослойном персептроне, так как глубокое изучение может быть надуманным Тем не менее, хотя в Интернете можно найти множество учебных пособий (некоторые действительно хорошие, а некоторые немного более сомнительные) для запуска библиотек глубокого обучения, таких как TensorFlow, без необходимости глубокого (без каламбура) понимания основополагающей математики, наличие таких идей окажется чрезвычайно полезным. ценный и не позволит вам поддаться общим ловушкам глубокого обучения в дальнейшем. Итак, давайте сделаем один шаг за раз, не так ли?
В следующих нескольких постах будут обсуждаться следующие темы:
Наконец, вы найдете ниже список дополнительных онлайн-ресурсов по истории и математике нейрона МакКаллоха и Питта и персептрона Розенблатта. Не стесняйтесь проверить их, поскольку они могут относиться к некоторым аспектам, которые мы только рассмотрели!
PS: Если вы знаете любую другую соответствующую ссылку, не стесняйтесь, напишите мне, и я отредактирую пост, чтобы добавить его 🙂
Дополнительные онлайн ресурсы
Человек, который пытался выкупить мир с помощью логики
Уолтер Питтс поднялся с улицы в Массачусетский технологический институт, но не смог убежать сам
средний ком
Академические ссылки
[1] Сильвер Д., Шриттвизер Дж., Симонян К., Антоноглу И., Хуанг А., Гуэс А., Хьюберт Т., Бейкер Л., Лай М., Болтон, A., Chen, Y., Lillicrap, T., Hui, F., Sifre, L., van den Driessche, G., Graepel, T. & Hassabis, D. 2017. Освоение игры в Го без человеческого знания.Природа550 (7676), 354–359.
[3] McCulloch, W. S. и Pitts, W. 1943. Логическое исчисление идей, присущих нервной деятельности.Вестник математической биофизики5: 115-133.
[4] Минский М. и Паперт С. А.Перцептроны: введение в вычислительную геометрию, MIT press, 2017 (оригинальное издание 1969).
















