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

Авторы:
@zzmtsvv
@maxnygma (AI4Science посты)
Download Telegram
HackAtari: Atari Learning Environments for Robust and Continual Reinforcement Learning

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

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

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

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

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

👀LINK
311
Reward Centering

папира в соавторстве с прекрасным Ричардом Саттоном (и его вайб на самом деле сильно чувствуется, если вы читали его учебник)

есть вот такой вот сеттинг - среду нельзя разделить на обособленные промежутки, которые принято называть эпизодами. такие среды называются continuing environments, и формулируются модели через понятие average reward’a, где берется предел по горизонту событий и всякое такое.

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

да! и Ричард Саттон дает одновременно простой и (возможно) гениальный ответ - просто вычитайте среднее. окей, а как именно вычитать в процессе принятия решений? получается, надо обыграть понятие бегущего среднего, при том неплохо бы еще и объединить с td learning модулями пайплайна, которые мы все так любим

и такое удается - в обновление бегущего среднего включается не просто обновление реварда с каким-то EMA параметром, но так же гамма (фактор дисконтирования) и сами значение критика/ку-лернинг функции

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


👀LINK
42🔥1
Why are Sensitive Functions Hard for Transformers?

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

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

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

- PARITY (the main one in this paper): маппит последовательность в флаг, четно ли количество единиц или нет (average sens = n)
- MAJORITY: чего больше, единиц или нулей? ( average sens = Θ(sqrt(*n*)) )
- FIRST: какой первый элемент последовательности ? (average sens = 1)
- MEAN: усредняем бинарные значения последовательности (average sens = 1/n)

ну и вот по значениям можно увидеть, что PARITY - самая сложная ибо требует высокой чувствительности.

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

Более формально: по мере увеличения длины инпута гессиан mean-squared лосса в точке минимума, соответствующей такой чувствительной функции, имеет неограниченно большие элементы

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

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

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

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

👀Link Code
👍742
Weight Clipping for Deep Continual and Reinforcement Learning

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

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

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

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

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

ну и авторы в принципе сами это понимают и в качестве future work предлагают адаптивный подбор этого коэффициента (а вот как blyat его подобрать уже другой вопрос 🥹)

есть код, очень классный и понятный по мотивам клинрл да и просто чистый код

👀LINK
31
Клиппинг с лидокоином
31
ReFT: Representation Finetuning for Language Models

что-то очень интересное выкатил Dan Jurafsky, кто написал довольно классный учебник по нлп. в папире, кстати, чувствуется его вайб

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

эта парадигма пересматривается - давайте добавим побольше интерпретируемости будем пробовать менять выбранную репрезентацию внутри модели. а как? при помощи лоу ранк обучаемой модификации хиддена, которая выводится через distributed interchange intervention. так проверяют, заэнкоден ли какой-либо концепт внутри эмбеддингов или нет (тесно связано с каузальщиной, yes please).

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

по результатам, вроде как, нехило так обгоняет пефт на commonsense reasoning, instruction- following и natural language understanding. правда встает еще вопрос, как лучше перебирать гиперы для рефта и будет ли это эффективнее пефта (с чем уж точно встает вопрос, как именно выбрать таймстепы и конкретный эмбеддинг, на который будет накладываться интервенция)

👀LINK
5
Language Model Can Listen While Speaking

окей, есть голосовые ассистенты, которые могут в реальном времени перебивать человечка - например от опенаи, а есть ли что-то такое в опенсурсе? теперь да, вот эта папира как раз

что смогли сделать авторы? модель может слушать в реал тайме и отдавать инициативу в разговоре юзеру даже при его зашумленном сигнале.

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

качество более-менее норм, не опенаи конечно, но это по сути первопроходцы в такой обалсти

жаль что кода нет, демка

👀LINK
👍511