Свидетели Градиента
672 subscribers
187 photos
33 files
78 links
Этот канал предназначен для общения и обсуждений среди тех, кто как и я, хочет видеть что происходит под капотом у нейросетей, и старается развивать интуицию об их природе и свойствах.

Для связи: @kraidiky
Download Telegram
Давненько я не выкладывал ресерча. А тут вот есть что показать. По нашим тяжёлым временам тянет на статью, но что-то мне подсказывает, что статьи в ближайшее время сильно девальвируются.

Навёл меня @import_sklearn на реально интересную статью. Её карточка уже в репозитории: https://github.com/kraidiky/grokking-conceptual-review/blob/main/papers/2609.07755.a-theoretical-analysis-of-generalization-dynamics-in-neural-networks-under-gradient-descent-with-weight-decay/2609.07755.a-theoretical-analysis-of-generalization-dynamics-in-neural-networks-under-gradient-descent-with-weight-decay.card.md и аналогичная карточка на английском в параллельном репозитории.

Авторы измеряют вариацию вокруг обучающих точек, то бишь сначала вносят во входные данные небольшой шум и смотрят на сколько сильно меняется при этом ответ. Ну и я такой, а чё, и правда интересно, на сколько там плоский и не крутой рельеф на самом деле. Поскольку у меня фиксированные токены заменил one hot encoding на здоровые float у которых главный сигнал стал вместо единички 0.95 и 0.9, а остальное перераспрееделено как постоянный шум по другим токенам, и посмотрел вариацию для логитов Но кроме 5 точек из трейновой выборки посмотрел в валидационной ещё 5 точек, на которые сеть успешно отвечает только к отметке 10%, 50% и 95%, чтобы посмотреть как ландшафт меняется для трейна, а как для вала в разных его частях. Фича стенда в том, что кроме традиционных способов гроккинга "Врубить weight_decay на максимум" и "просто долго ждать", есть ещё три способа получать гроккинг при которых weight_decay вообще 0, но они при этом быстрые (ну более или менее быстрые). Они там в статье строго доказывают, правда только очень примитивной архитекутры сети, что уплощение рельефа - прямое следствие weight_decay, Поэтому, соответственно интересно, а без него как все происходт. А вот так, как на картинке. Первое - бейзлайн, потом три моих способа. Послендний - пятый - просто долго ждать. Выложу застра, он ещё до вечера завтра считаться будет.

Видно, что уплощение рельефов в окрестностях учебных примеров действительно происходит, но оно же происходит и в окрестностях валидационных примеров после того как они взяты, причём если одни взяты, а другие ещё нет, то вокруг первых рельеф уплощается, причём на порядки, а вокруг вторых, которые сеть пока не осилила - ещё нет. Видно что уплощение вокруг треновых примеров не столько предшествует гроккингу, сколько просто следует за выучиванием, что само по себе очень интересно, на самом деле. Возможно это вообще некоторое фундаметнальное свойство глубокого обучения, которое мы, пока недопонимаем. Ну или только я пока не понимаю, Очень интересно, совершенно бесполезно. На будущее очень интересно, а когда мы учимся только на одной эпохе подобное уплощение тоже идёт? Желающие у кого под рукой есть безлайн обучения языковой сетки и куча вычмощностей могут попробовать проверить.
❤4👍2
Ну тогда вот вам более развлекательного контента...
Торкнуло меня сделать обучающий симулятор химии под VR. Всё на агентах, конечно же. И уже при добавлении в него
третьей или четвёртой реакции, найденной на первых страничках книжки "Химия для любознательных" кажется я копнул черезчур глубоко. :)))

P.S. Как вам, кстати, логотип симулятора в форме собачки? Кто понял тот понял. :)

Агент Астра: Я прочитал сохранённые материалы. Проблема нынешнего пути реальна, но из неё не следует, что подходящей двухучастниковой цепочки нет. Уже нашёл более содержательное начало.

В опубликованном исследовании реакции железа с водой рассчитаны такие последовательные шаги:

1. Fe + H₂O → HFeOH
2. HFeOH + H₂O → Fe(OH)₂ + H₂

В обоих шагах по два участника. HFeOH имеет структуру H–Fe–O–H: одна связь O–H воды разрывается, железо связывается с водородом и группой OH. Это определённый химический интермедиат, для которого выполнены квантово-химические расчёты.
Исследование первого шага (https://pubs.acs.org/doi/10.1021/ct200372y), исследование двухшагового процесса (https://pubs.acs.org/doi/10.1021/jp501846f).

Ограничение источника: работа рассматривает модели атома и поверхности железа, а экспериментальную часть — наночастицы в воде. Она обосновывает кандидатные шаги, но ещё не подтверждает весь механизм реакции раскалённого железа с паром.

Дальнейшее суммарное превращение гидроксида в магнетит можно записать:

3Fe(OH)₂ → Fe₃O₄ + H₂ + 2H₂O.

В той же работе образование магнетита наблюдали при последующем превращении гидроксида. Однако это суммарное уравнение ещё требуется разложить на подходящие нам шаги. Простое объединение двух гидроксидов в один условный «пакет» повторило бы
прежнюю ошибку.

Здесь вижу два направления:

• Через молекулярные интермедиаты HFeOH и Fe(OH)₂. Ближе к нашей текущей механике отдельных частиц; начало имеет научное основание. Остаётся обосновать дальнейшее образование связей Fe–O–Fe и выделение водорода.
• Через фрагмент поверхности железа. Вода последовательно распадается на связанные с поверхностью OH, H и O. Это ближе к природе реакции твёрдого железа, но потребует представлять такой фрагмент одним взаимодействующим объектом. Подобные стадии
изучены в расчётах окисления поверхности железа водой (https://journals.aps.org/prb/abstract/10.1103/PhysRevB.64.115426).

Для нашего справочника я бы сначала исследовал продолжение первого варианта. При этом неустойчивость Fe(OH)₂ не должна автоматически запрещать его как промежуточную частицу: нужно проверить образование, последующее превращение и условия, а не
требовать от каждого интермедиата устойчивости конечного продукта.
👍2🤯1
А пока суть да дело, досчитался гроккинг в режиме "просто подождём подольше", там уплощение рельефа тоже есть. То есть есть основания полагать, что нейросеть, даже если её учить безо всяких хитростей стремится уплощать рельеф функции в окрестностях как учебных примеров, так и валидационных, после того как она научается отвечать на них правильно.

Ещё раз более медленно - рельеф меняется у неросети в валидационных примерах которых она никогда не видело ПОСЛЕ ТОГО, как она научилась на них правильно отвечать.
UPD: А для случайных точек, не являющихся валидационной задачей рельеф не уплощается. То есть там где данные корректные происходит какой-то процесс, а там где некорректные - не происзордит...

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

Следующий логичный шаг - как ситуация там, посмотреть на полнобатчевое обучение, и посмотреть в пределах какой доли шума во входных джанных рельеф остаётся приблизщительно гладким.
🔥5
Хожу по DataFest Siberia 2027. На вопрос докладчик, кто кодит руками без агентов. Поднялась одна сиротливая рука.
Бурные аплодисменты зала...

UPD: Задал залу вопрос, кто спрашивает на собеседовании кодинг без агентов или сталкивался чтобы спрашивали в последнее время. Человек пятнадцать руки подняли. :)))
👏11
Задал залу вопрос, кто спрашивает на собеседовании кодинг без агентов или сталкивался чтобы спрашивали в последнее время. Человек пятнадцать руки подняли. :)))
👌1💯1
Презентация_DF_Siberia_7_со_скриншотами.pdf
6.8 MB
Съёздил я на Data Fest Siberia 7 в Новосибирск, и сделал там доклад с большущим удовольствием. Презентация как обычно сразу тут. Видео, на самом деле, тоже скоро выложу, но не с датафеста, и рядом с ним. И немножко спама досыплю.
🔥3❤2
Кроме прочего новосибирский академгородок это много белок. И когда ты обращаешь внимание на них они сразу по умолчанию предполагают, что сейчас ты их будешь кормить. и радостно скачут в твою сторону. Но у меня ничего вкусненького не было. Это они тоже определят по поведению довольно быстро, и продолжают скакать по своим делам. Так что если соберётесь на сибирский датафест в следующем году не забудьте сунуть в карман пакетик орешков. И даже питбайкеры в академгородке какие-то более вежливые, что ли, более душевные.

Было исследование даже, что в дикой природе очень огрубляя три четверти времени белки тратять на то, чтобы найти чё пожрать, три четверти от оставшегося на создание запасов и обустройство к зиме, и жалкие 5-7% на всякое социальное общение. А в академгородке четверь времени они ищут еду, четверь времени обустриавют жизнь и запасы на зиму, а оставшиеся половину времени играют и веселятся.
🔥6❤3✍2
Из интересного, Ни одна область гладкости вокруг примера валидейшена не сообщается ни с одной такой областью для примеров трейна, похожих на него одним из токенов, по крайней мере если проводить линии по прямой. На рисунке по краям примеры похожих точек трейна, посредине валидейшена. Искать непрямой гладкий переход чрезвычайно сложно, и возможно он существует. Если нет, то такая ситуация это в некотором роде взрыв мозга.
🤔4🤯1
Хмм... На текстовых задача уплощение рельефа в том числе вокруг точек валидейшена тоже создаётся.Хотя и не так красиво и устойчиво, на размеры областей гладкости вокруг отгаданного токена на val на порядок больше чем на неотгаданном на трейне в среднем...

Что-то фундаментальное в этом есть....
👏3💯1