All streams
Search
Write a publication
Pull to refresh
-5
9
Сергей @tac

Программист

Send message

Обучение скрытых слоёв S–A–R перцептрона без вычисления градиентов

Level of difficultyMedium
Reading time5 min
Views1.9K

C. Яковлев mg.sc.comp e-mail: tac1402@gmail.com

Disclaimer.  Это анонс, я еще работаю над научной статьей, но пока не могу найти ментора для возможности публикации в arxiv.org. Но пока хочу поделится с вами некоторыми сырыми результатами.

Аннотация. Классический перцептрон Розенблатта с архитектурой S–A–R исторически не имел устойчивого алгоритма обучения многослойных структур. В результате в современном машинном обучении доминирует метод обратного распространения ошибки (backpropagation), основанный на градиентном спуске. Несмотря на успехи, этот подход имеет фундаментальные ограничения: необходимость вычисления производных нелинейных функций и высокая вычислительная сложность. В данной работе показано, что при интерпретации работы нейросети через алгоритм ID3 (Rule Extraction) скрытый слой автоматически формирует чистые окрестности в смысле кластерного анализа — признаки группируются по классам ещё до завершения обучения. На основе этого наблюдения автором предложен новый стохастический алгоритм обучения, восходящий к идеям Розенблатта, но принципиально расширяющий их: он позволяет обучать скрытые слои перцептрона без вычисления градиентов. Таким образом, впервые решается классическая проблема обучения архитектуры S–A–R без градиентных методов. Это открывает путь к созданию принципиально новых алгоритмов обучения нейросетей с более простой и интерпретируемой динамикой.

Читать далее

Перцептрон SAAR (само-рекурсивный ассоциативно адаптивный резервуар)

Level of difficultyMedium
Reading time7 min
Views2.5K

Аннотация. В работе предлагается новая архитектура искусственного перцептрона — SAAR-Perceptron (Self-Recursive Associative Adaptive Reservoir Perceptron), развивающая классическую модель Розенблатта (S–A–R). Ключевая особенность архитектуры заключается во введении ассоциативного слоя с саморекурсивным отображением (A→A), формирующего динамический граф признаков. В отличие от традиционных рекуррентных моделей, эти связи не обучаются, что обеспечивает устойчивую динамику и выполняет роль адаптивного резервуара, расширяющего пространство признаков.

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

Процесс обучения в перцептроне SAAR реализован без использования градиентных методов. Для связей S→A применяется стохастическое правило коррекции, расширяющее принцип Розенблатта: активные элементы подавляются, если их активация увеличивает ошибку, и возбуждаются, если их возбуждение потенциально уменьшило бы ошибку. Важную роль играет энтропийный критерий обновления весов: вероятность коррекции пропорциональна бинарной кросс-энтропии активаций, что позволяет выделять наиболее информативные признаки. Такой подход напоминает механизм отбора в генетических алгоритмах, где «побеждает» наиболее информативный элемент. Для связей A→R используется простое локальное корректирующее правило, а вклад ассоциативных элементов оценивается через информационный выигрыш; нерелевантные элементы исключаются из работы.

Читать далее

Интерпретация и оптимизация перцептрона Розенблатта

Level of difficultyHard
Reading time8 min
Views2K

В прошлой статье на Хабре «На дворе LLM, а книгу о перцептроне так никто и не открыл!?» я указал, что многие понятия не имеют о перцептроне Розенблатта, но пишут о нем так как будто читали оригинал. И так или иначе в комментариях прошла дискуссия, как минимум с тремя оппонентами, которые тоже находятся в разного рода не знании о перцептроне. Что только подтверждает мои слова, что это массовое явление. Поэтому даже в научной статье мне придётся этому уделить не малое внимание. Свою статью, я еще не опубликовал, да ещё полностью и не написал, хотя все эксперименты были сделаны 15 лет назад, а сейчас их нужно улучшить. Собственно, когда я сам стряхнул пыль с них, я долго не мог по программному коду понять, о чем это, что это дает, так и возникла моя мысль, что это нужно донести людям. И подумал, почему бы мне некоторые разделы будущей статьи, сразу не взять и не опубликовать тут на Хабре. Имея широкий охват, это может иметь даже большую пользу, чем публикация в модерируемом издании. Поэтому ниже я дам выдержки из своего черновика статьи «как есть», относящиеся в основном к «утерянной памяти о перцептроне», но т.к. как это часть научной статьи, настоятельно прошу при цитировании ссылаться на меня. Хотя и понимаю, что выдержки не дадут вам полного понимания проблемы, но как минимум расскажут о известных фактах и надеюсь, все же уберегут от поверхностного взгляда. Ну и мало ли — если тут найдется специалист, который публикуется на https://arxiv.org последние 5 лет, мне нужна ваша помощь с рекомендацией, свяжитесь со мной. Тогда полноценная статья выйдет быстрее.

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

Читать далее

На дворе LLM, а книгу о перцептроне так никто и не открыл!?

Level of difficultyMedium
Reading time4 min
Views7.9K

Сложно следить за околонаучными темами, и понимать, что ветка эволюции научного направления пошла не туда. Сейчас случился некий бум псевдонаучного взлета LLM, и я приведу в качестве современной статьи на хабре лишь одну, но это по прежнему массовое явление. Например, в статье компании Friflex за 2024 год История LLM-агентов: 10 ярких моментов по прежнему утверждается "На смену однослойному перцептрону Розэнблатта пришел многослойный. В статье Learning representations by back-propagating errors («Обучение представлений с помощью обратного распространения ошибки») Румельхарт и Хинтон показали, что многослойный перцептрон справляется с задачами, которые были не под силу его однослойному предшественнику. Например, с XOR. ". Совершенно излишне говорить, что это полное вранье, а авторы статьи даже не потрудились открыть эту статью, чтобы её прочитать. Это стало массовым явлением, и я его наблюдаю как минимум 20 лет, я когда то написал тут на хабре цикл статей объясняющих детали, лучше всего посмотреть эту Какова роль первого «случайного» слоя в перцептроне Розенблатта. Поэтому к этому возвращаться не будем. Я не знаю почему, может это массовая культура так влияет на людей, а порог вхождения в тематику ИИ слишком сложный? Не знаю, но не важно. Чтобы продемонстрировать скорость обучения перцептрона я написал несколько реализаций перцептрона Розенблатта и выложил их на гитхабе. А затем мы коснемся LLM.

Читать далее

MVC без контроллера

Level of difficultyMedium
Reading time2 min
Views7.8K

Прошло уже лет 25 со дня изобретения концепции Model‑View‑Controller, а споры и её модификации не завершаются по сей день. Хотя очевидно, что в изначальном виде эта концепция ужасна, не объектно‑ориентирована и избыточна. А избыточно именно наличие контроллера, в то время как разделение визуализации и бизнес‑логики является сердцем этой концепции, из‑за чего и живет эта идея до сих пор. Но вопрос контроллера замыливается, хотя понятно, что на его месте должна быть реализация биндинга. Особенно, когда в игровом движке Unity это биндинг уже есть изначально, хотя и появился косвенно. Об этом подробно рассказываю в следующем видео.

Читать далее

Когда в Unity нужно MVC, как сделать Binding визуальных контроллов с методом

Reading time4 min
Views5.1K

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

По ссылке "Когда нужно MVC, как сделать Binding визуальных контроллов с методом (UNITY, C#, Разработка игр)" вы можете послушать меня, а кто хочет почитать прошу подкат.

Читать далее

Как учат создавать игру вида TowerDefence — ошибки «новичков»

Reading time3 min
Views14K
Достаточно много времени я потратил на рефакторинг одного проекта, который судя по заявлениям автора проекта был основой для обучения студентов в МФТИ. Выполнен этот проект просто ужасно, учить так студентов — пожалуйста так не нужно.

Весь рефакторинг выполнен онлайн в виде 6 частей, каждая по 2-3 часа стримов на ютубе, ниже я дам только ссылку на затравку, а полные стримы вы сможете найти на том же канале.
Разбор чужого кода — так учат делать Tower Defence

В статье же, будет представлена сухая выжимка — резюме, что было сделано в рефакторинге и подискутируем на тему — почему так не правильно учат? Если же у вас на первый взгляд появится субъективное мнение, что я где-то не прав, это нормально. Но лишь задумайтесь, если я на протяжении порядка 15 часов рефакторингов только и делал то, что удалял лишние сущности и связи между ними, то может все таки в моем взгляде есть что-то?



Читать дальше →

RNAInSpace и фолдинг тРНК — закрытие сезона, новый сезон — Структурное выравнивание

Reading time5 min
Views3K
И вот не прошло и полтора года как я добрался собрать третичную структуру тРНК. Напомню, что ранее писал статью на эту тему на хабре «Развитие RNAInSpace, алгоритм CRA, проблемы кода на Linux и прочие». Надо сказать, что около года я этим не занимался, но за это время вышла вторая моя научная статья на эту тему «Применение теории игр для задачи сворачивания рибонуклеиновых кислот» (это для тех, кто захочет поговорить об этом профессионально). Но вот недавно я можно сказать получил третичную структуру тРНК и сверил её с образцом, имеющимся в базе данных (PDB), который получен биологическими методами (кристалография).

Под катом рисунки 3D-структуры тРНК, пояснения и планы на будущее.
Читать дальше →

Где наша бизнес-логика для идеалиста?

Reading time11 min
Views25K
В этой статье я попробую сам разобраться в себе и в своих аргументах. Для начала попробую оппонировать автору статьи, перевод которой нашел на хабре Где наша бизнес-логика, сынок?. Её писал такой же идеалист, которым я был еще лет 10 назад. Поэтому по сути в этой статье я буду спорить сам с собой. Дело в том, что чем больше приложений я разрабатываю тем больше красивые теории перестают вписываться в идеальные схемы. Идеальные схемы хороши тем, что они просты. Вас спрашивают где бизнес слой? И ты легко можешь сказать на стороне клиента или на стороне сервера. Если смешенно многозначительно крутят носом и говорят «гавно-код». С этим я не согласен. Реальный мир не вкладывается в идеалистические концепции, точнее его можно туда запихнуть, но мы от этого скорее потеряем. Поэтому вначале подсознательно я понимал, что есть разные случаи. А теперь все более пытаюсь сформулировать, что влияет на то или иное решение по размещению бизнес логики. Здесь мы оставим красивые теории без аргументации молодым утопистам желающим простых решений.

Читать дальше →

Анализ генома бактерий. Продолжение

Reading time3 min
Views5.1K
В предыдущей статье, обсуждение получилось слишком крикливым. Но мы открыли свой сайт и там будет более расширенная информация (где? — пишите письма). Я обещал написать продолжение о своем эксперименте, поэтому те кто заинтересовался проблематикой построения эволюционных деревьев — прошу под кат.
Читать дальше →

Проект «Геном прокариот» — научный стартап

Reading time11 min
Views13K
Этот проект был задуман давно. Лет 5 назад я считал, что многие результаты в геномике могут быть получены людьми далекими от биологии, коим я в полной мере являюсь. Конечно за это время я немного нахватался терминологии и немного узнал как работают специалисты. Но чем больше я узнавал как работают специалисты тем большие отторжение это у меня вызывало. Я считаю, что они явно много незаслуженно усложняют в результате чего непростая область становится непроходимой. В то время как все достаточно просто и качественно можно сделать. И да я с ними пытаюсь конкурировать (конечно, только в определенной узкой области), как бы наивно это не выглядело.

Вся проблема этого проекта — это то, что я его единственный полноценный участник. Конечно, я успел со многими за это время поговорить и многие оказали реальное влияние на проект. Всем им спасибо. Понятно, что некоммерческий проект не сильно может рассчитывать на успех. Да, действительно за каждым научным проектом стоит солидные около миллионные вливания и команда серьезных ученных. У нас этого нет, а есть лишь гуманизм и энтузиазм.

Поэтому в первую очередь я нуждаюсь в советах от тех у кого есть опыт в стартапе подобных проектов на не коммерческой основе. Во вторую очередь, нужна собственно команда программистов (от знания биологии, при необходимости, я вас освобожу :) ). А сейчас я хотел бы найти таких энтузиастов, которые могли бы обеспечить работу (скажем скромно) домашней веб-страницы проекта (прошу писать мне на почту tac@inbox.lv или личными сообщениями хабра). И конечно, важен любой другой отклик и предложения.

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

Читать дальше →

Дарвиновская эволюция бактерий — полная картина

Reading time8 min
Views18K
Я начну с провокационного заявления — «биологи не публикуют детали своих исследований». Казалось бы столько статей, столько исследований… но где описание и детализация информации, которая получена? Её в принципе нет. А статьи без такой информации пусты и спорны. Каждый нахваливает свой метод, но много ли кто озаботился верификацией чужих данных, а главное смог ли он её сделать?

Можно лишь приветствовать появление таких биоинформационных баз как NCBI genomes и PDB, в которые исследователи помещают данные о секвенированных геномах и структурах РНК, белков. И главное, некоторые ученные прежде чем опубликовать статью, прежде помещают данные в биоинформационные базы.

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

Конечно, так оно выглядит только для таких дилетантов как я. У настоящих же профессионалов все как в аптеке. Поэтому можете не утруждать себя ответом на эти пафосные заявления. Мы просто поговорим как выглядит биоинформатика в её частных областях глазами дилетанта. Но может и вас эта история к чему нибудь побудит.

Мы поговорим ниже о построение дерева эволюции согласно Дарвину, посмотрим на сколько это справедливо и таки я в итоге дам полное дерево (в рамках имеющейся информации) эволюции бактерий на основании самых консервативных генов тРНК. И дам пояснение о методе построения такого дерева.

Специалистам в биоинформатике рекомендую читать с раздела №5, пропустив весь мой пафос.

Читать дальше →

Систематика прокариот — детализированные пояснения

Reading time4 min
Views8.9K
В предыдущей статье я не сильно утруждал себя детальным описанием идеи. Мне казалось она интуитивна понятна и элементарна. Но после дискуссии с Davidov понял, что идею не так то просто схватить. Дело в том, что сейчас классические представления в филогенетике строятся на одной догме, которая искажает мировоззрение биологов.

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

Читать дальше →

Систематика прокариот — дальние родственники

Reading time4 min
Views13K
Еще летом я запланировал эксперимент и написал статью Использование UML для эксперимента по эволюционной систематике прокариот, и косвенно о психологии ученых. Результаты по грубой обработки уже были готовы к концу лета (спасибо, mktums за помощь ).

Вот теперь образовалась пауза, и я добил эту тему, и представляю результаты.

Читать дальше →

Развитие RNAInSpace, алгоритм CRA, проблемы кода на Linux и прочие

Reading time5 min
Views3.2K
Что-то давно не писал, вот решил написать промежуточную статью о развитии RNAInSpace. Первый этап статей собран в Получена траектория сворачивания вироидного рибозима или новости с фронтов при использовании ПО RNAInSpace. Попробуем начать второй этап.

Второй этап я собирался начать со сворачивания тРНК. Тут оказались некоторые проблемы. С другой стороны, есть интересный алгоритм CRA, который должен помочь решить мне эти проблемы. Он сложный и я его не понимаю. Но он реализован в некоторых ПО в основном для Linux. Что есть большое фи. В общем обо всем по порядку.

P.S. Ищу тех кто понимает математику и сможет помочь мне разобраться с алгоритмом CRA. С другой стороны, нуждаюсь в помощи тех кто использовал Gromacs.

Читать дальше →

Получена траектория сворачивания вироидного рибозима или новости с фронтов при использовании ПО RNAInSpace

Reading time5 min
Views2.3K
Пару месяцев назад я рассказывал о приближенных результатах в задаче о сворачивании РНК. Напомню требуется свернуть вироидный рибозим NC_003540 организма Chrysanthemum chlorotic mottle viroid, третичная структура которого неизвестна.

И вот оно свершилось — рибозим свернулся ! (В нем образованы все имеющиеся водородные связи)

Смотрим его конечное состояние, а под катом еще его траекторию сворачивания, а также подводим итоги.



Читать дальше →

Понятие о структурной адаптации и введение в «чистое обобщение»

Reading time7 min
Views14K
Продолжим серию статей «ИИ для чайников». Если в прошлой статье мы попробовали отграничить людей, решающих задачи «оракулов сильного ИИ» от задач «слабого ИИ», и показать решение какого рода задач дает больше, чем лирические «откровения». Одну из таких задач мы назвали «задача двух учителей».

То теперь мы посмотрим на неё под другим углом зрения. Как я говорил эта задача встречается в разных аспектах. А заодно мы посмотрим как глубоко заблуждаются инженеры «слабого ИИ» в текущей тенденции понимания задач ИИ. К сожалению, теперь образование в этой области поощряет создавать убогие формализмы и зауживать взгляд на проблематику ИИ. С одним из «выкидышей» такого рода образования мы и дискутировали в прошлой статье. Но таких людей много и напрягает тенденция при «штамповке» такого рода «образованных студентов».

Читать дальше →

Резюме проблемы «двух и более учителей» и субъективное мнение о ИИ-сообществе

Reading time9 min
Views5.2K
Пока я тут излагал мысль она несколько растеклась по статьям

1. Модель функционального разделения сознания и бессознательного. Введение
2. Модель проявления сознания или ИНС без эффекта забывания
3. Проблема «двух и более учителей». Первые штрихи
4. Обучение с подкреплением на нейронных сетях. Теория

казалось аудитория имеет нужные знания, все таки у нас цвет общества — программисты :) Но увы… последний опрос показал, что далеко не все программисты в курсе ИИ-проблематики. А хамоватые студенты набежавшие на эти статьи в комментариях — еще не доучились.

Попробуем подытожить и считайте это расширенная статья обещанная в опросе. А заодно мне сказали, что в ИИ-сообществе есть серьезные проблемы. После ряда комментариев — да видимо действительно есть. Попробуем посмотреть на тенденцию.

Читать дальше →

Обучение с подкреплением на нейронных сетях. Теория

Reading time4 min
Views26K
Я тут написал статью Проблема «двух и более учителей». Первые штрихи, пытаясь показать одну сложную нерешенную проблему. Но первые штрихи оказались немного за сложными. Поэтому я решил для читателей немного разжевать теорию. Увы, сейчас видимо учат/(учатся ?) несколько шаблонно — типа как для каждой задачи свои методы.

Так мне указали, что для задачи классификации — нейронные сети (обучение с учителем), генетические алгоритмы (обучение без учителя) — задача кластеризации, а еще есть обучение с подкреплением (Q-обучение) — как задача агента, который бродит и что-то делает. И вот такими шаблонами многие и судят.

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

И заодно проанализируем диссертацию Бурцев М.С., «Исследование новых типов самоорганизации и возникновения поведенческих стратегий», в которой не больше не меньше красиво сделано именно применение простеньких нейронных сетей в задаче обучения с подкреплением.
Читать дальше →

Проблема «двух и более учителей». Первые штрихи

Reading time5 min
Views4.5K
В двух предыдущих статьях я по касательной затронул проблему, которую назвал проблемой «двух и более учителей»:

1. Модель функционального разделения сознания и бессознательного. Введение
2. Модель проявления сознания или ИНС без эффекта забывания

Теперь хотелось бы с ней разобраться более подробно. Это сложная и еще в принципе не решенная теоретическая проблема из области искусственного интеллекта. Четко её сформулировать у меня не получается, а не то, чтобы решить. Но я с ней постоянно встречаюсь в разных задачах, и все время об неё спотыкаюсь. Эти предыдущие статьи могли показать её важность с точки зрения понимания того, что есть сознание. Но это все же лирика. А здесь я хотел бы говорить более технически.

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

Было время, когда я был фанатом игры в Цивилизацию. Надо сказать, что её первые версии были наиболее интеллектуальны, а в версии после Civilization II: Test of Time можно вообще не играть — они испортили важную интеллектуальную начинку. Поэтому совсем не удивительно, что ниже я предложу компьютерно сыграть в этюд по этой игре.

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

upd. Кажется, первые штрихи оказались несколько сложноваты. Прошу для понимания прочитать предваряющую статью Обучение с подкреплением на нейронных сетях. Теория.

Читать дальше →

Information

Rating
703-rd
Registered
Activity

Specialization

Game Developer, Software Architect
Lead
C#
OOP
ASP.Net
MSSQL
Game Development
C++
Programming microcontrollers
Software development
WPF
Unity3d