Telegram Web Link
Продолжаем осенний марафон курсов. Сегодня аж две штуки:
#learning

- Курс по Deep Learning от Яна ЛеКуна в NYU. Этот курс — не об основах DL. Он для тех, кто уже разобрался в основах и хочет углубить знания. Темы охватывают последние достижения в областях deep learning и representation learning с более общего ракурса, чем это обычно принято в стандартных курсах. Основные темы:
- parameter sharing в разных архитектурах;
- energy-based models;
- assosiative memories;
- graphs;
- control.

Видео лекций и семинарские ноутбуки доступны на странице курса. За ссылку на курс спасибо подписчику)

- ODS и Huawei запускают новый поток курса по NLP. В курсе — основные темы NLP (embeddings, RNN, CNN, Transformers). Подробнее о курсе и преподавателях можно прочитать в статье на Хабре. Зарегистрироваться — на странице курса (первое занятие уже было вчера!). Об этом курсе узнала отсюда.
👍436👎1🔥1
Media is too big
VIEW IN TELEGRAM
Смотрите, какая штука стала популярной в Твиттере: Adept.ai обещают выпустить ATC-1: крутого диджитал-помощника на основе Transformer

ACT-1 — это расширение в Google Chrome. В небольшом окошке нужно ввести текст-описание того, что вы хотите сделать. Например, "найти дом в Сан Франциско для 4 человек с бюджетом до $600k” или “найти инфу, сколько раз Ди Каприо получал Оскар”. ACT-1 за вас проделает в браузере ту последовательность действий, которую сделал бы человек для реализации задачи. Пример работы — на видео к посту.

Короче, это как продвинутая Siri, только запросы вводятся (пока что) текстом и они могут быть довольно сложные. Дальше обещают добавить возможность уточнять запросы и даже учить ACT-1 делать действия, которые у нее не получаются. Например, научить ее использовать новую формулу в Excel или пользоваться поиском на новой веб-странице.

Судя по всему, ребята собрали датасет пар вида “текстовое описание действия в браузере — последовательность действий”, обучили на нем Transformer и поколдовали над скоростью инференса. Подробный технический пост скоро обещают. Мне лично интересно, как получилось собрать достаточное количество разнообразных данных, чтобы можно было так хорошо натренировать модель (если она действительно работает так хорошо, как выглядит на видео).

Вообще, adept.ai — лаба, основанная выходцами из Google Research и DeepMind. Двое из них в 2017 приложили руку к появлению на свет модели Transformer (первый и третий авторы статьи!). Так что я верю, что ACT-1 действительно работает и жду релиза) Почитать о создателях и истории Adept можно тут.
А в целом Adept заявляют, что они создают general intelligence. Посмотрим, как пойдет)

Ссылки:
Скоро должна выйти альфа-версия ACT-1, записаться в waitlist можно тут.
А на сайте — больше видео-демок работы ACT
👍24🔥11🤔8💩1
Пару дней назад аж в двух тг-каналах увидела новость вида:

“”
Если не остановить разработки, AGI почти наверняка убьет человечество.
Заключение практиков DeepMind и Оксфорда оказалось хуже худших прогнозов философов.
””
​​
Стало интересно, что же там за работа от DeepMind и Оксфорда такая. Работа вот. Прочитала. Ее общая идея формулируется так: “RL-агенты будущего могут начать вмешиваться в процесс передачи вознаграждения” (а не что человечеству точно кирдык). Подробнее, вот что это значит:

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

У современных RL-агентов набор действий, которые они могут совершать, строго ограничен. Например, агент-бот в игре “змейка” умеет только 4 действия: поворачивать влево-вправо-вперед-назад. Поэтому ни у кого не возникает и мысли, что такой агент может выйти из-под контроля и поработить мир: ему просто нечем.

А представим теперь “продвинутого” RL-агента, которого человечество создаст в будущем. Продвинутый RL-агент будет взаимодействовать с реальным миром, решать многие задачи не хуже человека, а его пространство действий будет не ограничено. Обучать такого агента мы все еще будем, поставляя ему информацию о величине вознаграждения после каждого его действия. Тогда, утверждают авторы статьи, RL-агент может выработать такую политику действий, которая будет изменять сам процесс получения вознаграждения агентом.

Чтобы лучше понять, что имеется в виду, рассмотрим пример из статьи:

Пусть после каждого действия агента некий компьютер высчитывает вознаграждение и показывает его на экране. Пусть это будет число от 0 до 1: 0 — оч плохо, 1 — оч хорошо. Агент получает информацию о вознаграждении из камеры, которая направлена на этот компьютер. Мы, конечно, хотим научить агента выполнять такие действия, чтобы максимизировать число, которое выводит компьютер. Но если агент слишком умный (т.е. его пространство действий не ограничено и он обладает достаточными познаниями о среде), то он может додуматься сделать следующее: вместо того чтобы честно стараться подбирать действия, максимизирующие число на экране, просто взять повесить на экран бумажку, на которой написано число 1. Тогда камера всегда будет видеть бумажку вместо экрана, и агент будет всегда получать reward=1. Задача выполнена.

Можно придумать кучу аналогичных примеров, более связанных с реальной жизнью. А еще — более пугающих. К примеру, пусть информацию о величине вознаграждения агенту передает живой человек. Такой сценарий легко представить, к примеру, если RL-агент — это ваш робот-дворецкий (как в Fallout =) ), и вы голосом сообщаете ему о том, хорошо ваш дворецкий поступил или нет. Если робот сжег пирог, вы его ругаете: надеетесь, что он обучится готовить лучше. Так вот, так как цель агента — все еще максимизировать reward, то он может решить не учиться готовить, а убить вас и заменить другим роботом, который будет всегда сообщать ему похвалу (такого робота RL-агент может собрать сам).

Вот такие вот околофилософские рассуждения ребят из Оксфорда и DeepMind и вызвали заголовки вроде “ИИ опасен для человечества”. В следующем посте — пара мыслей о том, насколько это действительно пугающе и плохо ⬇️
#ai_inside
👍49👏1🤮1
Продолжение предыдущего поста о статье про RL-агентов будущего и о том, как AGI поработит человеков
#ai_inside

Напишу пару слов о том, почему считаю, что заголовки постов сильно раздуты, а бояться сильно рано:

- Во-первых, выполнимость такого сценария (что ИИ начнет вмешиваться в процесс передачи вознагражения) зависит от нескольких допущений о строении RL-агента, которые могут быть и не выполнены в будущем. Одна из главных опор статьи — это то, что у описанного “опасного” RL-агента должно быть неограниченное пространство действий в реальном мире. Также должен быть определенный баланс exploration vs exploitation и нужное строение reward-функции. Более того, авторы статьи приводят простые идеи, как не дать этим допущениям свершиться. Подробнее о них читайте в статье. Одна из самых простых таких идей — добавить lethal punishment при попытке как-то навредить человеку или вмешаться в процесс передачи инфы о награде. Сложно представить, что человечество не додумается до такого и случайно создаст ИИ-монстра)

- Во-вторых, я не верю, что у нас из супер-ограниченных современных RL-агентов внезапно начнут появляться очень сложные и неконтролируемые, которые начнут убивать людей. Чтобы RL до такого дошел, должен появиться какой-то принципиально новый подход к моделированию и обучению RL-агентов, и мы даже не знаем, как этот подход будет выглядеть. Мы еще даже близко не подошли к созданию подобного “продвинутого” RL-агента, чтобы вообще можно было рассуждать о том, как он работает, и какие угрозы может нести.

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

На всякий случай, уточню: я не критикую саму статью. Статья — интересное рассуждение о том, что, в теории, действительно может произойти и как можно этого избежать (хотя там в конце и есть фраза “with catastrophic consequences”. Но опустим). Что я критикую — это пугающие выводы людей из этой статьи. Фраза “если срочно не остановить разработки в области создания AGI, то экзистенциальная катастрофа станет не просто возможна, но и вероятна” (из одного из постов) — это ну совсем не то, о чем писали авторы работы.

Конечно, я могу чего-то не понимать и ошибаться. В конце концов, мы тут про будущее спорим, которое пока еще не известно никому =) Комментарии всегда открыты для обсуждений)
👍332🔥1👏1🤮1
Мы открываем набор на второй семестр школы Deep Learning School!
#learning

О том, что за школа и о наборе на первую часть писала тут.

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

В остальном, все так же:
- Обучение бесплатное. Отбора нет, берем всех.
- Занятие раз в неделю. Лекция, семинар и домашнее задание. В конце — итоговый проект (темы отличаются от тех, что были в первой части)
- Обучение проходит на платформе Stepik. Разделения на базовый/продвинутый во второй части нет.
- По окончании второй части также выдается диплом, который дает баллы при поступлении на ФПМИ МФТИ (бакалавриат и магистратура)

Регистрация тут. Старт — 3 октября.

Если есть вопросы, спрашивайте в комментарии ⬇️
🔥25👍73🤮2
На ICLR-2022 была, оказывается, такая интересная работа: авторы показали, что принцип работы Transformer’ов (с небольшим дополнением) схож с принципом работы гиппокампа и энторинальной коры головного мозга человека.
(Автор работы, если что, Ph.D. по computational/ theoretical neuroscience из Stanford и Oxford. Понимает, о чем говорит)

Подробнее:
Гиппокамп и энториальная кора мозга вместе отвечают за память, восприятие времени и пространства. Энториальная кора является “шлюзом” для гиппокампа: она обрабатывает поступающую в гиппокамп и исходящую из него информацию. Гиппокамп же обрабатывает и структурирует все виды памяти: краткосрочную, долгосрочную, пространственную.
То есть, связка “гиппокамп + энторинальная кора” (EC-hippocampus) играют важную роль при решении человеком задач, связанных с пространственным восприятием.

Как показали, почему Transformer “похож” на EC-hippocampus: авторы статьи взяли Transformer и обучили его на простую задачу, в которой нужно выдавать ответ, имея в виду текущее пространственно положение. Архитектура Transformer была стандартная с парой небольших отличий в формуле для attention и position encodings. Вычисление position encodings было изменено так, что стало обучаемым.

После обучения модели ученые посмотрели на “пространственную карту весов position encodings”. Карта составляется просто: для каждого пространственного положения из задачи, которую учил Tranformer, вычисляется средняя активация position encodings. Так вот, оказалось, что эта карта структурно схожа с той, что получается из активаций нейронов в EC-hippocampus

Но это еще не все: только такая “похожесть” карт активаций нейронов в мозге и модели недостаточно убедительна. Авторы статьи так же показали следующее: архитектура Transformer эквивалентна математической модели EC-hippocampus, которую нейробиологи построили не так давно и активно используют. Эта матмодель называется TEM (Tolman-Eichenbaum Machine), и она хорошо описывает основные процессы, происходящие в EC-hippocampus. TEM — обучаемся модель, которая при обучении должна имитировать процессы, происходящие в EC-hippocampus.

Так вот, упомянутый выше модифицированный Transformer, оказывается, имеет аналогичное с TEM устройство. Аторы назвали такой трансформер TEM-t. В статье авторы показывают аналогии между отдельными компонентами Transformer и TEM. В частности, “модель памяти” TEM оказывается эквивалентной self-attention из Tranformer.
Более того, авторы заявляют, что TEM-t может служить более эффективной моделью EC-hippocampus, чем существующий TEM: он гораздо быстрее обучается, имеет больший потенциал по памяти (может “запоминать” и “вытаскивать” больше бит памяти). Также плюсом является то, что пространственная карта весов position encodings трансформера похожа на такую карту из мозга (о чем писала выше).

Подробнее об устройстве TEM, TEM-t, экспериментах и о том, какое значение это имеет для нейробиологии — в статье. А еще там есть описание того, как архитектура Transformer может быть реализована на биологических нейронах. Блин, а вдруг какие-то части нашего мозга — это реально transformer’ы?)

Еще ссылка: статья в Quantamagazine об этой работе

P.S. Надеюсь, я нигде сильно не наврала. Все же в вопросах устройства мозга и подобном я дилетант. Feel free поправлять меня в комментариях
#ai_inside #paper
👍49🔥132👎2🤯1🤮1🤨1
Айра — моя знакомая и основательница школы Mathshub, в которой я вела занятия и приглашала вас весной — запустила свой подкаст “Не сами боги”

В нем разные гости из мира ИИ, технологий и масштабных продуктов будут делится опытом и историями из жизни.

Сейчас доступен первый эпизод, второй появится где-то в октябре. Гость эпизода — Юрий Кашницкий: друг Айры, опытный дата-сайнтист, основатель одного из самых известных и фундаментальных курсов по классическому машинному обучению и анализу данных — mlcourse.ai.
Говорили о разном: об интервью, Kaggle, исследованиях, математике, синдроме самозванца. На мой взгляд, получилось круто. Подробнее — в описании к эпизоду на YouTube.

Подкаст с видео (очень качественным, не то, что у меня🥲), запись первого эпизода проходила в Амстердаме.

🎙Смотреть “Не сами боги” на YouTube

Ссылки на подкаст на других платформах (Apple/Google/Yandex) тут
👍31👎5🔥51👏1
This media is not supported in your browser
VIEW IN TELEGRAM
Хотите научиться решать действительно важные для бизнеса задачи и проектировать всю необходимую ML-инфраструктуру?
#промо

Валерий Бабушкин (Head of Data Science в Blockchainꓸcom, ранее работал в Facebook, Alibaba, X5 Group, Яндекс) со своими друзьями — руководителями Data Science направлений в крупнейших компаниях — записал свой авторский курс по хардкорному ML.

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

Сразу предупреждаем — придется интенсивно поработать. Но оно определённо того стоит, ведь знания прикладные: каждый модуль заканчивается разработкой ML-сервиса, который будет не стыдно показать будущему работодателю или адептам ODS.

Переходите по ссылке и записывайтесь на курс до 3 октября — по промокоду DLS20 вы получите скидку 10% на полную оплату курса.

А чтобы вы могли посмотреть, как обучение выглядит изнутри, мы подготовили бесплатную демоверсию!
❤‍🔥19💩8👍6🤮4🔥1
В сфере языковых моделей существует интересная проблема, о которой я как-то раньше не задумывалась. Состоит она вот в чем: когда модель обучалась, мир был устроен одним образом. Например, президентом США был Трамп, королева UK была жива, а текущей мировой проблемой был covid-19. Но проходит время, и теперь президент США — Байден, королевы больше нет, а воспоминания ковидного времени — прямо таки ностальгические. Задача, в общем, понятна: как впихнуть в обученную языковую модель новые знания об отдельных вещах/событиях?

Задача не так проста, как кажется: простое изменение инфы вида “президент Трамп -> президент Байден” влияет на очень много запросов и ответов модели. И нужно изменить веса сети не только чтобы научилась правильно отвечать на вопрос “кто президент США”, но и на любые каверзные вопросы, для ответа на которые нужно знание о том, кто сидит в Белом доме.

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

На статью с новой идеей архитектуры в парадигме третьего подхода (без изменения основной сети) я и наткнулась недавно. Идея вот какая:

Не менять изначальную модель. Когда в мире изменяется некий факт, который изначально был заложен в модель (например, сменился президент США), этот факт запомниается в отдельный кеш памяти. Далее при каждом новом запросе в модель происходит следующее:
- небольшая модель-классификатор определяет, связан ли новый запрос с каким-то из фактов в кеше памяти;
- если запрос не связан ни с одним фактом из памяти, модель генерирует ответ как обычно. Если же нашелся факт (или несколько), связанный с запросом, то модели на фход вместе с запросом подается этот связанный факт, и модель генерирует ответ.

Получается, дообучать под новые факты ничего не надо: только сохранять в память. Единственная проблемы, которые может возникнуть — это то, что фактов станет слишком много и они станут занимать кучу памяти. Авторы говорят, что это hardly a problem: один факт — это ~3кб памяти.

Вот так вот. Идея интересная и очень простая, что есть ее огромный плюс. Но у меня в голове крутятся две мысли по этому поводу:

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

И вторая мысль: эта идея, по сути, имитирует zero-shot режим работы модели. Но когда идут разговоры про zero-shot режим, это чаще всего про сценарий вида “есть задача. Мы подаем на вход модели пару примеров “input -> output”, затем новый инпут и ждем, что она выдаст правильный ответ. Например:

“Paris -> France”
“Moscow -> Russia”
“Tbilisi ->”

и ждем на выходе ”Georgia”. Так вот, вопрос в том, будет ли это работать в виде “подаем модели на вход факт, затем начинаем с ней болтать”. Будет ли модель иметь этот факт в виду? Или как нужно сформулировать вход, чтобы модель в zero-shot режиме поняла, что нужно принять этот факт во внимание для генерации последующих текстов?
#paper
👍36🤔10🤮2
Всем привет! Извините, что неделю (даже больше) не было постов: у меня было больше дел, чем я могла вывезти, плюс некоторое нервное напряжение.

Сейчас я сижу в Шереметьево, жду рейс в Стамбул. Там буду находиться до конца октября, затем уезжаю в Лондон. В Лондоне буду делать Ph.D. у вот этого профессора. В связи с отъездом (все же немного даже неожиданным, планировала уехать чуть позже) и были гора дел.

Тут снова будут регулярные посты в самое ближайшее время. Стоило блин только отвлечься, как наклепали классных статей и нейронок😅 Прямо сейчас вот сижу пишу один)

А у вас как дела?
👍11046🔥26🍾11🕊9🙏4💩3👎2🤮2💋1
FoldingDiff: диффузионная модель для генерации структур протеинов.
#paper

По порядку:
Задача генерации протеинов состоит в том, чтобы из атомов и аминокислот создавать новые структуры протеинов, которые действительно стабильно могут существовать а реальном мире. Со времен AlphaFold мы помним, что находить структуры протеинов — сложная задача. Каждый протеин имеет свою уникальную пространственную структуру, которую очень сложно найти даже если аминокислоты, составляющие протеин, известны. А здесь задача еще круче: сгенерировать новые, неизвестные протеины, которые могут существовать в стабильном состоянии.

Как работает диффузия для молекул:
Во-первых, пару слов о том, какое представление используют для молекулы протеина. Есть несколько вариантов, как это делать. Первый — в виде графа в 3-хмерном пространстве (3D-point cloud). Это довольно простой и логичный вариант, который использовали во многих (в том числе недавних) работах по генерации протеинов. Второй вариант представления молекулы — с помощью углов между ее атомами: каждая аминокислота, входящая в состав протеина — это вектор из шести значений (углов). Именно такой вариант используется в FoldingDiff.

Такое представление имеет огромное преимущество: оно не зависит от пространственного положения молекулы. Как бы ни была повернута молекула протеина, ее представление будет одинаковым. 3D point cloud таким свойством не обладает. Это позволяет использовать более легкие модели, с меньшим количеством параметров, для генерации протеинов.

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

Итак, в итоге каждый протеин представляется в виде матрицы размера 6xN, где N — количество аминокислот в составе протеина. К этому представлению постепенно добавляется гауссов шум, пока распределение чисел матрицы не станет неотличимым от wrapped gaussian. Задача модели — из такого представления восстановить структуру молекулы. Обученная модель далее может из рандомных матриц размера 6xN генерировать новые структуры молекул. Процесс показан на картинке к посту выше.

Сама модель очень простая — обычный bidirectional transformer. Модель генерирует структуру протеина шаг за шагом — на каждом шаге генерируется очередной вектор размера 6, соответствующий следующей аминокислоте в цепочке.

Эксперименты показывают, что обученная модель действительно часто генерирует структуры белков, которые можно получить в реальности. “Получить в реальности” означает, что для сгенеренной моделью последовательности углов аминокислот можно подобрать такие атомы, что существует реальный протеин с этими атомами и углами между ними. Также авторы показывают, что модель генерит довольно разнообразные структуры: более разнообразные, чем это делали предыдущие SOTA модели для этой задачи.

Детали устройства модели и экспериментов читайте в статье.
Также есть код на GitHub
👍25🔥8🤮1🕊1
В MIT исследовали феномен гроккинга (grokking) и, кажется, нашли этому эффекту правдоводобное объяснение
#paper

Grokking — это эффект, при котором уже после стадии переобучения модели (при возрастающем test лоссе и падаюшем train) при дальнейшем обучении test loss вдруг начинает падать, и сеть лучше генерализуется. Такой эффект наблюдали уже давно (например, вот тут), но, чаще всего, на малых, “игрушечных” датасетах (например, на такой простой задаче как сложение чисел). Никакого сильно убедительного объяснения эффекту не было (насколько я знаю), а также не удавалось повторить эффект на реальных, не игрушечных данных.

Ребята из MIT подошли ближе к пониманию природы grokking’а и даже смогли воспроизвести эффект на разных больших датасетах.

Авторы связывают эффект гроккинга с устройством поверхности лосс-функции. В недавней работе из Стенфорда было показано, что у этой поверхности существует сферическая область, в которой достигается оптимальная генерализация модели: то есть, для модели с параметрами из этой области train и test loss малы, переобучения при этом не наблюдается. Эту сферическую область ребята из Стенфорда назвали Goldilocks zone (“зона Златовласки”, показана на картинке зеленым). Так как область сферическая, она соответствует параметрам модели с определенной нормой. Внутренность это сферической области соответствует параметрам с меньшем нормой, область вне сферы — параметрам с большей нормой.

Далее: оказывается, grokking начинает проявляться, если в какой-то момент параметры сети имели большую норму (то есть, соответствовали точке поверхности вне сферы Златовласки). В этом случае параметры из этой точки быстро скатываются в точку локального минимума, которая также чаще всего находится за пределами сферы Златовласки, т.е. вне той области, где достигается оптимальная генерализация модели. Лосс на train становится малым, лосс на test остается большим: наблюдается переобучение.

Далее происходит следующее: если у модели нет никакой регуляризации (weight decay, к примеру), то на этом обучение модели заканчивается. Лосс не выходит из точки минимума, grokking не наблюдается, переобучение остается. Но если к модели применяется регуляризация, это выталкивает веса модели из локального минимума, и они начинают стремиться к зоне Златовласки. Обычно регуляризация применяется не очень сильная, поэтому проходит довольно много эпох обучения, прежде чем веса модели достигают точки внутри зоны Goldilocks и модель начинает генерализоваться. Это и объясняет эффект гроккинга: когда через достаточно долгое время после переобучения лосс на тесте вдруг падает и модель начинает лучше обобщаться.

Кстати, если у модели регуляризация довольно сильная, grokking’а тоже не будет: веса модели будут сразу быстро приходить внутрь зоны Златовласки, не задерживаясь в локальном минимуме вне сферы. Модель просто сразу достаточно хорошо генерализуется.

Теперь, почему grokking часто наблюдают на “игрушечных” датасетах, и почти никогда — на реальных. Во-первых, обычно веса любых нейросетей инициализируют значениями с довольно малой нормой, т.е. лежащими внутри зоны Златовласки. Однако на суперпростых датасетах при обучении модели наблюдается более быстрое увеличение нормы весов, потому что градиентный спуск быстрее выталкивает веса модели в локальную точку минимума трейн лосса сильно за пределами сферы. При обучении больших моделей этот эффект не такой сильный, и веса нечасто выходят за пределы зоны Златовласки вообще, и grokking не наблюдается.

Чтобы подтвердить гипотезу об описанном происхождении гроккина, исследователи обучили несколько моделей для разных задач CV и NLP с разными нормами весов. Оказалось, что увеличение нормы весов действительно приводит к возникновению эффекта grokking’а, пусть все же и не настолько выраженно, как на более простых датасетах.

Подробнее читайте в статье
Изначально новость нашла тут
🔥51👍252
Вспомнила тут, как мне кто-то в DLS недавно утверждал, что париться о правильной инициализации нейросетей не надо. Мол, может, экспериментально где-то что-то “хорошая” инициализация дает, но математических доказательств улучшения работы нейросети для разных видов инициализации нет. Инициализируем не нулями, и сойдет.

Так вот, это не так) Эффект grokking и его объяснение — еще одно этому доказательство. Инициализируйте сети правильно =)

И, наверное, надо добавить в DLS занятие или хотя бы мини-конспект по инициализации весов.
👍818🔥7
AlphaZero обучили находить более эффективные алгоритмы перемножения матриц
#paper

Перемножение матриц — суперски важная операция. Она используется в куче задач: сжатии/обработке картинок, рендеринге сцен в компьютерных играх, симуляциях и т.д. Ну и, разумеетя, перемножение матриц — основа всего AI =)

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

Что значит “перемножать матрицы быстрее”. Вспомним стандартный алгоритм матричного умножения, который мы изучали еще в школе: он состоит из нескольких операций умножения и сложения. Например, чтобы перемножить две матрицы размера 2х2, нужно сделать 8 операций умножения и сколько-то — сложения. Так вот, умножение чисел в компьютере занимает гораздо больше времени, чем сложение. Поэтому если удастся найти другой алгоритм, в котором для перемножения двух произвольных матриц требуется меньше операций умножения, чем в стандартном алгоритме, то это сильно ускорит умножение матриц.

Надо сказать, что для матриц размера 2х2 такой более быстрый алгоритм существует: его придумал Фолькер Штрассен в 1969 году. Он требует 7 операций умножения вместо стандартных восьми. Только вот для матриц большей размерности этот алгоритм не скейлится: они в компьютерах все еще умножаются стандартным способом.

И вот в DeepMind решили натравить нейронку на эту задачу: обучить ее находить более выгодные схемы умножения матриц произвольного размера.

Как работает модель:
Авторы представили задачу умножения матриц в виде игры. Начальное состояние игры — трехмерный тензор S произвольного размера. На каждом шаге игры игрок выбирает три произвольных тензора u, v и w, и произведение этих тензоров отнимается от S. Задача игрока — за минимальное число ходов превратить S в тензор из всех нулей.

На такую игру натравили RL-агента AlphaTensor. За его основу была взята AlphaZero — модель, которая когда-то отлично научилась играть в Го. Обучали AlphaTensor на матрицах размера <=5. В итоге для некоторых размеров матрицы S действительно удалось найти SOTA алгоритмы умножения:
- для S размера (3, 4, 5) модель нашла вариант алгоритма за 47 умножений вместо 48;
- для S размера (4, 4, 5) — 63 умножения вместо 64;
- для S размера (4, 5, 5) — 76 умножений вместо 80;
- также модель улучшила алгоритмы для перемножения некоторых матриц со значениями из поля Z_2.

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

Также авторы показывают, что можно научить AlphaTensor находить более быстрые варианты умножения матриц для определенной архитектуры процессора. Для этого нужно чуть модифицировать функцию reward’а модели: добавить в нее время, которое найденный моделью алгоритм требует для реализации на том или ином железе.

Ну и, напоследок, пара замечаний:
- одна из главных сложностей задачи — огромное пространство действий агента на каждом ходе (чисел так-то континуум). Поэтому в AlphaTensor факторизуют пространство действий для агента. Одно из путей развития алгоритма — сделать факторизацию обучаемой: заставить агента самому понимать, в каком множестве искать значения матриц u, v и w. Возможно, так можель сможет находить еще более оптимальные алгоритмы перемножения. Также из-за этого расширить алгоритм на матрицы большей размерности чуть сложнее.
- подобную идею перевода фундаментальной задачи в RL-игру можно применить не только к умножению матриц. Например, кажется, можно попробовать сделать то же самое для задачи разложения матриц и паре других.

Более подробно про архитектуру AlphaTensor и RL-сетап читайте в статье в Nature
Также у DeepMind есть блогпост об AlphaTensor
Новость изначально нашла тут
🔥57👍19😱3🤔1🙏1
А тут, наконец, вышел новый выпуск подкаста Deep Learning Stories, который мы записывали в конце августа🙃
#podcast

S01E05: AI в сейсмологии с Артемием Новоселовым

Гость выпуска — Артемий Новоселов, постдок рисерчер в Stanford University и автор канала NN for Science. В Стенфорде Артемий занимается ML в сейсмологии.

Обсудили с Артемием:
- путь Артемия в рисерче: как добраться до Стенфорда;
- что такое землетрясения и какими методами их пытаются предсказывать;
- AI в сейсмологии: как применяется сейчас, какие есть проблемы и какое видится будущее;
- немного о жизненном: о выгорании, мотивации, психологической помощи.

Ссылки на выпуск:
Yandex Music
Apple Music
Google Music
Spotify
Anchor.fm
YouTube (скоро будет, но без видео в этот раз)

—————————————
Поддержать подкаст и канал можно тут
🔥30👍31💩1
Центр когнитивного моделирования МФТИ открывает набор на оплачиваемую стажировку в области AI

На выбор есть несколько направлений:
- Embodied AI;
- CV;
- RL;
- Беспилотники и робототехника.

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

Важно: стажировку можно совмещать с написанием бакалаврского или магистерского диплома. Даже если вы учитесь не в МФТИ, часто можно найти научрука и лабу для написания диплома в другом ВУЗе. Я сама так делала в магистратуре.

Прием заявок до 1 ноября. Чтобы податься на стажировку, заполните эту анкету.
Подробнее о Центре Когнитивного Моделирования МФТИ, темах их исследований и стажировках можно почитать тут.
🔥27👍3🤮2🤯1💩1🤡1
Очень классная работа: редактирование отдельных частей изображения, сгенерированного диффузией.
#paper

Диффузии (DALL-E 2, Imagen, Stable Diffusion) очень классно генерируют картинки. Но управлять структурой этих картинок мы не очень умеем: малейшее изменение во входном тексте может поменять картинку целиком. Контроль структуры и семантики изображения (форм, цветов, частей объектов) — важная, и пока нерешенная задача. До сих пор решить ее пытались в основном с помощью создания сегментационных масок, которые подаются на вход диффузии вместе с текстом. Пример такого подхода — модель Make-A-Scene, о ней я писала тут.

Авторы из Стенфорда и университета Тель-Авива пошли глубже: они исследовали, где кроется связь между словами текста и структурой сгенерированной картинки, и придумали, как сохранять структуру картинки при изменении слов входного текста, не используя никаких масок сегментации.

Примеры работы модели — на картинке к посту.

Кратко, идея работы такая: оказывается, структура генерируемого изображения целиком определяется одной из матриц M слоя cross-attention. Используя ту же матрицу M при генерации с измененным текстовым запросом, можно "зафиксировать" структуру изображения. Но при этом семантические детили картинки будут изменены согласно изменению текста запроса. То есть, при переходе “A cat riding on a bicycle” -> “A cat riding on a car” вместо велосипеда действительно появится машина, а все остальные детали останутся неизменными.

Подробно о том, как алгоритм работает, и где же кроется связь между текстом и структурой изображения, я написала статью в telegraph.

📃Статья
🛠Код на GitHub
👍34🔥213💩1
This media is not supported in your browser
VIEW IN TELEGRAM
#промо

На что первым делом падает взгляд, когда вы заходите на сайт? На удобство расположения кнопок и интуитивно понятный интерфейс? Если сайт сделан круто, то вы не заметите никаких швов. Именно этим и занимается UX/UI-дизайнер: делает digital-мир удобнее. А работать такой специалист может из любой точки мира.

Сегодня каждая компания создает свой сайт или мобильное приложение, поэтому UX/UI-дизайнеры пользуются спросом. А еще профессия популярна в сфере IT, при этом UX/UI-дизайнерам не нужно уметь программировать.

Учиться на UX/UI-дизайнера лучше там, где дадут хороший старт.
На курсе в онлайн-школе дизайна CONTENTED студенты получают более 200 часов практики и 12 проектов в портфолио. Во время обучения вас ждет онлайн-практика в креативном агентстве REDKEDS или в IT-компании OZON под руководством арт-директора.

Приглашаем к нам учиться!
Узнать подробнее, посмотреть программу и подать заявку можно на сайте.
Там же вы можете получить еще более детальное описание обучения и бесплатную консультацию специалиста, чтобы не оставалось вопросов по программе.

А читателям канала DLStories скидка 45% до 25 октября по промокоду dl_stories!

Приходи ⬇️
Онлайн-школа дизайна Contented
🤮14👍7🔥41
2025/07/14 21:58:53
Back to Top
HTML Embed Code: