Comments 52
Не очень понятно зачем кому-то разбираться с тем, что такое этот ваш перцептрон Розенблатта, если это глубокая история, которой сейчас никто не пользуется? Если вы считаете, что не пользуются незаслуженно, докажите это на примере: возьмите пусть даже не LLM, а какую-нибудь область, где используются небольшие нейросети, например, распознавание картинок. Натренируйте перцептрон Розенблатта и покажите, что он справился с этой задачей лучше, или пусть также, но более экономично, чем традиционные сети. Все. Смысла в этом будет сильно больше всех ваших остальных статей по этой теме вместе взятых.
Да еще и деньгами вас закидают, как единственного в мире специалиста по этой теме, ибо сейчас деньги бросают во всех, кто может что-то хоть чуть-чуть улучшить в нейросетках.
у них отсутствует способность к обобщению на новые стимулы, не совпадающие в точности с теми, которые были показаны при обучении
Ну да, вы же не пропускаете\не пропускаете сигнал на основе данных с перцептрона, а выполняете преобразования.
Естественно, способность к генерализации падает.
Это интуитивно понятно.

А если просто пропускать или не пропускать сигнал - получается метод секущих плоскостей (потому что в простейшем случае w1x1+w2x2+w3x3 - уравнение плоскости). И можно отказаться даже от обратного распространения ошибки :) (И это решит все проблемы DeepLearning, да еще без использования этих сложных обратных распространений :) )
И вы получите аналог бустинга\деревьев.
И, да, в этих исследованиях ИИ никто не понимал, что веса - это тангенциальные коэффициенты плоскости, а вы замахнулись аж на основу основ :)
Правда, тут надо смотреть на саму плоскость (w1x1+w2x2+w3x3+...),
нормаль к плоскости (т.е. точки должны находится не просто выше или ниже линии\плоскости, а с нужной стороны (по нормали) )
И пропускать\не пропускать весь вектор\выбранную маску дальше (на следующий слой).
Такая нейросеть не нуждается в обратном распространении ошибки, не подвержена всем известным проблемам DeepLearning, гарантированно находит любые подпространства (и вообще похожа на Word2Vec :) )
А есть какое-то доказательство, что плоскостями можно классифицировать (отсекать) все виды классифицируемого? Кмк, возможны более сложные варианты, в статье даже нарисовано на плоскости разделение кругом. Подобные классификационные механизмы есть у Перцептрона или в современных вариантах? Может ограничение метода классификации секущими плоскостями и приводит в тупики переобучений, не?
Плоскостями\полигонами\Гауссовыми ядрами и прочими геометрическими примитивами можно выделить вообще всe. А если еще и операциями с множествами добавить - то еще и неплохо сэкономить в плане количества переменных.

Может ограничение метода классификации секущими плоскостями и приводит в тупики переобучений, не?
Нет, в тупик переобучений приводит именно то, что мы не выделяем все точки в пространстве при помощи геом. примитивов, а то что мы применяем нелинейные функции по сто раз подряд (т.е. чуть ли не хэширование выходит :) )
Доходит до того, что изменение 1 пикселя приводит к краху работы классификатора.
мы применяем нелинейные функции по сто раз подряд
Других не завезли в реальный мир, линейных зависимостей по полному диапазону в реальном мире не бывает.
В аналоговом вычислителе честная линейность привела бы к перегрузкам и отказу, в цифровом – вообще невозможна из-за конечности дискретного пространства состояний вычислителя. Отсюда и нормализация, и все эти нелинейные функции активации.
С геометрическими примитивами проблема никуда не уходит, кстати.
Других не завезли в реальный мир
Да вот вам 8 только элементарных.
Отсюда и нормализация, и все эти нелинейные функции активации.
Ну прочитайте хотя бы пару публикаций о персептнонах\перцептронах.
Нелинейность нужна только лишь потому что перцептрон из 1000 линейных слоев прямо математически сводится к однослойному перцептрону :)
Тут абстракции и потекли :)
Корректнее говорить не Исходный сигнал, а исходные координаты многомерной точки\вектора.
После 10-20 таких преобразований, тем более нелинейных, уже тяжело что-то сопоставить. Да и приходится делать обратное распространение ошибки. А если просто рисовать многомерные плоскости - все просто
Я долго вам не отвечал, я на самом деле так и не понял, что вы хотите сказать. По серьезнее можно?
Что вы не поняли:
1) персептрон и ИНС базируются на уравнении многомерной плоскости
2) многослойный персептрон без функции активации сводится к однослойному
3) в ИНС нейрон - тот же персептрон, только с нелинейной функцией активации
4) применять сто раз подряд нелинейные функции и ограничивать множества многомерными плоскостями - не одно и то же
многослойный персептрон без функции активации сводится к однослойному
а такие бывают? Без функции активации не бывает "нейронов"
не одно и то же
и чем же это отличается? Вам кажется, что кошка, которую вы привели станет более круглой?
Как я понимаю, кошка с нелинейными функциями будет чем то таким, вместо треугольников, типа сферические треугольники, но принципиально это не изменится.
Но это с тем пониманием, что так будет аппроксимироваться не кошка отдельно, что нам чисто из-за антропоцентричного взгляда может показаться, что это лучше выглядит, а по такому принципу будет аппроксимироваться весь класс возможных кошек. И совсем не факт, что прогноз на базе выбранной нелинейной функции будет хоть чем то лучше соответствовать реальности по сравнению с низкополигональной "кошкой", особенно, если полигонов за счет скорости можно будет добавить больше, чем "нелинейных треугольников"

Напишите уравнения, все станет ясно.
Вы хотите изобрести Персептрон с нелинейной функцией активации.
Потом вы захотите несколько персептронов в ряд еще поставить (потому что они нелинейные, и теперь 1000 персептронов не сводится к 1).
А 1000 персептронов в ряд с линейной функцией активации сводятся к одному.
Вы пишите глупости. Я совершенно не хочу перцептрон с нелинейной функцией. В ней нет никакой надобности. Пишите уравнения сами, вам это больше будет полезно. Когда надоесть писать глупости - почитайте книгу Розенблатта, там для вас есть раздел даже в книге Розенблатта "Перцептроны", раздел 10.3, и следующий 10.4. , Перцептроны с нелинейными передающими функциями
в следующем разделе, покажем, что ИНС может обходится без многослойной архитектуры, и это не влечет за собой экспоненциального роста количества нейронов среднего слоя для того, чтобы запомнить обучающую выборку;
а в разделе «О прогнозировании», вернемся к вопросу оправданности иерархического выделения признаков для прогнозирования.
Вкратце - вы генерируете псевдонаучные публикации при помощи ChatGPT

Хватит писать глупости, прочитайте лучше статью, может быть поймете тогда почему там так написано. В общем я понял, аргументов у вас нет, начинается клевета.
Вы думаете это что-то доказывает? Серьезно? ваши определятели уже давно не могут различить ничего. Все с вами ясно. С вами диалог закончен.
Да, если вы хотите взять число A равным числу элементов выборки - посмотрите уже SVM ) И Gaussian Kernel-ы.
Так вы и сжатия не получите (вы всегда можете просто находить ближайший вектор из обучающей выборки, за линейное время, да. А отсортировав вообще за Nlog(N)),
да еще на все минусы персептронов нарветесь (это плоскости, в наборе (1,1) , (1,0), (1,1.1) вы векторы 1 и 3 уже с трудом различите).
Не хватило научности - делайте объединения, пересечения и разности полученных множеств. На основе интегральных показателей )
да еще на все минусы персептронов нарветесь (это плоскости, в наборе (1,1) , (1,0), (1,1.1) вы векторы 1 и 3 уже с трудом различите).
Откуда вы это бред берете?
если вы хотите взять число A равным числу элементов выборки
С чего Вы это взяли?
можете просто находить ближайший вектор из обучающей выборки
И как вы эту близость собираетесь мерить? И что это даст?
С чего Вы это взяли?
Так вы и написали
число А – элементов должно быть в идеале равно числу примеров в обучающей выборке
SVM в этом случае даст несравнимо лучшие результаты.
Откуда вы это бред берете?
Возьмите и нарисуйте.
И как вы эту близость собираетесь мерить? И что это даст?
Эвклидово\Манхэттенское расстояние должно подойти. Для определения принадлежности к классу же.
Так вы и написали
А внимательнее читать не пробовали? Это максимально нужное число, а дальше читали?
Эвклидово\Манхэттенское расстояние должно подойти. Для определения принадлежности к классу же.
И дальше что? Утверждаете, что это будет сравнимо с тем, что в перцептроне?
Можете хоть одно предложение дописать до логического конца?
Нет, конечно. Вам лекции читать никто не собирается, и пересказывать как шел ML с 60-х.
Вам явно указали и на другие недостатки (вроде проблем с разделимостью, смещением одной из N координат, небольшой сдвиг всех координат, и т.д.).
Если вы прочли хотя бы с десяток статей, наверное знаете, что перцептроны дают невнятную не интерпретируемую мозаику из линий.
В лучшем случае вроде такого:

И если речь идет про модели по размеру сравнимые с данными для обучения - лучше использовать SVM.
Вам лекции читать никто не собирается, и пересказывать как шел ML с 60-х.
Себе прочитайте и прочистите голову от мифов.
Вам явно указали и на другие недостатки (вроде проблем с разделимостью, смещением одной из N координат, небольшой сдвиг всех координат, и т.д.).
Нет, никто не указал. И никакой проблемы с разделимостью нет вообще. Глупости про сдвиг оставьте тоже себе.
Если вы прочли хотя бы с десяток статей, наверное знаете, что перцептроны дают невнятную не интерпретируемую мозаику из линий.
Я прочитал побольше вашего. Но такого загадочного бреда не встречал - укажите источник, или потрудитесь объяснять. XOR перцептрон решает на раз, а откуда вы взяли такие рисунки и что они по вашему означают никто не может догадаться.
(я тогда хоть смогу спорить с источником, а не с человеком с заблуждениями, который не может построить ни одно завершенное предложение)
Я прочитал побольше вашего. Но такого загадочного бреда не встречал
Так и есть ) И про линейную разделимость, и PoorFir.
https://www.ryanirl.com/blog/perceptron

The limitations of the Perceptron algorithm, particularly its inability to find an “optimal” hyperplane, leads us to more advanced algorithms. One such algorithm is the Support Vector Machine (SVM)
А про глупости про шум - тут читайте ссылку, там есть уравнения, из них все понятно )
И вот про прекрасную разделимость (без полярных координат не работает. В интернете есть и другие примеры :) ):
https://insidelearningmachines.com/perceptron_algorithm_from_scratch
В общем, читайте литературу, просвещайтесь.
Ясно, вы в самом начале своего пути и начитались бреда. То что там описывается, это не перцептрон Розенблатта. У перцептрона Розенблатта три слоя элементов S-A-R , где они у Ryan Peters ?
Ну, собственно, Ryan Peters - это и есть распространитель мифов, о которых я и пишу в своей статье. Если вы как то аффилированы с ним, попросите его не распространять фейки в науке. А сами внимательно читайте, что есть перцептрон. Мне вы видимо не поверите, поэтому откройте оригинал.
Но начните пожалуй с Википедии статья Перцептрон, это я её писал еще лет 15 назад, так вот посмотрите там вначале как решается задача XOR перцептроном.
Бред о линейной разделимости отпадет сам собой.
Да, бред отпадает сам собой, если это написано даже в учебных материалах MiT.
Так же вы всегда, даже находясь на вершине человеческой цивилизации - в Риге (плач, MiT), нарисовать как SAR разделяет пространство, и убедиться что это - кривая мозайка :)
А открыть, вместо искаженных учебных материалов, оригинал работ Розенблатта- видимо не судьба?
P.S. А Бред писали и куда более именитые ученные, кроме собственно Минского, или там Румельхарда с Хинтоном - если вы у них найдете, такого же уровня бред, то ок. Но не найдете. Все остальные несут бред, если говорят, что перцептрон не решает XOR. И уж левый курс - это совсем не авторитетный источник.
Давайте по шагам - XOR решает? Уже ознакомились как? Посыпали голову пеплом? Тогда пойдем дальше, но не раньше.
P.S.S. Ну и потом я глянул, эту вашу ссылку. Из-за ваших поверхностных знаний вы не понимаете, что в той главе вам объясняют. Вас вводят в заблуждение, то что анализируемое там называют перцептроном. Это не перцептрон. Это исключительно A-R слой перцептрона. Да он решает задачу, если обучающие множество линейно разделимо (как там и сказано). Но слой SA - это слой, который обеспечивает линейную разделимость причем гарантировано - а как я все ссылки дал, идите и учите, за вас это никто не будет делать.
Дам только последнею подсказку - внимательно прочитайте раздел Offset, и подумайте что дает увеличение размерности пространства.
Еще немного подумайте.
и так, после A слоя у нас - новый набор векторов (каждая координата - выше или ниже определенной плоскости данная точка).
Этот набор линейно разделим (увы, R - только одна плоскость :))?
Нет. И гарантии линейной разделимости нет.
Все, чудеса персептрона из 2-х слоев закончились ).
Именно, подумайте вам осталось немного, надеюсь просветление наступит у вас. После А-слоя у нас уже вектора в другом пространстве большей размерности, и вот в этом пространстве отображения входных векторов гарантированно линейно разделимы.
Посмотрели как решается задача XOR перцептроном? Или я зря теряю с вами время?
https://en.wikipedia.org/wiki/Linear_separability
вектора в другом пространстве большей размерности, и вот в этом пространстве отображения входных векторов гарантированно линейно разделимы.
Почти гарантированно линейно разделимы, если N<2*K (N - количество точек, K - размерность пространства).
Нет, 100% , если число A элементов > 1000 и >= N (N - количество примеров обучающей выборки)
Например, задача четность для 16 бит, всего возможных примеров 2^16 = 65536, в теории нужно именно 65536 А-элементов (на практике хватает 3000, из-за свойств самой задачи, на самом деле задачи где нужно как в теории нету, разве что совсем рандом, но не псевдорандом, а настоящий, псевдо рандом тоже решается меньшим количеством). От R-элементов число A-элементов не зависит, т.е. отображается на сколько угодно классов.
Всё тоже самое будет справедливо для backpropagation
Ну, выучите уже, это не сложно.
Давайте подытожим где вы не угадали:
1) SVM лучше перцептрона по памяти и качеству
2) даже небольшой сдвиг всех входных координат или одной координаты намного полностью нарушает работу персептрона (и нейросетей)
3) Гарантий линейной разделимости всего что поступает в R слой нет
4) Существуют куда более простые и понятные модели, без преобразования координат (еще с 1990-х)
5) В последнем примере - на практике хватает одного элемента. (это последний бит)
Послушайте, вас, экспертов на хабре много (и по DDD, и по Classical ML).
Ну, выучите уже, это не сложно.
Гарантий линейной разделимости всего что поступает в R слой нет
Именно, что есть.
все остальное вообще не относится к нашему разговору.
Интерпретация и оптимизация перцептрона Розенблатта
а интерпретация и оптимизация перцептрона где?
а интерпретация и оптимизация перцептрона где?
Но в статье написано же:
дальше по понятным причинам нет разделов с научной актуальностью
Но даже если я надумаю описать, Вам еще рано, вы не разобрались с ролью первого слоя перцептрона и гарантийной линейной разделимостью ...
Но если без пафоса, Вас то самого устраивает уровень интерпретации ИНС? Понимания их работы?
Вы наверное шутите.
Я же сказал - я читал о персептронах и ограничениях и линейном программировании довольно много.
Мой уровень понимания НС - я могу ОБУЧАТЬ модели в 200 Гб ... Дома.
https://habr.com/ru/articles/944462/comments/#comment_28834738
Могу даже найти оригинальную статью, правда там на уровне логических функций бред пошел (там не нужен DreamCoder).
Вкратце - есть ограничения, например линейные.
Все, что по одну сторону от 3-х пересекающихся линий находится как c1&c2&c3
все, что находится вне трех линий !c1|!c2|1c3.
Объединение двух и более площадей\объёмов - через или:
v1 = c1&c2&c3
vS = v1| v2
Вот такие операции задания множеств и нахождения объединений\пересечений\разности.
Мой уровень понимания НС - я могу ОБУЧАТЬ модели в 200 Гб ... Дома.
Так почему бы вам про это не написать статью? Пока ваши объяснения непонятны, от слова совсем. Нет, ну если кто-то, что-то понял - пусть напишет. Но если честно, вы ведь даже не старались объяснить то что знаете? Совершенно не ясно причем тут ваши графические методы и нейросети и куча еще чего ... поэтому все это не релевантно к данной теме и к моей статье.
Вам уже написали:
1) вы читали меньше меня
2) у вас нет ни интерпретации ни оптимизации персептрона (А как публикация называется? А какие понятные причины? :) )
(и интерпретировано все, и оптимизировано, и это уже сделано с позиции LP)
3) почему те, кто понимает нейросети и перцептроны лучше, чем средние дурачки из Google (или CAS), не пишут вам статьи об этом. Да еще и бесплатно )
Удивительно, но у меня есть куда более перспективные занятия (а хабр с точки зрения науки - трэш :) ).
Вы пропустили 3-4 публикации:
1) Перцептрон, знаки в S/A слое и гиперкубы логических функций
2) Перцептрон, нейросети и ошибки из-за ненормированного расстояния до гиперплоскостей
3) Перцептрон как линейное ограничение
Оставьте ваше мнение при себе, рецензент мне тут нашелся ))
Читал он больше, да ничего не знает ))
У перцептрона есть ограничения, только совсем не те, и не так примитивно интерпретируемые вами ...
Вообще есть более простой и наглядный способ доказать, что пространство перцептрон двухслойный разделяет -
Сказать, что в слое R вычисляется логическая функция от ограничений, задаваемых гиперплоскостями из A слоя.
(потому что x1*w1+x2*w2+w3 - ненормализованное расстояние с направлением (directed distance). Или по одну сторону от плоскости с началом координат точка (знак +) или по разные (знак -))
и так, из A слоя нам приходят нули, или какие-то константы (если мы по нужную сторону от прямой\плоскости)
например x1+x2+x3>450 true, если X1=200 true, X2 = 200 true и X3= 50 true
OR Добавляется аналогично. x1+x2+x3+x4+x5>550, x4=100 x5=100, x1&x2&x3&(x4|x5)
Аналогично, через сумму, можно представить абсолютно любое логическое выражение.
В чем подвох с персептороном?
Вы для персептрона замучитесь знаки перебирать (+1 или -1 в S и далее. Там за 2^300 знаков). А на уровне ограничений - как формовка пластика - просто берете N плоскостей в бесконечности, и двигаете их за T. Потом дырки выковыриваете (которые представлены выражением !(x1&x2&x3) = !x1|!x2|!x3). Все, модель любой размерности за T, или как делать свой Transformer на домашнем ПК (без шуток, привет W2V).
Так вот - Интерпретация и модернизация персептрона это то, что я тут и написал.
Совершенно ничего не понятно, если у вас есть альтернативные методы обучения перцептрона - напишите код и выложите, так будет понятнее )
Что еще?
Сколько ЗП PhD?
4(пока учишься)-8(уже умеешь) к$
(Это у рядовых, даже у дурачков из Google ЗП больше).
Вот давайте на N умножим (чет в мире походу сто дураков и осталось, которые знают теорию ML более-менее, вплоть до ограничений и геометрических примитивов. Чтобы любые НС в один слой писать и гарантированно обучать :)
Проблемы даже с Тангенциальными Коэффициентами, да? :) )
Это довольно очевидный метод, уже описанный (но малоизвестный).
И называется это
https://ru.wikipedia.org/wiki/Графический_метод_решения_задачи_линейного_программирования
Но даже если я надумаю описать, Вам еще рано, вы не разобрались с ролью первого слоя перцептрона и гарантийной линейной разделимостью
Я прочитал побольше вашего. Но такого загадочного бреда не встречал - укажите источник, или потрудитесь объяснять.
Ну, выучите уже, это не сложно.
Есть кстати тысячи улучшений (За N времени):
1) Отсекать по минимальным\максимальным значениям по осям
2) Добавить еще M гиперплоскостей неподалеку со слегка модифицированными угловыми коэффициентами (чтобы не тащить во время оптимизации гиперплоскости из +inf)
и т.д.
А за фолд респект, правда есть ньюансы:
1) Температура
2) Персептрон не годится, лучше SVM
3) наличие воды (да, AlphaFold показывает погоду на марсе, это выяснили в CAS) и pH
меняют картину чуть ли не полностью (а еще ситуация в соседних участках)
Ну и алгоритмически это полностью решаемо. Лучше делать на уровне сил (чтобы смотреть, как происходит сворачивание).
Функция 7-10 переменных, или Titanic Dataset :)
Ну и хоть концентрацию электронов, примерную скорость, направление перемещения у участков белка (фолд-3)
Автору. Спасибо за статью, очень полезно, а также на ссылки. Плюсик Вам в карму.
По мере любопытства слежу за статьями по теме ИИ примерно с 1975года.. и не понимаю, почему эту конструкцию считают аналогом сети нейронов. Кмк, это нечто свое, собственное.
Нейрон - это однотактовый вычислитель, имеющий как принято, два состояния: включен и выключен, но .. так ли это? Если учесть, что весь код ДНК кодируется 4 состояниями, то меня давно гложет сомнение, и вполне возможно их не 2, а 4: "включен - был включен", "включен - был выключен", "выключен - был включен", "выключен - был выключен". Иначе вопрос отслеживания и моделирования временных процессов кмк, проблематичен, но "со стороны" эти 4 состояния будут выражены только двумя.
Эта мысля давно сидит в голове, т.к. основное отличие от группы нейронов тут, кмк в отсуствии моделирования "дендридной части нейрона", которая (на Хабре пробегал цикл статей на подобную тему) может выполнять роль "контекстной памяти" при обработке весов от синапсов и емкость которой там оценивалась в районе 300-500мегабайт, с шириной слова от 70 до 250бит.. цифирьки запомнились. И это не набор "коэффициентов" модели Персептрона .. это "контексты" - картинки (веса) переключений насколько понял тот цикл статей.
Как это учитывается в современных сетях (или моделируется)?
Не специалист, возможно просто не так понимаю всю эту кухню..
"включен - был включен", "включен - был выключен", "выключен - был включен", "выключен - был выключен"
Не очень понятно из контекста, о чем вы спрашиваете. Простой перцептрон таких состояний не имеет, это больше признак рекуррентных сетей. Настоящие нейроны? Они конечно, на порядок сложнее и да у них есть нечто аналогичное, только еще сложнее. У них есть т.н. рефрактерный период, который позволяет им хранить информацию какое время они не активировались.У меня две связанные с этим статьи, которые показывают как это свойство можно моделировать, и что оно очень важно. Если вам интересно напишите в личку, выложу текст этих статей.
и вполне возможно их не 2, а 4
Если эту мысль додумать с учётом того, что химия нейрона не безынерционна, вам придётся уйти от модели однотактного вычислителя, и строить новую модель на формулах кинетики химреакций. Так что если совсем честно моделить, состояний не 2 и не 4.
Интерпретация и оптимизация перцептрона Розенблатта