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

Авторы:
@zzmtsvv
@maxnygma (AI4Science посты)
Download Telegram
Goodhart's Law in Reinforcement Learning


Обучение с подкреплением приобрело свою популярность в том числе и из-за того, что порой мы не можем сформулировать грамотно задачи под фреймворк супервайзд или ансупервайзд лернинга, но зато можем запрогать reward signal, который и попытаемся максимизировать. Как оказывается, и с этим сигналом (особенно сделанным эвристично на основе бородатых предположений, которые не полностью покрывают сложность задачи реального мира) может быть проблема, называемая принципом Гудхарта (Википедия рекомендует не путать с законом Годвина).

Авторы предлагают простое решение через своеобразный early stopping

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

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


👀LINK


#rl #proxyreward #optimization #mdp
1
This media is not supported in your browser
VIEW IN TELEGRAM
Survival Instinct in Offline Reinforcement Learning

Вдогонку про размышления об эффекте награды на алгоритмы рл

Как оказывается, в оффлайн рл тоже не все так просто (область, где агент не может взаимодействовать со средой, а должен чему-то научиться на основе фиксированного «оффлайн» датасета, который может составить эксперт или другой неоптимальный алгоритм). Отличается оптимизация оффлайн рл от классического рл тем, что мы пытаемся в предсказаниях не отходить от того, что присутствует в датасете (потому что если предсказания будут слишком далеко, то есть out-of-distribution, то мы не сможем сказать, насколько они хороши или плохи).

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

(!) Явление это носит название survival instinct. Довольно интуитивно понятно и даже легко переносится на людей: зачем нам размышлять о том какая именно ценность у действий, пример которых нам показывают, если мы можем просто стараться повторять их как можно лучше и не париться (эффект наименьшего сопротивления). Работает эта тактика правда в случае, если показательные примеры недеструктивны (имеют positive bias)

Статья ставит под вопрос чуть ли не целую область, а как все-таки сделать алгоритм, который будет пытаться искать паттерны в наградах, а не только в примерах, которые он видит (т.е. как приблизить к reinforcement learning’у и отойти от фактического supervised learning)


👀LINK

#rl #offlinerl #distribution #positivebias #behaviorcloning
2
ASDL: A Unified Interface for Gradient Preconditioning in PyTorch (NeurIPS 2022 Workshop)

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

Статейка про полезную библиотеку asdfghjkl, которая позволяет удобно делать preconditioning на градиент (Pg = C^-1g) для оптимизации высших порядков, ну или же просто выгодно считать матрицы, связанны с кривизной и ковариацией градиентов, такие как Гессиан, матрица Гаусса-Ньютона и матрица Фишера. Еще у них в целом кайфовое интро в тему higher-order methods и то, какие есть варианты, включая разные матрицы кривизны, их представления (тут можно их считать и по слоям и по семплам) и солверы, которые как раз используются для расчета preconditining

Админ сам юзал либу для Байесовских методов, которая юзает asdfghjkl и она реально удобная, слова риззерчера даем

👀 LINK

#gradientpreconditioning #optimization #curvature #sharpness
👍2
DoRA: Weight-Decomposed Low-Rank Adaptation

Простая (и одновременно гениальная) модификация ЛоРЫ, которая разделяет претрейн веса на magnitude & direction для улучшения генерализации (по сравнению с полным файнтюнингом) и стабильности при обучении, при этом нету никаких доп вычислений на инференсе

👀LINK

#lora #decomposition #finetuning #stability
4👍1
Visual Instruction Inversion: Image Editing via Visual Prompting (NeurIPS 2023)

Новый улучшенный способ image editing с помощью диффузий

Решают проблему того, что в image editing зачастую промпт не может хорошо описать редактирование, которое мы хотим применить. Метод состоит из 2 компонентов:

1) Берут модель, использующую картинку со стилем в качестве conditioning, тут это InstructPix2Pix и тюнят в ней только токен инструкции преобразования в эмбеддинге промпта

2) Добавляют лосс, регулирующий направления преобразования и его промпта в латентном пространстве. Тут это просто косинусовое расстояние между промптом стиля и разницей между CLIP эмбеддингами картинок “до” и ”после”

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

Метод работает по качеству сравнимо с InstructPix2Pix и SDEdit

👀 LINK

#diffusion #imageediting #visualprompting
Please open Telegram to view this post
VIEW IN TELEGRAM
🔥6👍1
Cliff Diving: Exploring Reward Surfaces in Reinforcement Learning Environments

Очень Крутая визуальная статья, которая показывает, как всего лишь на одной 3д картинке можно посмотреть на «обобщенную внутреннюю реакцию» модели на награду. Подтверждает некоторые common wisdom, например, что клиппинг в PPO реально не дает агенту сделать слишком большой шаг и разойтись - теперь это видно по графику во время оптимизации

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

👀
LINK

#rl #visualization
🔥2
Explaining RL Decisions with Trajectories

Довольно простой и работающий пайплайн, как выявить значимость траекторий принятий решений при обучении алгоритма: appropriate encoding + clustering, затем обучаем много-много политик, в каждой исключая по определенному кластеру, разница в перформансе указывает на значимость соответствующих кластеров траекторий

Можно ли применить не только к рл? Конечно, замените в тексте выше «траекторию» на «последовательность», «политику» на «модель» и получите простой метод интерпретации чего-то там для séquence data


👀LINK

#rl #decisionmaking #sequence #interpretability #representationlearning
👍2
Understanding, Predicting and Better Resolving Q-Value Divergence in Offline-RL

Момент, когда специфичная теория на стыке областей работает. Применяют теорию диффуров для linear iteration dynamics + neural tangent kernel, чтобы получить метрику под названием Self-Excite Eigenvalue Measure (SEEM), которая показывает в начале обучения, разойдется ли метод оффлайн рл или нет. Если воспроизводить код - (вроде) работает + дает повод логгировать хоть что-то во время обучения, не относящееся к евалу ( с этим в рл туго, потому что зачастую тот же самый лосс практически никогда не говорит о том, какой результат будет на тесте )

Теперь и думай, как это соотносится со статьей про инстинкт выживания


👀
LINK


#r #offlinerl #differentialequations #neuraltangentkernel #stability
🤔2
Generative Models as Distributions of Functions (AISTATS 2022)

А вы когда-нибудь задумывались о представлении картинок не с помощью решетки пикселей, а с помощью функций?

Авторы этой статьи задумались и предложили моделировать картинки именно таким способом. Достигается это с помощью неявного представления функции преобразования координат в RGB значения. В такие представления добавляют random Fourier feature encoding, чтобы выучивать сигнал разной частоты. Нейронка состоит из генератора hypernetwork, веса которой и представляют функцию преобразования, и дискриминатора PointConv, который расценивает выход нашей функции как набор точек с мерой дистанции, т.е это point cloud. Модель учится как GAN с minimax игрой

А спросите, нафиг это нужно? Тема в том, что тут размер сети скейлится линейно от размера данных + мы можем юзать одну сеть для разных модельностей типо картинок, вокселей или даже данных на сфере

Забавная идейка в общем, что сказать 🤑

👀 LINK

#generative #hypernetwork #functionrepresentation
1
Large Language Models as General Pattern Machines


Really profound paper, который еще больше раскрывает способности инконтекста ллмок. Обученная выполнять языковые задачи, ллм способна принимать на вход закодированные состояния среды и производить адекватные низкоуровневые действия, то есть решать задачу планирования, не говоря уже о том, что в целом решает задачки Abstraction and Reasoning, поданные в виде ascii art

Conclusion: «LLMs can serve as general sequence modelers, driven by in-context learning.»

👀
LINK

#nlp #llm #patternrecognition #incontextlearning
2🔥2
The Difficulty of Passive Learning in Deep Reinforcement Learning


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

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

Гугловские ребята еще давно нашли в этом слабость на глубинном уровне, связанном с понятием пассивного обучения из эксперимента 20-ого века, где котенок не понимает последствия своих действий, потому что он напрямую и не влияет на ситуацию (логично) 🐱🐱

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


👀LINK


#rl #passivelearning
Please open Telegram to view this post
VIEW IN TELEGRAM
1🔥1
Training Diffusion Models with Reinforcement Learning

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

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

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

👀LINK

#rl #diffusion #text2img #promptalignment #mdp
🔥31
Layer-wise linear mode connectivity

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

Позволяет выйти в поверхности функции потерь на место с отсутствием linear barrier => parameters averaging снижает лосс, что далеко нетривиально для невыпуклых лоссов глубоких сетей


👀LINK


#representationlearning #parametersaveraging #losssurface
🔥2
Data Distributional Properties Drive Emergent In-Context Learning in Transformers (NeurIPS 2022)

Интересная статейка с нипса 22 года про причины in-context learning (ICL). Тут авторы приводят несколько наблюдений

1) Есть свойства данных, которые коррелируют с возможностью модели в ICL. Это "burstiness" (насколько классы в последовательности собираются в кластера), число и частота классов, различность в значениях одного класса и внутреклассовые вариации семплов. Эти выводы можно использовать для анализа различных ICL сетапов

2) In-context learning зачастую идет в трейд-офф с in-weights learning (IWL), а свойства в данных для двух сетапов разнятся

3) Трансформеры более способны в ICL, чем рннки, что в целом не сюрприз

4) Существуют сетапы, где модель все может показать и ICL и IWL, например, если данные семплируются из распределения Ципфа, которое несет важную информацию о распредлении частотности слова в языке

👀LINK

#nlp #incontextlearning #inweightslearning
Please open Telegram to view this post
VIEW IN TELEGRAM
👍3🤔1
Foundation Policies with Hilbert Representations


фаундейшн модели остаются открытым вопросом в области рл, поскольку зачастую эти методы требуют большого разнообразия и высокой экспертности данных для того, чтобы хоть что-то завелось. Беркли, а именно Seohong Park, решают эту проблему через латентное представление в Гильбертовом пространстве (звучит умно, а на самом деле в этом пространстве просто достаточно, чтобы inner product соответствовал метрике), которое сохраняет временные зависимости между состояниями в пространственных между эмбеддингами.

Политика же обучается после этого с формулированием подобного же intrinsic reward'a

Что это дает? возможность решать много разных goal-conditioned и zero-shot rl задач, обгоняя алгоритмы, которые затюнены специально под каждую конкретную таску


👀LINK


#rl #zeroshot #goalconditioning #hilbert #offlinerl
👀2
Identifying Policy Gradient Subspaces

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

Авторы решили поискать то же самое и в полиси градиент методах рл - и выяснили то же самое!

А что ето значит? А то, что любые методы по ускорению обучения супервайзд лернинга, которые используют факт low-dimensional gradient subspace coverage, можно без зазрения совести использовать и в классичных алгоритмах рл, задумываясь о других аспектах методов


👀
LINK

#rl #optimization #subspace #policygradient
2👍2
GaLore: Memory-Efficient LLM Training by Gradient Low-Rank Projection

А вот и невероятно крутой пример, как использовать факт из поста выше

Сложно найти человека, который ни разу не слышал про ЛоРУ и многие ее производные, которые оч сильно помогают файнтюнить большие модельки при непосредственном обучении отдельного относительно небольшого количества параметров

А вот можно лучше, как оказывается!😼

Авторы показывают, что оптимизацию в низкоранговом пространстве можно сделать эффективно относительно памяти для всех параметров модели. А как? Да просто проецировать градиенты в подпространство, делать там апдейт, и возвращаться в исходное пространство

А как найти это подпространство? Через сингулярное разложение, оф корс😎😎😎

👀LINK

#llm #optimization #lowrank #memory #lora
Please open Telegram to view this post
VIEW IN TELEGRAM
🔥9👍1
Massively Scalable Inverse Reinforcement Learning in Google Maps


Что насчет применения инверс рейнфорсмент лернинга, задачки где надо восстановить ревард функцию, на графах, где граф - маршруты на нашей земле. А ревард функция зачем? - чтобы научить алгоритм находить кратчайшие маршруты, конечно

А такое возможно 🤔?
А что насчет компрессии графов, пространственной параллелизации и увеличения производительности? - ну тоже есть, вот Гугл раскрыл как применяет рл и нормально так времени на маршрут сбавляет по всему миру


👀
LINK


#rl #graph #mdp #inverserl
Please open Telegram to view this post
VIEW IN TELEGRAM
🔥4
To the Max: Reinventing Reward in Reinforcement Learning

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

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

Авторы предлагают в таком случае переформулировать постановку оптимизации не суммы наград, а максимума из наград, что поможет в таких случаях
А как такое сделоть? Через доп переменную, которая интуитивно является аккумулируемой переменной максимума, а остальные детали не отличаются от классических имплементаций


👀LINK

#rl #reward