image_2023-12-28_10-59-30.png
196.9 KB
Помните я много раз говорил, что когда вы используете всякие Densely Connected, то есть присоединяете вход слоя к его выходу прежде чем отдать результат дальше, вы смешиваете в одну кучу сигналы разной глубины с очень разными характеристиками.
Так вот вам иллюстрация. Тут 8 слоёв, каждый из которых конкатенирует свой выход к подаваемому дальше входу а в конце один финальный fully connectet слой, на который подаётся вся эта смесь. А теперь посмотрите как выглядят градиенты на диаграмме последнего слоя.
Отчётливо видны веса, работающие с каждой из восьми глубин сигнала и разница между типичными градиентами из первого слоя и последнего различаются на 15 порядков. Конечно, если напихать туда BatchNorm картина размоется, но мы же уже знаем, что оптимальная скорость в этом случае может отличаться на два-три порядка, с этим BatchNorm не в силах помочь.
Что с этим делать - решайте сами в каждом конкретном случае. Как я и говорил - быть зрячим лучше, чем просто знать ответ.
Так вот вам иллюстрация. Тут 8 слоёв, каждый из которых конкатенирует свой выход к подаваемому дальше входу а в конце один финальный fully connectet слой, на который подаётся вся эта смесь. А теперь посмотрите как выглядят градиенты на диаграмме последнего слоя.
Отчётливо видны веса, работающие с каждой из восьми глубин сигнала и разница между типичными градиентами из первого слоя и последнего различаются на 15 порядков. Конечно, если напихать туда BatchNorm картина размоется, но мы же уже знаем, что оптимальная скорость в этом случае может отличаться на два-три порядка, с этим BatchNorm не в силах помочь.
Что с этим делать - решайте сами в каждом конкретном случае. Как я и говорил - быть зрячим лучше, чем просто знать ответ.
🔥5👍2
А вы знали, что хорошо обученные нейросети коллинеарны только если квадрат градиента меньше 1e-5, и то бывают выбросы. Шутейка удачно подоспела к моему нынешнему ресёрчу. В кадре коллинеарность для весов MobileNetV3Large на тестовой выборке размером 50000 пакетная. :)
Надо будет во все мои сравнения добавить SGD с обрезкой градиентов, однако.
Надо будет во все мои сравнения добавить SGD с обрезкой градиентов, однако.
👍2❤1
А теперь развлекательный опрос!!! Берём скромного размера сеточку, например MobileNet_V3_Large.IMAGENET1K_V2 и вдумчиво, с использованием тайных алгоритмов секты Свидетелй Градиента, удаляем (обнуляем) из неё половину весов, подфайнтюнивая немножко оставшиеся, не более полутора десятков эпох, просто чтобы не разваливалась раньше времени. В процессе файнтюнинга обнулённые веса остаются обнулёнными, не обучаются.
Внимание вопрос, какая accuracy останется у этого Тириона Мобайловича? Правильный ответ с парочкой иллюстрирующих графиков завтра.
Anonymous Poll
65%
75.274%, если файнтюнить сеть не пострадает.
19%
50% Как с динозавром, либо угадает, либо не угадает.
6%
37.637% От точности сети останется ровно половина.
6%
25% Сеть станет всего лишь полусетью от полусети.
0%
10% В 100 раз лучше чем угадывать на кубиках, но в практическом смысле это смерть.
0%
1% Всё ещё в 10 раз лучше чем случайное угадывание класса.
3%
0.1% Сеть будет полностью разрушена травмой не совместимой с жизнью.
Вчера не выслал ответ. День был тяжеловатый.
Итак по результатам опроса меня немножко пугает ваша вера в всемогущество всемогущих алгоритмов. Действительно при обрезании части весов - прунинге в старых больших сетях часто можно получить подсеть более эффективную чем изначальная сеть. Можно погуглить, а можно бегло почитать вот этот очень неплохой обзор: https://habr.com/ru/articles/575520/, обязательно позову его автора на свой следующий доклад. Но с современными маленькими и очень сильно зарегуляризованными сетями такой фокус редко проканывает.
В частности в одной из таблиц в статье можно видеть, что если сильно доучивать, то даже MobileNetV2 которому отломали половину, можно доучить до уровня всего на 1% от ниже изначального, но равным или лучшим изначальному мобайлнет сделать не получается.
Но я то специально подчеркнул, что доучиваем мы совсем чуть-чуть, только чтобы сеть не разваливалась раньше времени. То есть смысл был не в том, чтобы узнать, чего можно добиться от подсети, а в том, как распределены знания по готовой обученной сети. Вот это я, видимо, недостаточно объяснил. А теперь ответ:
50% - Половина мобайлнета содержит примерно 2/3 его способностей к распознованию.
Обратите внимание на то, как велико самоподобие в графике. Распределение знаний внутри нейросети, если она хорошо обучена почти всегда не случайное и почти всегда экспоненциальное, кроме самых первых и самых последних весов.
По оси X количество отрезанных весов, а по оси Y accuracy того что осталось. Целая сеть содержит 5.5M, соответвенно половина сети это 2.25 миллиона
Следующий мой доклад будет интересным.
Итак по результатам опроса меня немножко пугает ваша вера в всемогущество всемогущих алгоритмов. Действительно при обрезании части весов - прунинге в старых больших сетях часто можно получить подсеть более эффективную чем изначальная сеть. Можно погуглить, а можно бегло почитать вот этот очень неплохой обзор: https://habr.com/ru/articles/575520/, обязательно позову его автора на свой следующий доклад. Но с современными маленькими и очень сильно зарегуляризованными сетями такой фокус редко проканывает.
В частности в одной из таблиц в статье можно видеть, что если сильно доучивать, то даже MobileNetV2 которому отломали половину, можно доучить до уровня всего на 1% от ниже изначального, но равным или лучшим изначальному мобайлнет сделать не получается.
Но я то специально подчеркнул, что доучиваем мы совсем чуть-чуть, только чтобы сеть не разваливалась раньше времени. То есть смысл был не в том, чтобы узнать, чего можно добиться от подсети, а в том, как распределены знания по готовой обученной сети. Вот это я, видимо, недостаточно объяснил. А теперь ответ:
50% - Половина мобайлнета содержит примерно 2/3 его способностей к распознованию.
Обратите внимание на то, как велико самоподобие в графике. Распределение знаний внутри нейросети, если она хорошо обучена почти всегда не случайное и почти всегда экспоненциальное, кроме самых первых и самых последних весов.
По оси X количество отрезанных весов, а по оси Y accuracy того что осталось. Целая сеть содержит 5.5M, соответвенно половина сети это 2.25 миллиона
Следующий мой доклад будет интересным.
👍5🔥1
А вот ещё один вопрос важный для меня: А слышали ли вы раньше о гипотезе лотеренйого билета? (The Lottery Ticket Hypothesis)
Anonymous Poll
45%
Вообще не слышал раньше
23%
Слышал, но глубоко не интересовался
25%
Слышал и даже читал оригинальные статьи на тему или хотя бы их обзоры
7%
Слышал и даже пытался сам экспериментирвоать.
Forwarded from Daniel
Митап Победителей в Лотерею 27 февраля!
Всем привет! Как вы, возможно, знаете Гипотеза Лотерейного Билета предполагает, что в нейросетях можно найти мощные подсети, способные обучаться не хуже полных сетей. Наши друзья погрузились в тему и хотят рассказать об этом. Приходите на наш митап, чтобы узнать о том, как можно выявить и оптимизировать такие подсети, и как это открывает двери к нейросетям следующего поколения. 🚀
🔍 Что будет на митапе:
- Узнаем какой прогресс по этой теме существует в мире.
- Посмотрим на работу с подсетью MobileNet_V3, потерявшей половину весов и менее 1% accuracy без дообучения весов.
- Откроем черный ящик нейросетей и разберемся, что происходит внутри.
- Поговорим про перспективы и возможности для разработки совсем иных нейросетей с меньшим количеством параметров, но с гораздо большими возможностями.
На мероприятии выступят:
- Голощапов Владислав (независимый исследователь)
- Денис Кузнеделев (Сколтех, Центр технологий искусственного интеллекта, Резидент исследовательского отдела ООО «ЯНДЕКС», лауреат Yandex ML Prize) 🌟
Доклады:
1. Ансамбль синапсов – структурная единица нейронной сети (Влад Голощапов)
2. История Оптимального хирурга для спарсификации нейронных сетей, в теории и на практике (Денис Кузнеделев)
3. Глубокий анализ полезности весов - путь к успешному прунингу (Влад Голощапов)
4. Как извлечь пользу из прунинга. Нейросети с адаптивно обучаемой архитектурой (Влад Голощапов)
Обязательная регистрация по ссылке
📅 27.02.2024
🕓 18:00 - 22:00
📍 Точка кипения
ODS Moscow
Всем привет! Как вы, возможно, знаете Гипотеза Лотерейного Билета предполагает, что в нейросетях можно найти мощные подсети, способные обучаться не хуже полных сетей. Наши друзья погрузились в тему и хотят рассказать об этом. Приходите на наш митап, чтобы узнать о том, как можно выявить и оптимизировать такие подсети, и как это открывает двери к нейросетям следующего поколения. 🚀
🔍 Что будет на митапе:
- Узнаем какой прогресс по этой теме существует в мире.
- Посмотрим на работу с подсетью MobileNet_V3, потерявшей половину весов и менее 1% accuracy без дообучения весов.
- Откроем черный ящик нейросетей и разберемся, что происходит внутри.
- Поговорим про перспективы и возможности для разработки совсем иных нейросетей с меньшим количеством параметров, но с гораздо большими возможностями.
На мероприятии выступят:
- Голощапов Владислав (независимый исследователь)
- Денис Кузнеделев (Сколтех, Центр технологий искусственного интеллекта, Резидент исследовательского отдела ООО «ЯНДЕКС», лауреат Yandex ML Prize) 🌟
Доклады:
1. Ансамбль синапсов – структурная единица нейронной сети (Влад Голощапов)
2. История Оптимального хирурга для спарсификации нейронных сетей, в теории и на практике (Денис Кузнеделев)
3. Глубокий анализ полезности весов - путь к успешному прунингу (Влад Голощапов)
4. Как извлечь пользу из прунинга. Нейросети с адаптивно обучаемой архитектурой (Влад Голощапов)
Обязательная регистрация по ссылке
📅 27.02.2024
🕓 18:00 - 22:00
📍 Точка кипения
ODS Moscow
🔥8
Привет!
А Вы знали, что чтобы увеличить accuracy нужно просто перестать покупать проигрышные лотерейные билеты, и начинать покупать выигрышные?
https://github.com/kraidiky/connectome_optimization
По вот этой ссылке можно скачать веса для torchvision.models.mobilenet_v3_large, среди которых ни один вес не был дообучен по сравнению с IMAGENET1K_V2, но при этом один миллион весов подвергнут подрезанию, то есть прунингу, вернее обнулению. И accuracy получившейся сетки лучше почти на пол процента, чем в исходной сети. Качайте, пользуйте, изучайте.
А ещё приходите на Митап Победителей в Лотерею 27 февраля, в следующий вторник в 18:00. Там мы ответим на самые важные вопросы:
- А чё так можно было?
- А что будет если обрезать ещё миллион?
- Ну порезали вы один, два, три миллиона весов, даже четыре, а дальше чё?
Доклады:
1. Ансамбль синапсов – структурная единица нейронной сети (Влад Голощапов)
2. История Оптимального хирурга для спарсификации нейронных сетей, в теории и на практике (Денис Кузнеделев)
3. Глубокий анализ полезности весов - путь к успешному прунингу (Влад Голощапов)
4. Как извлечь пользу из прунинга. Нейросети с адаптивно обучаемой архитектурой (Влад Голощапов)
При помощи и поддержке: ODS Moscow, Reliable ML
Спикеры:
- Голощапов Владислав (независимый исследователь)
- Денис Кузнеделев (Сколтех, Центр технологий искусственного интеллекта, Резидент исследовательского отдела ООО «ЯНДЕКС», лауреат Yandex ML Prize)
Обязательная регистрация по ссылке
📅 27.02.2024
🕓 18:00 - 22:00
📍 Точка кипения
А Вы знали, что чтобы увеличить accuracy нужно просто перестать покупать проигрышные лотерейные билеты, и начинать покупать выигрышные?
https://github.com/kraidiky/connectome_optimization
По вот этой ссылке можно скачать веса для torchvision.models.mobilenet_v3_large, среди которых ни один вес не был дообучен по сравнению с IMAGENET1K_V2, но при этом один миллион весов подвергнут подрезанию, то есть прунингу, вернее обнулению. И accuracy получившейся сетки лучше почти на пол процента, чем в исходной сети. Качайте, пользуйте, изучайте.
А ещё приходите на Митап Победителей в Лотерею 27 февраля, в следующий вторник в 18:00. Там мы ответим на самые важные вопросы:
- А чё так можно было?
- А что будет если обрезать ещё миллион?
- Ну порезали вы один, два, три миллиона весов, даже четыре, а дальше чё?
Доклады:
1. Ансамбль синапсов – структурная единица нейронной сети (Влад Голощапов)
2. История Оптимального хирурга для спарсификации нейронных сетей, в теории и на практике (Денис Кузнеделев)
3. Глубокий анализ полезности весов - путь к успешному прунингу (Влад Голощапов)
4. Как извлечь пользу из прунинга. Нейросети с адаптивно обучаемой архитектурой (Влад Голощапов)
При помощи и поддержке: ODS Moscow, Reliable ML
Спикеры:
- Голощапов Владислав (независимый исследователь)
- Денис Кузнеделев (Сколтех, Центр технологий искусственного интеллекта, Резидент исследовательского отдела ООО «ЯНДЕКС», лауреат Yandex ML Prize)
Обязательная регистрация по ссылке
📅 27.02.2024
🕓 18:00 - 22:00
📍 Точка кипения
GitHub
GitHub - kraidiky/connectome_optimization: Место для выкладывания готовых работ по модификации коннкетома
Место для выкладывания готовых работ по модификации коннкетома - kraidiky/connectome_optimization
👍6❤3
4_Как_извлечь_пользу_из_прунинга_Нейросети_с_адаптивно_обучаемой.pptx
579.2 KB
Самая "за вообще" часть митапа, но как мне кажется самая главная в стратегическом смысле.
👍8🔥1
Уже несколько раз так было, что почти с первого-второго раза подбираешь удачные гиперпараметры или аспекты реализации алгоритма, и попытки его потом в течении месяца сделать лучше ничего не дают.
Это вызывает у меня смешанные чувства удачи и бессилия одновременно.
Это вызывает у меня смешанные чувства удачи и бессилия одновременно.
👍6👌2🤔1
Из интересного, а то что-то давно я не писал.
Сначала обычный прунинг, только чуть более брутальным алгоритмом, чем тот что был на митапе. Но тоже без дообучения весов и на не чищеном датасете, для чистоты эксперимента. А потом врубил Удаление и восстановление весов с такими гиперпарамтерами, чтобы количество удаляемых и восстанавливаемых было примерно равно. Полюбуйтесь, как нейросеть ползёт через лабиринт. Одна беда медленно, но для понимания как там всё внутри устроено очень полезно.
Сначала обычный прунинг, только чуть более брутальным алгоритмом, чем тот что был на митапе. Но тоже без дообучения весов и на не чищеном датасете, для чистоты эксперимента. А потом врубил Удаление и восстановление весов с такими гиперпарамтерами, чтобы количество удаляемых и восстанавливаемых было примерно равно. Полюбуйтесь, как нейросеть ползёт через лабиринт. Одна беда медленно, но для понимания как там всё внутри устроено очень полезно.
🔥5
