2014 dxdy logo

Научный форум dxdy

Математика, Физика, Computer Science, Machine Learning, LaTeX, Механика и Техника, Химия,
Биология и Медицина, Экономика и Финансовая Математика, Гуманитарные науки




На страницу 1, 2, 3, 4, 5 ... 10  След.
 
 О перцептроне Розенблатта
Сообщение14.10.2025, 04:51 
Пишу статью в этой области, столкнулся с повальным не знанием у оппонентов, что такое перцептрон Розенблатта. На самом деле это сильно мешает, вместо того чтобы сосредоточится на исследовании, приходится значительную часть статьи тратить на базовые объяснения. Думаю будет полезным обсудить почему так произошло. Для затравки дам введение к моей статье.

Цитата:

Введение. Перцептрон, как искусственная нейронная сеть, разрабатывался Ф.Розенблаттом в 1957-61 года [1, 2]. Только 1969 г. М. Минский и С. Паперт публикуют свой анализ ограничений перцептрона [3]. К сожалению, в 1971 г. Розенблатт погибает, так и не ответив на их критику. А DARPA прекращает финансирование, о чем упоминается в отчете 1989 года [4], в связи с желанием возобновить финансирование работ в области коннективизма. В центре, внимания тогда рассматривалась работа о новом подходе к обучению нейросетей – backpropagation [5]. Благодаря, упрощенному изложению в отчете DARPA и борьбе за финансирование возникают множественные неточности и недоразумения, которые отмечали некоторые ученые как раньше [6], так и по сей день [7]. Показывают успешность применения классического перцептрона Розенблатта с архитектурой S-A-R на задаче MNIST [8]. Но в целом, о перцептроне Розенблатта в научном сообществе забывают, и понимание о нем вырождается в однослойный перцептрон, которым он никогда не был. Поэтому следует напомнить, что хотя Розенблатт и предлагал свой “метод коррекции с обратной передачей сигнала ошибки”, он был стохастическим и имел плохую сходимость. К сожалению, последующие ученые недооценили роль случайности, используемую в работе перцептрона. Автором ранее уже были предложены практические уточнения [9] достаточных условий для того, чтобы перцептрон был в состоянии сформировать пространство, удовлетворяющее гипотезе компактности. Но на практике так и оставалось не ясным как обучать скрытый слой перцептрона, без вычисления градиентов, в отличии от того, как это делается в алгоритме backpropagation. Конечно, автор понимает, что успех метода backpropagation и его результаты может затмевать любые альтернативные способы обучения нейросетей. И мы их покажем в сравнении на простой задаче четность. Но учитывая, как много времени и усилий различных ученых прямо или косвенно были посвящены различным аспектам работы нейросетей, в основе которых находится алгоритм backpropagation, не стоит ждать от альтернативных методов сразу потрясающих результатов. Дело в том, что прямо сравнивать MLP+backpropagation vs. Perceptron сложно, т.к. они принципиально по-разному решают задачи классификации. И мы постепенно, пройдем от наивной реализации на C#, через анализ и интерпретацию работы перцептрона, и только затем сделаем отдельные оптимизации

[1] Rosenblatt, F. (1957). The Perceptron—a perceiving and recognizing automaton. Report 85-460-1. Cornell Aeronautical Laboratory
[2] Rosenblatt, F. (1961). Principles of Neurodynamics: Perceptrons and the Theory of Brain Mechanisms. Report No. VG-II96-G-8. Cornell Aeronautical Laboratory
[3] Minsky, M., Papert, S. (1969). Perceptrons: An Introduction to Computational Geometry. United Kingdom: MIT Press.
[4] DARPA (1987) Neural Network Study Final Report. United States: The Laboratory.
[5] Rumelhart, D. E., Hinton, G. E., Williams, R. J. (1985). Learning Internal Representations by Error Propagation. United States: Institute for Cognitive Science, University of California, San Diego.
[6] Olazaran, M. (1971) A Sociological History of the Neural Network Controversy. Advances in Computers. United Kingdom: Academic Press.
[7] Kirdin, A. N., Sidorova, S. V., & Zolotykh, N. Y. (2022). Rosenblatt's first theorem and frugality of deep learning. Entropy, 24(11), 1635
[8] Kussul E., Baidyk T., Kasatkina L., Lukovich V., (2001) Rosenblatt Perceptrons for Handwritten Digit Recognition. — P. 1516—1520.
[9] Yakovlev, S., (2009) Perceptron architecture ensuring pattern description compactnes, Scientific proceedings of Riga Technical University, RTU, Riga

 
 
 
 Re: О перцептроне Розенблатта
Сообщение14.10.2025, 18:46 
Довольно распространено понятие "однослойный перцептрон", а про Розенблатта нигде не упоминается.

 
 
 
 Re: О перцептроне Розенблатта
Сообщение14.10.2025, 18:58 
tac
Действительно, Розенблатт всех попутал. Из-за него, я так понимаю, нейроном иногда считается не функция, а сигнал на синапсе (!?!). Когда говорят "трёхслойный перцептрон Розенблатта", имеют в виду нейронную сеть, имеющие 1. входные данные, 2. данные на скрытом слое и 3. выходные данные - вот вам эти три слоя! Хотя есть только два слоя нейронов - скрытый слой и выходной слой - двухслойная нейронная сеть.

Но это ещё ничего... Кругом шастают студенты, которые на полном серьёзе спрашивают: "Как добавить нейроны смещения (neurons of bias)?". На минуточку, смещение - это константа $1$, дополнительно подаваемая на каждый слой нейронов хз чего. И это всё из-за Розенблатта.

(Оффтоп)

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

 
 
 
 Re: О перцептроне Розенблатта
Сообщение14.10.2025, 21:12 
>Довольно распространено понятие "однослойный перцептрон"
Знаете ли вы как оно возникло?

В отчете DARPA прямым текстом написано
Цитата:
Работа в области нейронных сетей, начавшаяся почти 50 лет назад, делится на три периода, как показано на рисунке 2-7. Первые работы, в которых основные идеи нейронных сетей были разработаны Маккалоком, а также Питтсом, Хеббом, Розенблаттом и другими, относились к 20 годам до 1960 года.
Затем в сообществе исследователей ИИ произошёл раскол, связанный с однослойным персептроном Розенблатта. Мински и Паперт из Массачусетского технологического института указали, что персептрон не может решить класс задач «исключающее ИЛИ» по уже изложенным причинам, после чего DARPA в значительной степени отказалось от него и исследований нейронных сетей в целом в пользу работ в, по-видимому, более перспективной области символьной обработки.

Такая неверная ассоциация перцептрона Розенблатта с однослойным перцептроном затем массово разошлась по английской литературе. Классический пример, это книга Уоссермен Ф. Neural Computing. Theory and Practice.

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

Цитата:
Мы условились использовать термин "перцептрон" в знак уважения к первой в этой области работе Ф. Розенблатта. ... [затем он рисует общий вид параллельных вычислений, выглядит она аналогично перцептрону, но смысл уже становится другой]

как вычислить функцию R(x) в два этапа? Вначале вычислить функции A(x) независимо одну от другой, а затем объединит результаты [я упрощаю, но пока еще тут есть функции A(x), но далее он их заменяет словом предикат. Затем]

Самый простой предикат распознает принадлежит ли фигуре X данная единственная точка (1 да, 0 нет)


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

Далее он дает определение своему перцептрону Минского, на рисунке исчезает первый S-A слой, и отображается только A-R слой, где под A еще понимается предикат (т.е. функция от входов, а не сам вход).

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

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

И только затем заканчивается его предисловие, и начинается книга. Но те кто выдумал однослойный перцептрон как понятие, видимо далее предисловия не читал, спутав перцептроны ограниченные по диаметру со случайными перцептронами.

Далее он якобы доказывает, что чтобы решить задачу четность (обобщенный вариант XOR), что необходимо чтобы хотя бы один A элемент (предикат) имел связь со всеми входами. Это доказательство сомнительно. Но что он утверждает в этой теореме

Цитата:
Теорема 3.1.1. Предикат четность имеет порядок |R|. Иными словами, для вычисления этого предиката требуется по крайней мере один частный предикат, носителем которого служит все пространство R.


Так вот, неверно как раз утверждение под "иными словами". Пусть математики помогут найти в чем именно у Минского возможно ошибка (я в свою очередь, попробую найти контрпример). Но даже это не главное. Современные нейросети, предполагают, что первый слой нейросети полносвязный, а Минский в этой теореме доказывает, что если бы он не был бы полносвязным, то он не смог бы решить задачу четности.

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

 
 
 
 Re: О перцептроне Розенблатта
Сообщение14.10.2025, 21:41 
tac в сообщении #1705915 писал(а):
>Довольно распространено понятие "однослойный перцептрон"
Знаете ли вы как оно возникло?


Как-то никогда не интересовался. Откуда цитаты?

 
 
 
 Re: О перцептроне Розенблатта
Сообщение14.10.2025, 21:43 
BlackEric в сообщении #1705917 писал(а):
tac в сообщении #1705915 писал(а):
>Довольно распространено понятие "однослойный перцептрон"
Знаете ли вы как оно возникло?


Как-то никогда не интересовался. Откуда цитаты?


[3] Minsky, M., Papert, S. (1969). Perceptrons: An Introduction to Computational Geometry. United Kingdom: MIT Press.
[4] DARPA (1987) Neural Network Study Final Report. United States: The Laboratory.

P.S. про теорему Минского 3.1.1. снимается ... кажется, я ошибся, действительно видимо нужен, как минимум один полносвязный нейрон. Но это сравнительно, вообще не ограничение :), когда в альтернативе они сейчас все полносвязные.

 
 
 
 Re: О перцептроне Розенблатта
Сообщение14.10.2025, 23:03 
Mihaylo в сообщении #1705896 писал(а):
Действительно, Розенблатт всех попутал


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

Mihaylo в сообщении #1705896 писал(а):
Кругом шастают студенты, которые на полном серьёзе спрашивают: "Как добавить нейроны смещения (neurons of bias)?"

Тоже не понимаю, зачем им это нужно. Совершенно, не нужная вещь в нейросетях.

 
 
 
 Re: О перцептроне Розенблатта
Сообщение14.10.2025, 23:08 
tac
Чтобы процитировать нужный фрагмент сообщения, выделите его мышкой и нажмите кнопку "Вставка" под этим сообщением. (Именно под этим, иначе припишете цитату не тому человеку).

 
 
 
 Re: О перцептроне Розенблатта
Сообщение14.10.2025, 23:17 
Так вот продолжим,

Цитата:
Теорема 3.1.1. Предикат четность имеет порядок |R|. Иными словами, для вычисления этого предиката требуется по крайней мере один частный предикат, носителем которого служит все пространство R.


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

 
 
 
 Re: О перцептроне Розенблатта
Сообщение15.10.2025, 11:07 
tac, а чем отличаются Модель МакКаллока-Питтса от перцептрона Розенблатта? Тем что Розенблатт добавил обучение (и изменяемость весов), и построил первую физическую (электронную) модель?

Mihaylo в сообщении #1705896 писал(а):
Кругом шастают студенты, которые на полном серьёзе спрашивают: "Как добавить нейроны смещения (neurons of bias)?".
Ну, без нейронов смещения НС хуже обучается, и точность соответственно меньше.
Не знаю почему, видимо смещение помогает отсечь среднее и таким образом лучше приблизить данные.

 
 
 
 Re: О перцептроне Розенблатта
Сообщение15.10.2025, 11:27 
Аватара пользователя
gevaraweb в сообщении #1705962 писал(а):
Ну, без нейронов смещения НС хуже обучается, и точность соответственно меньше
Зависит от того, как мы в точности считаем выход нейрона.
Сейчас почти всегда как $f(\sum\limits_{i=1}^n w_i x_i + w_0)$, и тут, понятно, никакой дополнительный нейрон не нужен. Можно убрать $w_0$ и добавить нейрон с выходом $1$ на предыдущем слое - это, по сути, отличается индексацией весов.
Если же вообще постоянный член убрать, то падает выразительная способность (а не обучение) - например, если функция активации сохраняет $0$ (а почти все сейчас используемые сохраняют), то и вся сеть целиком сохраняет $0$, что далеко не всегда желательно.

 
 
 
 Re: О перцептроне Розенблатта
Сообщение15.10.2025, 14:47 
mihaild в сообщении #1705964 писал(а):
Если же вообще постоянный член убрать, то падает выразительная способность (а не обучение)
Ну да, я как бы подразумевал, что НС без смещения в принципе не сможет хорошо давать предсказание, что процесс обучения не родит хорошую нейронную сеть = хуже обучается )
Да, нейрон смещения - такой же фиктивный, как входной нейрон. Но сильно похож на него , поэтому кому-то легче оперировать с ним, чем с $w_0$.
В этом смысле нейрон смещения - нужен. Вот, как-то так (но никак иначе).

 
 
 
 Re: О перцептроне Розенблатта
Сообщение15.10.2025, 19:05 
gevaraweb в сообщении #1705962 писал(а):
а чем отличаются Модель МакКаллока-Питтса от перцептрона Розенблатта?


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

-- Ср окт 15, 2025 20:21:17 --

mihaild в сообщении #1705964 писал(а):
падает выразительная способность (а не обучение) - например, если функция активации сохраняет $0$ (а почти все сейчас используемые сохраняют), то и вся сеть целиком сохраняет $0$, что далеко не всегда желательно.


Что значит "сохраняет ноль", и почему это не желательно?

 
 
 
 Re: О перцептроне Розенблатта
Сообщение15.10.2025, 19:33 
Аватара пользователя
tac в сообщении #1706003 писал(а):
Что значит "сохраняет ноль"
Значит, что значение функции в нуле равно нулю.
tac в сообщении #1706003 писал(а):
и почему это не желательно?
Потому что далеко не во всех задачах правильный ответ на нулевой (или близкий к нулевому) вход - нулевой (или близкий к нулевому).

 
 
 
 Re: О перцептроне Розенблатта
Сообщение15.10.2025, 19:36 
mihaild в сообщении #1706004 писал(а):
правильный ответ на нулевой (или близкий к нулевому) вход - нулевой


Отлично. Только для этого? Тогда согласен. Но это вопрос интерпретации выходов, если там нас не устраивает ноль - то ок. Но это странно, обычно он всех устраивает.

 
 
 [ Сообщений: 140 ]  На страницу 1, 2, 3, 4, 5 ... 10  След.


Powered by phpBB © 2000, 2002, 2005, 2007 phpBB Group