rizzearch
1.01K subscribers
988 photos
11 videos
320 links
Кайфули на каждый день

Авторы:
@zzmtsvv
@maxnygma (AI4Science посты)
Download Telegram
CrossQ: Batch Normalization in Deep Reinforcement Learning for Greater Sample Efficiency and Simplicity

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

Например - везде используют target сети, которые являются очень медленно обновляющейся копией основных сетей, чтобы стабилизировать objective criterion критика - а почему он нестабилен? Да пушт мы обновляем эту модельку через оператор Беллмана, чтобы критик был не всратым, а действительно показывал адекватную оценку действий, а оператор беллмана в себя включает самого критика - получаем нестационарную функцию, которую оптимизируем (непорядок, да и градиентный спуск в таком случае не работает, приходится делать стопградиент) => придумали таргет сети

Но таргет сетями не заканчивается - почти весь пайплайн состоит из таких деталей. Это доп проблемы, так как добавляя новые трюки, не факт, что они будут совмещены со старыми (получается огромный перебор вне зависимости от того насколько вообще изначальная идея стоящая)

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

по крайней мере на онлайн сетапе, из оффлайн рл же есть эвиденс, что леернорма там очень нужна

👀LINK
SimBa: Simplicity Bias for Scaling Up Parameters in Deep Reinforcement Learning

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

но модификации оказались не простые, а с интуицией: задачей было получить архитектуру, которую можно скейлить более-менее без попной боли, а в рл такого не получается, с точки зрения авторов - из-за отсутствия simplicity bias (который мы упоминали здесь и здесь)

здесь они мерили симплисити биас через преобразование фурье, и пытали такое соображение - чем больше высоких частот, тем функция “сложнее” в моделировании для фурье, а чем больше низких частот, тем функция “легче”

в итоге для того, чтобы сделать функцию “проще”🥴 добавили нормализацию по бегающим статистикам (по каждому дименшну инпута, не путать с батчнормом), резидуалы и пост леернорму. можно сказать, что мало novelty, ибо такое уже давно делали в других областях, но в рл все может быть сильно нестабильнее и непонятнее (имхо) в некоторых моментах по сравнению с другими ответвлениями дл, потому и такие модификации делать не так легко

а в итоге такое норм применяется (правда какой код для бейзлайнов прогоняли не оч понятно) и для офф-полиси, и для он-полиси алгосов + помогает в ансупервайзд сетапе (который хорошо получается у Seohong Park, в последний раз мы его упоминали здесь), так еще и пластичность сохраняется

👀LINK
SchNet – A Deep Learning Architecture for Molecules and Materials

rizzearch throwback

👌 Сегодня база и статья для олдов. Одна из первых GNN для молекул и материалов. Давайте разберемся как она работает

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

Для того, чтобы сгенерировать фильтр, используются попарные расстояния между атомами и радиально-базисную функцию (RBF). Здесь есть два важных инсайта
1️⃣ Попарные расстояние гарантируют инвариантность относительно поворотов. Это очень важно в задачах физики и химии, где скалярные свойства молекулы сохраняются вне зависимости от ее ориентации
2️⃣ RBF расширение позволяет изучить максимально разнообразные связи между атомами. Какой-то фильтр будет использовать атомы близкие к друг другу, а другой далекие - это диверсифицирует признаки. Это лучше всего понять, если взглянуть на выученные фильтры

Если же мы хотим работать с периодическими системами (кристаллами 💎💎💎), то нам нужно учитывать periodic boundary conditions. Делается это, через cutoff радиус - базовый метод как построить граф кристаллической решетки. Однако у этого метода есть огромные проблемы, про которые мы расскажем в будущем ⭕️

Эксперименты делались на крутом (на то время) датасете с квантовыми характеристиками молекул QM9. Сейчас, конечно, это очень маленький датасет и современные модели могут на нем даже не сойтись. Как бонус визуализируют химические потенциалы, предсказанные нейронкой

👁 Как вы поняли, в @rizzearch теперь будут статьи про ML + физика/химия, поэтому зовите своих друзей - будет интересно

👀 LINK
Please open Telegram to view this post
VIEW IN TELEGRAM
Please open Telegram to view this post
VIEW IN TELEGRAM
4🔥4👍2
Differential Transformer

another attempt to улучшить трансформер более-менее простым способом

итак, ребятки из майкрософт и tsinghua решили тоже призадуматься насчет того, что аттеншн может “аттендиться” на нерелевантные токены по его построению (о чем мы уже успели упомянуть здесь и здесь) и убрать этот “шум”

но идея простая (и не факт, что масштабируемая) - давайте просто фиттить две аттеншн мапы вместо одной, будем брать разницу между ними, которая интуитивно должна оставлять аттеншн только самым информативным токенам и нивелировать вышеупомянутый ишью

но так просто из-под коробки у них это не завелось - пришлось добавлять 4 обучаемых вектора, которые в совокупности составляли коэф для регуляризации в разнице между аттн мапами (см картинки есчо)

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

по скейлу - модельки от 830м до 13б, что относительно немного. очень вероятно, что подогнанные числа (типа тех дробных в lambda_init) не будут подходить под больший скейл (а может и вообще никакие не будут подходить, если проблема лишнего аттенда токенам присутствует в меньшей степени в бОльших моделях)

👀LINK
🔥2
Engaging in Personally Meaningful Activities is Associated with Meaning Salience and Psychological Well-being.

Если я чего-то не делаю, кто сделает за меня? И если не делаю прямо сейчас, то когда же? Но если я делаю это лишь ради себя — то кто же я?

Воля к смыслу
Виктор Франкл


исследование 2019 года, которое показывает, что у участников оного удовлетворенность жизнью и настроение были на пике тогда, когда они занимались вещами, которые, по их мнению, наполняли жизнь смыслом (meaningful). но так же верно было и обратное: чем меньше смысла, тем меньше вероятность счастья

(рофло)таблицу с 10 наиболее важными и значимыми делами прикладываем.

👀LINK
9
Do Transformers Really Perform Bad for Graph Representation?

Сегодня посмотрим на один из способов использования трансформера для графов - Graphormer. Статья строит себя на идеи использовать структурные признаки графа в аттеншене. В GNN у нас есть разные структурные признаки, которые неявно появляются из-за механизма message passing. В трансформерах, которые моделируют fully-connected граф такого нет

1️⃣ Centrality Encoding. Это просто степень вершины графа. Если граф направленный, то отдельно считаются in-degree и out-degree. Эта фича просто прибавляется к фичам вершин перед обработкой. Такая добавка нужна для учета важности отдельных вершин с большим количеством соседей в графе

2️⃣ Spatial Encoding. Он нужен чтобы модель понимала, что каждая вершина может взаимодействовать с другой, и это взаимодействие зависит от их позиции. Делается это с помощью обучаемой функции, которая на входе получает дистанцию самого короткого пути между вершинами i и j и отдает скаляр как bias перед расчетом softmax в аттеншене

3️⃣ Edge Encoding. Для кодирования ребер делают следующее. Берут один из кратчайших путей между вершинами i и j и считают среднее скалярное произведение фичей ребра и обучаемых весов. Такая идея позволяет обощить информацию ребер на весь граф. Полученный скаляр также прибавляют как bias в аттеншене

Также из деталей имплементации авторы используют виртуальную вершину VNode, которая соединена со всеми вершинами и служит аналогом CLS токена. Кстати, такая штука в GNN может привести в размытию репрезнтаций, про которое мы позже расскажем. Как и во многих статьях про трансформеры для графов, в Graphormer показывают, что их модель более экспрессивна, чем 1-WL тест, которым ограничен классический message passing

Эксперименты проводились на задаче регрессии квантово-химических свойств в бенчмарке OGB-LSC (PCQM4M-LSC). Бьет разные варианты GNN и ванильный Graph Transformer, который юзает Лапласиан для структурный признаков + другие графовые датасеты

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

👀 LINK
Please open Telegram to view this post
VIEW IN TELEGRAM
🔥6
ReLIC: A Recipe for 64k Steps of In-Context Reinforcement Learning for Embodied AI

ин-контекст рл шагает дальше и идет в усложнение тасок, особенно для embodied агентов. а с усложнениями тасок усложняется обучение и требование по длине контекста трансформера (при том многократно)

и получилось у авторов завести такое с введением синк кв (при том сделали это наивно, заменяя первые токены в форварде на синк токены, мб лучшего способа и нет) + ввели понятие “partial updates”, когда полиси обновляется несколько раз за роллаут (периодически, с заранее выбранным гиперпараметром)

код построен на базе habitat и как будто бы много где довольно грязный, пока в нем разбираешься - начинает постепенно мерещиться Апостол Павел

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

почему-то решили не прогонять бейзлайны и вставили просто результаты из папиры про DPT, где конечно дпт все обыгрывает, что супер странно (почему бы не поднять бейзлайны самим, как и желательно?)

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

👀LINK
👍2