Причём существует два вида гроккинга, теперь я их называю гроккинг или обобщение первого и второго типа, и второй, тот который происходит когда сеть пытается выразить решение через наименьшее количество активных весов, является имманентным, присутствующим по построению свойством сетей с обучаемым коннектомом, просто потому что удаление всего (в разумных пределах), что можно удалить, одна из составных частей их алгоритма.
Собственно вот это, пример чего я приводил, это как раз он - гроккинг второго типа: https://news.1rj.ru/str/GradientWitnesses/192
Собственно вот это, пример чего я приводил, это как раз он - гроккинг второго типа: https://news.1rj.ru/str/GradientWitnesses/192
🤔2
Минутка прикладного применения. Ошибка думать, что гроккинг может только быть или не быть, он может быть чуть-чуть.
Если у вас сложная задачка, которая плохо решается и у вас не ограничен вычислительный бюджет, иногда можно вымутить немного дополнительной точности простым приёмом:
1) Увеличиваем размер сетки в два-три раза.
2) Разбиваем обучение на два этапа первоначальный и второй. Этого можно не делать, но при экстремально больших weight_decay первоначальный этап обучения может портиться.
3) На втором этапе стараемся уменьшить дисперсию градиента, потому что гроккинг разрушается дисперсией. Для этого увеличиваем размеры батча, и/или увеличиваем моментумы, например AdamW ставим betas=(0.99, 9.57). Тут тоже можно переборщить. Интересно, что слишком большое сглаживание на первом этапе тоже может вредить, тут только чуйка и эксперименты.
4) Проверяем, что переобучение с выбранными вами параметрами идёт и сеть не разрушается.
5) Выкручиваем weight_decay в очень большие значения. Например 0.5 Если сеть обучается можно увеличить. Вам нужно значение раза в два меньше того при котором сеть разрушается. Тоже с lr Его можно увеличивать, но как минимум пол порядка надо оставить до той скорости на которой lr сеть развалит.
6) Нам пофигу на переобучение на train, пусть хоть в 100% упирается, смотрим только на validation. В таком режиме val тоже может сначала расти, а потом начать падать по мере деградации сети, так что возможно нужно будет выбрать момент чтобы остановиться. Но в общем играемся параметрами.
7) Profit. Или нифигашечки, тут уж как повезёт. Я на одной чисто научной задаче таким способом себе целый процент вымутил.
8) Рано или поздно опубликую угловую меру генерализации, по которой за этим процессом можно следить, но можно и без неё - на ощупь.
Если у вас сложная задачка, которая плохо решается и у вас не ограничен вычислительный бюджет, иногда можно вымутить немного дополнительной точности простым приёмом:
1) Увеличиваем размер сетки в два-три раза.
2) Разбиваем обучение на два этапа первоначальный и второй. Этого можно не делать, но при экстремально больших weight_decay первоначальный этап обучения может портиться.
3) На втором этапе стараемся уменьшить дисперсию градиента, потому что гроккинг разрушается дисперсией. Для этого увеличиваем размеры батча, и/или увеличиваем моментумы, например AdamW ставим betas=(0.99, 9.57). Тут тоже можно переборщить. Интересно, что слишком большое сглаживание на первом этапе тоже может вредить, тут только чуйка и эксперименты.
4) Проверяем, что переобучение с выбранными вами параметрами идёт и сеть не разрушается.
5) Выкручиваем weight_decay в очень большие значения. Например 0.5 Если сеть обучается можно увеличить. Вам нужно значение раза в два меньше того при котором сеть разрушается. Тоже с lr Его можно увеличивать, но как минимум пол порядка надо оставить до той скорости на которой lr сеть развалит.
6) Нам пофигу на переобучение на train, пусть хоть в 100% упирается, смотрим только на validation. В таком режиме val тоже может сначала расти, а потом начать падать по мере деградации сети, так что возможно нужно будет выбрать момент чтобы остановиться. Но в общем играемся параметрами.
7) Profit. Или нифигашечки, тут уж как повезёт. Я на одной чисто научной задаче таким способом себе целый процент вымутил.
8) Рано или поздно опубликую угловую меру генерализации, по которой за этим процессом можно следить, но можно и без неё - на ощупь.
🤔3👍1
Мой мозг сломался об очень многомерную геометрию, и теперь мне была бы полезна помощь кого-нибудь, для кого геометрия миллионмерного пространства не на столько контрингтуитивна. Возможно тут такие есть. Суть в следующем:
Даны три длиннющих вектора не слишком отличающиеся друг от друга. Это градиенты посчитанные для нейросети на разных шагах. Косинусный угол между первым и вторым векторами 9 градусов. Между вторым и третьим - тоже 9 градусов. А между первым и третьим чуть меньше 18 градусов. Я предположил, как мне казалось, очень логично, что это означает, что первый поворот и второй поворот происходят в почти одной плоскости. Однако потом я попыталсля посчитать сколько это "почти". Я взял 3-плоскость заданную первым и вторым векторами. и первый ортогонализовал ко второму, как нас учат товарищи Грамм и Шмидт. А потом я взял вторую 3-плоскость, образованную векторами 2 и 3, и ортогонализовал 3-ий вектор ко второму. Таким образом у меня есть две плоскости, по моему первому предположению очень близкие, определённые через вектор 2, и ортогонализованный 1 и ортогонализаванный 3. Вернее я взял минус его, чтобы в ту же сторону смотрел. И вот опираясь на предположение, что плоскости очень близкие я предположил, что могу узнать что-то типа наименьшего угла между ними если посмотрю угол между векторами o1 b o3 - то есть ортогонализованные 1 и 3, смотрю я косинусный угол между ними, а он, внезапно 19 градусов, или даже 24.4540 для тройки векторов с взаимными углами 9.7593, 9.8875, 19.1968
И вот теперь вопрос, эти плоскости реально так сильно друг от друга отличаются, или я просто неправильно понимаю как узнать минимальный угол между ними? Потому что если смотреть на некоторые свойства, то они вроде как в почти одной плоскости, а если на другие, то кажется как будто и нет. :(
UPD: Мозг расклинило. За помощь спасибо: @foobar765, @YarHammer, @vetalnn
Даны три длиннющих вектора не слишком отличающиеся друг от друга. Это градиенты посчитанные для нейросети на разных шагах. Косинусный угол между первым и вторым векторами 9 градусов. Между вторым и третьим - тоже 9 градусов. А между первым и третьим чуть меньше 18 градусов. Я предположил, как мне казалось, очень логично, что это означает, что первый поворот и второй поворот происходят в почти одной плоскости. Однако потом я попыталсля посчитать сколько это "почти". Я взял 3-плоскость заданную первым и вторым векторами. и первый ортогонализовал ко второму, как нас учат товарищи Грамм и Шмидт. А потом я взял вторую 3-плоскость, образованную векторами 2 и 3, и ортогонализовал 3-ий вектор ко второму. Таким образом у меня есть две плоскости, по моему первому предположению очень близкие, определённые через вектор 2, и ортогонализованный 1 и ортогонализаванный 3. Вернее я взял минус его, чтобы в ту же сторону смотрел. И вот опираясь на предположение, что плоскости очень близкие я предположил, что могу узнать что-то типа наименьшего угла между ними если посмотрю угол между векторами o1 b o3 - то есть ортогонализованные 1 и 3, смотрю я косинусный угол между ними, а он, внезапно 19 градусов, или даже 24.4540 для тройки векторов с взаимными углами 9.7593, 9.8875, 19.1968
И вот теперь вопрос, эти плоскости реально так сильно друг от друга отличаются, или я просто неправильно понимаю как узнать минимальный угол между ними? Потому что если смотреть на некоторые свойства, то они вроде как в почти одной плоскости, а если на другие, то кажется как будто и нет. :(
UPD: Мозг расклинило. За помощь спасибо: @foobar765, @YarHammer, @vetalnn
❤1
Мозг расклинило. Многомерность не мешает тому, что все эти события происходят в простом трёхмерном многообразии, и наименьший угол третьего вектора к первым двум лежит в плоскости проходящей через третий вектор и его проекцию на плоскость образованную первыми двумя, и он реально малюсенький. За помощь спасибо: @foobar765, @YarHammer, @vetalnn
👍6🥰1
Forwarded from Вечное сияние чистого разума ✨
#исследования Что, если нейросети научатся не просто обучаться, а эволюционировать — добавлять себе новые нейроны, забывать старое, адаптировать свою структуру под задачи?
Авторы статьи «Neuroplasticity in Artificial Intelligence — An Overview and Inspirations on Drop In & Out Learning» предлагают переосмыслить архитектуру нейросетей, вдохновляясь нейропластичностью мозга.
Современные нейросети, включая LLM, имеют статичную структуру: количество и соединения нейронов фиксированы. Однако в мозге нейроны могут появляться (нейрогенез), погибать (апоптоз) и самое главное — перестраивать связи (нейропластичность).
Авторы предлагают комплексно перенести эти процессы в ИИ, чтобы модели могли динамически адаптироваться к новым задачам и данным.
Dropout — давно известная техника, в рамках которой отдельные нейроны отключаются во время обучения.
Dropin — подход, при котором в сеть вводятся новые нейроны, имитируя нейрогенез. Это позволяет модели расширять свои возможности по мере необходимости.
Таким образом, сеть может не только «забывать» ненужное, но и учиться новому, подобно мозгу. Менять размер своей архитектуры, оптимизируя объем памяти и вычислений.
В статье авторы также проанализировали другие публикации последних лет, в которых использовались сходные принципы.
Upd: Один из подписчиков поделился записью доклада «Нейросети с адаптивно обучаемой архитектурой через выращивание новых синапсов», который он делал на Data Fest 2024.
Авторы статьи «Neuroplasticity in Artificial Intelligence — An Overview and Inspirations on Drop In & Out Learning» предлагают переосмыслить архитектуру нейросетей, вдохновляясь нейропластичностью мозга.
Современные нейросети, включая LLM, имеют статичную структуру: количество и соединения нейронов фиксированы. Однако в мозге нейроны могут появляться (нейрогенез), погибать (апоптоз) и самое главное — перестраивать связи (нейропластичность).
Авторы предлагают комплексно перенести эти процессы в ИИ, чтобы модели могли динамически адаптироваться к новым задачам и данным.
Dropout — давно известная техника, в рамках которой отдельные нейроны отключаются во время обучения.
Dropin — подход, при котором в сеть вводятся новые нейроны, имитируя нейрогенез. Это позволяет модели расширять свои возможности по мере необходимости.
Таким образом, сеть может не только «забывать» ненужное, но и учиться новому, подобно мозгу. Менять размер своей архитектуры, оптимизируя объем памяти и вычислений.
В статье авторы также проанализировали другие публикации последних лет, в которых использовались сходные принципы.
Upd: Один из подписчиков поделился записью доклада «Нейросети с адаптивно обучаемой архитектурой через выращивание новых синапсов», который он делал на Data Fest 2024.
👍6🔥5
Как обычно поиском в ютубе искал ссылку на собственный доклад и мне вылез шортс, где девушка сидящая перед блогерской камерой (круговая лампа в зрачках отражается) оживлённо жестикулирая, и подчёркивая своё восхищение происходящим, рассказывала что такое гроккинг... В нейросетях...
😁3🥴3
А ещё в процессе подготовки доклада про ландшафт функции потерь придумал подводку к слайду, из которой тоже можно сделать шортс:
- Что если я скажу вам, что оптимизаторы нейросетей могут снижать loss быстрее, чем если бы строго шли по градиенту? И часто это делают это прямо на вашей задаче. Приходите на доклад чтобы узнать подробности!
Правда чтобы показать это на красивом графике надо будет замерять расстояние, проходимое Adam-ом при обычном обучении.
А ещё придумал два эксперимента, без которых доклад будет неполным:
1) Как выглядит ландшафт с дополнительным слагаемым от регуляризации, если его добавлять именно в loss, а не применять снаружи, как это делается в AdamW. Почему это важно? Потому что это один из способов достичь гроккинга, и интересно чем такой ландшафт отличается от обычного.
2) Как выглядит ландшафт для типичной задачи компьютерного зрения на CIFAR10 или MNIST чтобы показать, что кривизна тоннеля может быть гораздо больше, и стало понятно интуитивно почему дисперсия градиента слабо снижается в некоторых задачах при использовании методов снижения типа Adam
А время выделяемое на доклад тем временем не увеличивается, так что идея проводить ещё воркшоп, на котором будет всё то же самое, но на несколько часов, с ответами на все вопросы, и разжовыванием каждой картинки уже просто неизбежна.
P.S. А ещё мне на работе попалась клавиатура со стёртыми русскими буквами и я по необходимости привык к слепой печати, к сожалению я стал при этому ляпать огромное количество ошибок. Иногда результаты обучения нейросетей идут не по плану...
- Что если я скажу вам, что оптимизаторы нейросетей могут снижать loss быстрее, чем если бы строго шли по градиенту? И часто это делают это прямо на вашей задаче. Приходите на доклад чтобы узнать подробности!
Правда чтобы показать это на красивом графике надо будет замерять расстояние, проходимое Adam-ом при обычном обучении.
А ещё придумал два эксперимента, без которых доклад будет неполным:
1) Как выглядит ландшафт с дополнительным слагаемым от регуляризации, если его добавлять именно в loss, а не применять снаружи, как это делается в AdamW. Почему это важно? Потому что это один из способов достичь гроккинга, и интересно чем такой ландшафт отличается от обычного.
2) Как выглядит ландшафт для типичной задачи компьютерного зрения на CIFAR10 или MNIST чтобы показать, что кривизна тоннеля может быть гораздо больше, и стало понятно интуитивно почему дисперсия градиента слабо снижается в некоторых задачах при использовании методов снижения типа Adam
А время выделяемое на доклад тем временем не увеличивается, так что идея проводить ещё воркшоп, на котором будет всё то же самое, но на несколько часов, с ответами на все вопросы, и разжовыванием каждой картинки уже просто неизбежна.
P.S. А ещё мне на работе попалась клавиатура со стёртыми русскими буквами и я по необходимости привык к слепой печати, к сожалению я стал при этому ляпать огромное количество ошибок. Иногда результаты обучения нейросетей идут не по плану...
🔥6
Читаю статью по гроккигру, про которую мне напомнил @import_sklearn и судя по её библиографическому обзору за 2024-ый и даже 2025-ый годы по этой теме проделана огромная работа...
В этом году выступаю и организую в секции DL Frontier. 30-ого числа оффлайн в Сбере и 31-ого онлайн в спатиал чате.
В оффлайне я расскажу о рельефе loss-функции, и как все мы должны в связи с этим изменить свои уловки для обучения глубоких сетей, алгоритмы оптимизации, способы наблюдения за обучающейся сетью, в общем интересно это будет далеко не только математикам, а математикам просто взорвёт мозг.
Кроме того в секции будут доклады про рекуррентные трансформеры чтобы работать с чудовищьно длинными контекстами, бенчмарки проверяющие логику на ещё более длинных контекстах, и большие русскоязычные бенчмарки в которых LLM-ок судят другие LLM-ки, в общем, мы тут собираем золотой сет русскоязычных инструментов для замыкания интеллектуального цикла
31-ого в онлайне будет доклад о превращении LLM-окв в Змея Горыныча, отращивающего себе дополнительные головы когда хочется обмозговать проблему на троих, Я буду рассказывать всё тоже самое, что и в оффлайне, но без ограничений во времени, отвечая на все до единого вопросы, и детально поясняя каждый нюанс пока все, кому интересно, не поймут, а компанию нам составит прекрасная докладчица с сравнимым с международными бенчмарком для оценки эмбедингов языковых сетей, если бы рекуррентный трансформер был уже обучен на большом корпусе - обязательно бы временную часть его эмбединга её бенчмарку скормил, самому интересно что получится.
Приходите. Оффлайн выступления с 13:20 во втором зале и кто зарегался уже знает куда идти, а Онлайн начинаем в 14:00 и продолжаем пока вопросы не кончатся. Тут: https://ods.ai/events/df2025-31-may-online
P.S. Есть такая интересная игра, вместо того чтобы лайкать можно куда-нибудь или кому-нибудь переслать. Ну или не вместо, а в дополнение. :)
В оффлайне я расскажу о рельефе loss-функции, и как все мы должны в связи с этим изменить свои уловки для обучения глубоких сетей, алгоритмы оптимизации, способы наблюдения за обучающейся сетью, в общем интересно это будет далеко не только математикам, а математикам просто взорвёт мозг.
Кроме того в секции будут доклады про рекуррентные трансформеры чтобы работать с чудовищьно длинными контекстами, бенчмарки проверяющие логику на ещё более длинных контекстах, и большие русскоязычные бенчмарки в которых LLM-ок судят другие LLM-ки, в общем, мы тут собираем золотой сет русскоязычных инструментов для замыкания интеллектуального цикла
31-ого в онлайне будет доклад о превращении LLM-окв в Змея Горыныча, отращивающего себе дополнительные головы когда хочется обмозговать проблему на троих, Я буду рассказывать всё тоже самое, что и в оффлайне, но без ограничений во времени, отвечая на все до единого вопросы, и детально поясняя каждый нюанс пока все, кому интересно, не поймут, а компанию нам составит прекрасная докладчица с сравнимым с международными бенчмарком для оценки эмбедингов языковых сетей, если бы рекуррентный трансформер был уже обучен на большом корпусе - обязательно бы временную часть его эмбединга её бенчмарку скормил, самому интересно что получится.
Приходите. Оффлайн выступления с 13:20 во втором зале и кто зарегался уже знает куда идти, а Онлайн начинаем в 14:00 и продолжаем пока вопросы не кончатся. Тут: https://ods.ai/events/df2025-31-may-online
P.S. Есть такая интересная игра, вместо того чтобы лайкать можно куда-нибудь или кому-нибудь переслать. Ну или не вместо, а в дополнение. :)
🔥5👍4
Forwarded from Дратути Антон
Сегодня я в Белграде. Заглянул на Датафест.
Послушал интереснейший доклад от Салавата Гарифуллина «Один язык, много народов:
Как я создал первый ИИ-переводчик для славянской интерлингвы».
Я надеюсь, выйдет запись и вы сможете заценить. Таких докладов да побольше на всех конференциях. Здесь было что-то интересное, неизведанное, а ещё и классно рассказанное.
Поделюсь ссылочками от Салавата с последнего слайда:
https://interslavic-dictionary.com — словарь.
https://huggingface.co/spaces/salavat/Interslavic-Translator-NLLB200 — переводчик
P.S. Я чот заслушался и сделал только одну фотку в начале.
Послушал интереснейший доклад от Салавата Гарифуллина «Один язык, много народов:
Как я создал первый ИИ-переводчик для славянской интерлингвы».
Я надеюсь, выйдет запись и вы сможете заценить. Таких докладов да побольше на всех конференциях. Здесь было что-то интересное, неизведанное, а ещё и классно рассказанное.
Поделюсь ссылочками от Салавата с последнего слайда:
https://interslavic-dictionary.com — словарь.
https://huggingface.co/spaces/salavat/Interslavic-Translator-NLLB200 — переводчик
P.S. Я чот заслушался и сделал только одну фотку в начале.
🔥4
Forwarded from Reliable ML
1 июня – Online - Career & Reliable ML - Data Fest 2025
Программа онлайн-дня Reliable ML
В это воскресенье с 10 утра в spatial.chat будем не только показывать, но и обсуждать красивое и интересное:
- В секции Career узнаем про то, как прокачать софт-скиллы, и какие LLM-тулы использовать, чтобы найти работу и зарплату мечты. Разовьем тему в то, какие компетенции нужны для прокачки в тимлидстве.
- В секции Reliable ML поговорим про организацию процессов в DS и ML-Readability.
Публикуем финальное расписание на 1 июня.
Ждем вас в spatial.chat. Пароли, явки, адреса опубликуем в канале перед стартом секции.
До встречи!
Ваш @Reliable ML
#datafest #reliable_ml #career #online
Программа онлайн-дня Reliable ML
В это воскресенье с 10 утра в spatial.chat будем не только показывать, но и обсуждать красивое и интересное:
- В секции Career узнаем про то, как прокачать софт-скиллы, и какие LLM-тулы использовать, чтобы найти работу и зарплату мечты. Разовьем тему в то, какие компетенции нужны для прокачки в тимлидстве.
- В секции Reliable ML поговорим про организацию процессов в DS и ML-Readability.
Публикуем финальное расписание на 1 июня.
Ждем вас в spatial.chat. Пароли, явки, адреса опубликуем в канале перед стартом секции.
До встречи!
Ваш @Reliable ML
#datafest #reliable_ml #career #online
❤2
https://vk.com/video-22522055_456245617
Оказывается из нашего зала таки была трансляция и вот тут доклад можно посмотреть в кратком виде на 3:49:00. Презентацию и полный доклад выложу завтра после онлайна.
Оказывается из нашего зала таки была трансляция и вот тут доклад можно посмотреть в кратком виде на 3:49:00. Презентацию и полный доклад выложу завтра после онлайна.
VK Видео
Data Fest 2025 в гостях у Сбера! 30 мая, Москва (2)
Присоединяйтесь к трансляции и смотрите выступления от топовых спикеров в тематике GenAI
👍11
6_Голощапов_Владислав_Ландшафт_loss_функции_не_такой,_как_мы_привыкли.pptx
217.9 MB
Презентация. Я потом ещё один-два слайда добавлю и перевыложу. Весит безобразно много потому что в неё видео вшито. Видео потом тоже выложу уже отдельно.
🔥11
Минутка юмора:
Преимущество - полное отсутствие такой информации в трейне. Схема анализа придумана мной на основе обдумывания проблемы, обсуждения с другими людьми, и чатГпт и дипсик утверждают, что в учебных выборках и интернете они такого не встречали. :) Хотя оба высказали свои версии о том, на чьих работах я основывался. Поржал.
Преимущество - полное отсутствие такой информации в трейне. Схема анализа придумана мной на основе обдумывания проблемы, обсуждения с другими людьми, и чатГпт и дипсик утверждают, что в учебных выборках и интернете они такого не встречали. :) Хотя оба высказали свои версии о том, на чьих работах я основывался. Поржал.
😁6
https://colab.research.google.com/drive/13YuGiBu0qtnz-wCWfe6sGo9fxSQmY2Uh?usp=sharing
А вот и ноутбучёк чтобы поиграть страшной-страшной ночью в тёмной-тёмной програмистской берлоге...
А вот и ноутбучёк чтобы поиграть страшной-страшной ночью в тёмной-тёмной програмистской берлоге...
Google
Тонельные ландшафты и поведение на них оптимизаторов.ipynb
Colab notebook
🔥11👍2
Если я через пару недель устрою онлайн-посиделки по мотивам доклада, на которые придёт те, кто с ноутбуком поигрались, обсудить свои наблюдения:
Anonymous Poll
29%
Попробую руками и приду в онлайн обсудить
44%
Сам пробовать не буду, но хочу послушать
0%
Не очень интересно, потому что не практично
27%
Не до того...
Спасибо всем указавшим на лажу. Я, к сожалению не догадался заскринить комментаторов прежде чем снести пост, поэтому поблагодарить всех лично не могу, а благодарить только часть, кого узнал по аватарке считаю не честным, так что просто вы сами знаете, кому спасибо.
❤5🔥1
Когда устраиваем мероприятие?
Anonymous Poll
4%
Я попробовал что-нибудь, удобнее в пятницу
9%
Я попробовал что-нибудь, удобнее в субботу
39%
Я послушать, удобнее в пятницу
48%
Я послушать, удобнее в субботу
Итак, длинные выходные закончены. Кто-то отдыхал, а для кого-то это наоборот возможность поэкспериментировать. И я предлагаю собраться обсудить всякое про поведение оптимизаторов на тонельном ландшафте. Но непонятно когда это удобнее делать нашим соучастникам. В будний день, например вечером в пятницу, или в выходные, например в субботу.
UPD: Для тех, кто успел повозиться с ноутбуком или ещё какими-то экспериментами первые два варианта голосования, для тех кому интрересны результаты, а не процесс - вторые.
UPD: Для тех, кто успел повозиться с ноутбуком или ещё какими-то экспериментами первые два варианта голосования, для тех кому интрересны результаты, а не процесс - вторые.
Ну, поскольку единственный человек кроме меня, кто что-то сам попробовал, проголосовал за пятницу, значит собираемся в пятницу. Итак в эту пятницу я объявляю семинар, даже можно сказать ритуал, посвящённый изучению как ландшафта функции потерь, так и поведению оптимизаторов на более правдоподобной модельной задаче. Начало в 18 чтобы точно никого начальник не поймал за хвост, если у единственного попробовавшего, не будет предложений. Подробную информацию куда присоединяться кину ближе к делу.
❤6👍3