All streams
Search
Write a publication
Pull to refresh

Comments 52

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

Это не требует доказательства, это известно. Первая же ссылка в статье

На практике же это в известной степени не так, в работе [1] для распознавания рукописных цифр на базе MNIST была получена точность распознавания выше 99%.

у них отсутствует способность к обобщению на новые стимулы, не совпадающие в точности с теми, которые были показаны при обучении

Ну да, вы же не пропускаете\не пропускаете сигнал на основе данных с перцептрона, а выполняете преобразования.

Естественно, способность к генерализации падает.

Это интуитивно понятно.

Простое, довольно очевидное преобразование.. Пумы?
Простое, довольно очевидное преобразование.. Пумы?

А если просто пропускать или не пропускать сигнал - получается метод секущих плоскостей (потому что в простейшем случае 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 координат, небольшой сдвиг всех координат, и т.д.).

Если вы прочли хотя бы с десяток статей, наверное знаете, что перцептроны дают невнятную не интерпретируемую мозаику из линий.

В лучшем случае вроде такого:

Типичный XOR в 2 линии
Типичный XOR в 2 линии

И если речь идет про модели по размеру сравнимые с данными для обучения - лучше использовать SVM.

Вам лекции читать никто не собирается, и пересказывать как шел ML с 60-х.

Себе прочитайте и прочистите голову от мифов.

Вам явно указали и на другие недостатки (вроде проблем с разделимостью, смещением одной из N координат, небольшой сдвиг всех координат, и т.д.).

Нет, никто не указал. И никакой проблемы с разделимостью нет вообще. Глупости про сдвиг оставьте тоже себе.

Если вы прочли хотя бы с десяток статей, наверное знаете, что перцептроны дают невнятную не интерпретируемую мозаику из линий.

Я прочитал побольше вашего. Но такого загадочного бреда не встречал - укажите источник, или потрудитесь объяснять. XOR перцептрон решает на раз, а откуда вы взяли такие рисунки и что они по вашему означают никто не может догадаться.

(я тогда хоть смогу спорить с источником, а не с человеком с заблуждениями, который не может построить ни одно завершенное предложение)

Я прочитал побольше вашего. Но такого загадочного бреда не встречал

Так и есть ) И про линейную разделимость, и PoorFir.

https://www.ryanirl.com/blog/perceptron

Figure 6: An example of the Perceptron algorithm on different toy datasets. The left 2 images illustrate good fits that would likely generalize quite well, and the right 2 illustrate proper data separation but a poor fit.
Figure 6: An example of the Perceptron algorithm on different toy datasets. The left 2 images illustrate good fits that would likely generalize quite well, and the right 2 illustrate proper data separation but a poor fit.

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.

https://openlearninglibrary.mit.edu/assets/courseware/v1/8f4f9aca5581dde50291b0d0e29d0148/asset-v1:MITx+6.036+1T2019+type@asset+block/notes_chapter_The_Perceptron.pdf

Так же вы всегда, даже находясь на вершине человеческой цивилизации - в Риге (плач, 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).

https://coub.com/view/49sjid

Так вот - Интерпретация и модернизация персептрона это то, что я тут и написал.

Совершенно ничего не понятно, если у вас есть альтернативные методы обучения перцептрона - напишите код и выложите, так будет понятнее )

Что еще?

Сколько ЗП 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.

Sign up to leave a comment.

Articles