Is the Policy Gradient a Gradient?
Есть важная для теории рл вещь как Policy Gradient - позволяет связать (почти) напрямую реварды в рл с параметрами модели, которая предпринимает действия в среде.
Однако есть важный нюанс, который часто откидывают в более продвинутых методах - в них откидывают discount factor, коэф < 1, который интуитивно склоняет агента получать как можно больше награды как можно раньше (ну и на самом деле без этого коэффициента часто где не будут сходиться определенные величины и алгоритмы еще на уровне теории второго курса точно не будут работать)
Авторы задают вопрос - а можно ли вообще такое делать? останется ли такой измененный "градиент" градиентом хоть какой-то функции, или хотя бы будут ли теоретические показания, что алгоритм все равно хоть куда-то сойдется?
Как оказывается - такие градиенты вообще не градиенты (думайте.) Если ниже из списка популярных алгоритмов хоть один вам известен - в нем оптимизация идет не функции, а непонятно по чему
[ A3C SAC ACKTR ACER PPO TD3 ]
Ну, окей - хотя бы практически работает, но почему? where is my mind?
К сожалению или счастью, непонятно, почему это работает, кроме как фразы: "Ну мы вкладываем такое предположение, которое должно работать"
Считаю, это тот момент, когда очень наглядно современный теоретический аппарат науки отстает от человеческой интуиции - авторы вносят практические (эвристические) модификации, обусловленные эмпирическими результатами и упрощенными размышлениями, а теоретически это не выразить
👀LINK
#rl #policygradient #theory #practice
Есть важная для теории рл вещь как Policy Gradient - позволяет связать (почти) напрямую реварды в рл с параметрами модели, которая предпринимает действия в среде.
Однако есть важный нюанс, который часто откидывают в более продвинутых методах - в них откидывают discount factor, коэф < 1, который интуитивно склоняет агента получать как можно больше награды как можно раньше (ну и на самом деле без этого коэффициента часто где не будут сходиться определенные величины и алгоритмы еще на уровне теории второго курса точно не будут работать)
Авторы задают вопрос - а можно ли вообще такое делать? останется ли такой измененный "градиент" градиентом хоть какой-то функции, или хотя бы будут ли теоретические показания, что алгоритм все равно хоть куда-то сойдется?
Как оказывается - такие градиенты вообще не градиенты (думайте.) Если ниже из списка популярных алгоритмов хоть один вам известен - в нем оптимизация идет не функции, а непонятно по чему
[ A3C SAC ACKTR ACER PPO TD3 ]
Ну, окей - хотя бы практически работает, но почему? where is my mind?
К сожалению или счастью, непонятно, почему это работает, кроме как фразы: "Ну мы вкладываем такое предположение, которое должно работать"
Считаю, это тот момент, когда очень наглядно современный теоретический аппарат науки отстает от человеческой интуиции - авторы вносят практические (эвристические) модификации, обусловленные эмпирическими результатами и упрощенными размышлениями, а теоретически это не выразить
👀LINK
#rl #policygradient #theory #practice
👍1
The Primacy Bias in Deep Reinforcement Learning
Думаю, у всех есть жизненные ситуации, где вы сначала заучились что-то делать не совсем правильно (субоптимально) или совсем неправильно (неоптимально), то потом очень сложно переучиться делать правильно - будь то чеканка мяча, игра на гитаре, полуслепая печать и что вообще угодно
Такое явление носит название primacy bias. И раз такое может происходить с людьми, встает вопрос - может ли такое происходить с моделями, которые мы выстраиваем на подобие функционирования человека? (что бы это ни значило)
Ну конечно, еще одна проблема появляется в рл - агент оверфиттится на своем начальном опыте, который просто не может быть оптимальным, он просто ужасный, тк по сути агент только-только увидел свет и начал делать что-то (в основном) неправильное относительно реварда
Проблема то серьезная, а вот авторы показывают как ее легко решить - просто ресеттать веса нескольких последних слоев модели. Такая глубокая проблема решается добавлением нескольких строк кода, да🥹
👀LINK
#rl #resetting #primacybias
Думаю, у всех есть жизненные ситуации, где вы сначала заучились что-то делать не совсем правильно (субоптимально) или совсем неправильно (неоптимально), то потом очень сложно переучиться делать правильно - будь то чеканка мяча, игра на гитаре, полуслепая печать и что вообще угодно
Такое явление носит название primacy bias. И раз такое может происходить с людьми, встает вопрос - может ли такое происходить с моделями, которые мы выстраиваем на подобие функционирования человека? (что бы это ни значило)
Ну конечно, еще одна проблема появляется в рл - агент оверфиттится на своем начальном опыте, который просто не может быть оптимальным, он просто ужасный, тк по сути агент только-только увидел свет и начал делать что-то (в основном) неправильное относительно реварда
Проблема то серьезная, а вот авторы показывают как ее легко решить - просто ресеттать веса нескольких последних слоев модели. Такая глубокая проблема решается добавлением нескольких строк кода, да
👀LINK
#rl #resetting #primacybias
Please open Telegram to view this post
VIEW IN TELEGRAM
🤯2
Visual Programming: Compositional visual reasoning without training
Нейро-символьный подход, который объединяет GPT-3 и разные модули CV. В начале мы пишем in-context примеры по генерации программ, которые впоследствии генерируются LLM и исполняются разными модулями, типо SD, клипа или MaskFormer
👀 LINK
#neurosymbolic #multimodal
Нейро-символьный подход, который объединяет GPT-3 и разные модули CV. В начале мы пишем in-context примеры по генерации программ, которые впоследствии генерируются LLM и исполняются разными модулями, типо SD, клипа или MaskFormer
👀 LINK
#neurosymbolic #multimodal
🔥4
Learning to Modulate pre-trained Models in RL (NeurIPS 2023)
Вспоминаем один из наших предыдущих постов про catastrophic forgetting. Так вот авторы данной статьи решают эту проблему совершенно другим способом для того, чтобы адаптировать это все под среды с разными входными пространствами
Что они делают? берут каузальный трансформер (который просто на конкретном таймстепе последовательности смотрит только на предыдущие токены) и при помощи лоры дообучают его на новые таски. При том у нас не пара матриц для каждого слоя как по классике, а множество таких матриц, из которого мы с помощью обучаемого ключа вытаскиваем конкретные матрицы, которыми и файнтюним нашу основную модельку
Получаем совмещение Population Based Training + Parameter Efficient Fine-Tuning, где старые таски не забываются, а на новых достигается хороший результат
👀LINK
#rl #metarl #finetuning #lora #learning2modulate
Вспоминаем один из наших предыдущих постов про catastrophic forgetting. Так вот авторы данной статьи решают эту проблему совершенно другим способом для того, чтобы адаптировать это все под среды с разными входными пространствами
Что они делают? берут каузальный трансформер (который просто на конкретном таймстепе последовательности смотрит только на предыдущие токены) и при помощи лоры дообучают его на новые таски. При том у нас не пара матриц для каждого слоя как по классике, а множество таких матриц, из которого мы с помощью обучаемого ключа вытаскиваем конкретные матрицы, которыми и файнтюним нашу основную модельку
Получаем совмещение Population Based Training + Parameter Efficient Fine-Tuning, где старые таски не забываются, а на новых достигается хороший результат
👀LINK
#rl #metarl #finetuning #lora #learning2modulate
In-Context Language Learning: Architectures and Algorithms
Для начала вставим, как авторы понимают понятие In-Context Learning'a:
Вот его авторы и пытаются изучить - какие именно модели (и кто лучше) перформит исл, какие изменения в архитектуре заставят улучшить результаты по исл и почему именно происходит исл
Входе следственно-розыскного мероприятия аттеншн слоев трансформера (у которого исл получается лучше остальных моделей) было выявлено, что они моделируют то, что называется n-gram heads (они же индуктивные головы более высокого порядка)
Если добавить их в модели типо RetNet или Mamba они почти полностью закрывают разрыв с трансформером по in-context, более того дают большой прирост даже для самого трансформера
👀LINK
#icl #ngrams #transformer #languagemodelling
Для начала вставим, как авторы понимают понятие In-Context Learning'a:
in-context learning (ICL)—the ability to infer a conditional or unconditional distribution over natural language strings simply by performing next-token prediction following a sequence of examples from the distribution of interest.
Вот его авторы и пытаются изучить - какие именно модели (и кто лучше) перформит исл, какие изменения в архитектуре заставят улучшить результаты по исл и почему именно происходит исл
В
Если добавить их в модели типо RetNet или Mamba они почти полностью закрывают разрыв с трансформером по in-context, более того дают большой прирост даже для самого трансформера
👀LINK
#icl #ngrams #transformer #languagemodelling
❤3👍2 2🤔1
The Evolution of Statistical Induction Heads: In-Context Learning Markov Chains
Вдогонку про ин-контекст. Абстрагируемся от естественного языка - перейдем к моделированию последовательностей случайной цепи Маркова, потому что легко такое сделать, да и мы знаем как такое оптимально моделировать на инференсе. Авторы так же демонстрируют появление статистических индуктивных голов, то есть голов, которые ведут счетчики (статистики) по входящим токенам
Более того, сначала трансформер моделирует униграммы, затем происходит «фазовый переход» - момент резкого падения лосса модели из-за оверфита на трейне и появления в ней новых способностей - и трансформер уже моделирует биграммы. Процесс (возможно, и в более сложных реалистичных ситуациях) повторяется и получаем, что трансформеры способны моделировать in-context n-grams
👀LINK
#icl #bigrams #unigrams #ngrams #inductiveheads #phasetransition #transformer
Вдогонку про ин-контекст. Абстрагируемся от естественного языка - перейдем к моделированию последовательностей случайной цепи Маркова, потому что легко такое сделать, да и мы знаем как такое оптимально моделировать на инференсе. Авторы так же демонстрируют появление статистических индуктивных голов, то есть голов, которые ведут счетчики (статистики) по входящим токенам
Более того, сначала трансформер моделирует униграммы, затем происходит «фазовый переход» - момент резкого падения лосса модели из-за оверфита на трейне и появления в ней новых способностей - и трансформер уже моделирует биграммы. Процесс (возможно, и в более сложных реалистичных ситуациях) повторяется и получаем, что трансформеры способны моделировать in-context n-grams
👀LINK
#icl #bigrams #unigrams #ngrams #inductiveheads #phasetransition #transformer
🤔2👍1
Better-than-Demonstrator Imitation Learning via Automatically-Ranked Demonstrations
Есть близкая к рл подобласть - imitation learning, где нам не дана функция награды, но есть примеры от эксперта (демонстратора), по которым надо научиться действовать в среде. По сути это обычный supervised learning. А значит и этой идее присущи все недостатки супервайзд лернинга, связанные с характеристиками данных и лейблов. В нашем случае мы это назовем невозможностью превзойти демонстратора, которым были собраны данные
Но авторы придумали, как обойти этот потолок - раз у нас есть лучшие действия которые надо копировать, почему бы не зашумить их тем или иным образом, перформанс ухудшится от шума, а значит и у нас уже будут не просто лучшие действия, а пара из оптимального и неоптимального действия, а если еще и шум постепенно увеличивать, то мы будем наблюдать постепенную деградацию в результате с разной степенью оптимальности. Можем ли мы обучить на этом функцию награды и вернуться к классической постановке обучения с подкреплением? Как оказывается, да!
👀LINK
#rl #reward #noiseinjection #irl #imitationlearning
Есть близкая к рл подобласть - imitation learning, где нам не дана функция награды, но есть примеры от эксперта (демонстратора), по которым надо научиться действовать в среде. По сути это обычный supervised learning. А значит и этой идее присущи все недостатки супервайзд лернинга, связанные с характеристиками данных и лейблов. В нашем случае мы это назовем невозможностью превзойти демонстратора, которым были собраны данные
Но авторы придумали, как обойти этот потолок - раз у нас есть лучшие действия которые надо копировать, почему бы не зашумить их тем или иным образом, перформанс ухудшится от шума, а значит и у нас уже будут не просто лучшие действия, а пара из оптимального и неоптимального действия, а если еще и шум постепенно увеличивать, то мы будем наблюдать постепенную деградацию в результате с разной степенью оптимальности. Можем ли мы обучить на этом функцию награды и вернуться к классической постановке обучения с подкреплением? Как оказывается, да!
👀LINK
#rl #reward #noiseinjection #irl #imitationlearning
👍3
Can Wikipedia Help Offline Reinforcement Learning?
Что? При чем тут википедия и рл вообще, где в атари и муджоко надо играть
А вот авторы показывают, что трансформер можно предобучить как лм на корпусе Википедии, что ускорит сходимость при файнтюнинге на рл тасках (при том очень разнообразных относительно друг друга). Это говорит о том, что вики закладывает индуктивный биас полезный для РЛ задач (!!!) да как так?
Реально как так? При том мы упоминали, что трансфер лернинг только мешает результату при сильном смене домена, а тут последовательность языковая из википедии и последовательность состояний-действий-наград в средах, которые совершенно не связаны с языком. Как это работает?
А вот как-то работает🤔 . Явно такие противоречащие факты говорят о том, что все намного глубже и проблематичнее, чем мы думаем
👀LINK
#rl #offlinerl #pretraining #finetuning
Что? При чем тут википедия и рл вообще, где в атари и муджоко надо играть
А вот авторы показывают, что трансформер можно предобучить как лм на корпусе Википедии, что ускорит сходимость при файнтюнинге на рл тасках (при том очень разнообразных относительно друг друга). Это говорит о том, что вики закладывает индуктивный биас полезный для РЛ задач (!!!) да как так?
Реально как так? При том мы упоминали, что трансфер лернинг только мешает результату при сильном смене домена, а тут последовательность языковая из википедии и последовательность состояний-действий-наград в средах, которые совершенно не связаны с языком. Как это работает?
А вот как-то работает
👀LINK
#rl #offlinerl #pretraining #finetuning
Please open Telegram to view this post
VIEW IN TELEGRAM
🤯2
Pre-training with Synthetic Data Helps Offline Reinforcement Learning
А вот и продолжение (упрощение) идеи выше. Оказывается, необязательно претрениться именно на языке, достаточно генерировать относительно игрушечную синтетику (то есть рандомные марковские цепи или игрушечные марковские процессы принятия решений) и уже это ускорит обучение
При том это будет работать не только для трансформеров или моделей которые работают с последовательностями, но и с более легковесными моделями. В данном случае речь идет про CQL
👀LINK
#rl #offlinerl #synthetic #finetuning #mdp
А вот и продолжение (упрощение) идеи выше. Оказывается, необязательно претрениться именно на языке, достаточно генерировать относительно игрушечную синтетику (то есть рандомные марковские цепи или игрушечные марковские процессы принятия решений) и уже это ускорит обучение
При том это будет работать не только для трансформеров или моделей которые работают с последовательностями, но и с более легковесными моделями. В данном случае речь идет про CQL
👀LINK
#rl #offlinerl #synthetic #finetuning #mdp
🤯1
On the Practical Consistency of Meta-Reinforcement Learning Algorithms
а вот и момент, когда непростая теория в рл (почти наверняка) работает
В (относительно) последнее время набирает популярность область мета-рля, когда мы учим гигачад агента, который умеет не просто выполнять хорошо несколько тасок, но и адаптироваться к новым на оптимальный уровень
Есть несколько общих подходов, которые пытаются такое сотворить. Можно через hypernetwork, у которой аутпуты являются весами для другой модели. И производить адаптацию к новым таскам через градиент апдейты (MAML). Можно через понятие контекста, которое близко к понятий гиперсетей, только не производится градиентный спуск (RL^2). А можно и через псевдо-байеса, вводя понятие уверенности (VariBAD)
Прикол в том, что теоретические обоснования есть только у мамла относительно оод тасок. Авторы данной статьи решают проверить, а нужна ли теория вообще в этом аспекте
Как оказыается, да...
Эвристические методы проваливаются, если менять распределение новых задач, в то время как эксперименты на мамле подтверждают теорию. НО если добавить градиентные обновления во все методы (то есть сделать какой-то гибрид), то все методы выходят на хороший уровень
Однако мамл адаптируется не ко всем оод таскам. Например, он не может хорошо эксплорить среду с разреженными ревардами, если тренился до этого на плотных ревардах
Но и в то же время понятие оод может быть контринтуитивным. Авторы подтверждают гипотезу, что чем сильнее отличается распределение тест таски от трейновых, тем хуже адаптация. Но если сначала обучать агента ходить за halfcheetah, а потом ant'a, то адаптация будет отличной - пища для размышлений относительно формализации оод понятия для рл
👀LINK
#rl #metarl #adaptation #exploration #theory #ood
а вот и момент, когда непростая теория в рл (почти наверняка) работает
В (относительно) последнее время набирает популярность область мета-рля, когда мы учим гигачад агента, который умеет не просто выполнять хорошо несколько тасок, но и адаптироваться к новым на оптимальный уровень
Есть несколько общих подходов, которые пытаются такое сотворить. Можно через hypernetwork, у которой аутпуты являются весами для другой модели. И производить адаптацию к новым таскам через градиент апдейты (MAML). Можно через понятие контекста, которое близко к понятий гиперсетей, только не производится градиентный спуск (RL^2). А можно и через псевдо-байеса, вводя понятие уверенности (VariBAD)
Прикол в том, что теоретические обоснования есть только у мамла относительно оод тасок. Авторы данной статьи решают проверить, а нужна ли теория вообще в этом аспекте
Как оказыается, да...
Эвристические методы проваливаются, если менять распределение новых задач, в то время как эксперименты на мамле подтверждают теорию. НО если добавить градиентные обновления во все методы (то есть сделать какой-то гибрид), то все методы выходят на хороший уровень
Однако мамл адаптируется не ко всем оод таскам. Например, он не может хорошо эксплорить среду с разреженными ревардами, если тренился до этого на плотных ревардах
Но и в то же время понятие оод может быть контринтуитивным. Авторы подтверждают гипотезу, что чем сильнее отличается распределение тест таски от трейновых, тем хуже адаптация. Но если сначала обучать агента ходить за halfcheetah, а потом ant'a, то адаптация будет отличной - пища для размышлений относительно формализации оод понятия для рл
👀LINK
#rl #metarl #adaptation #exploration #theory #ood
On the Effectiveness of Fine-tuning Versus Meta-reinforcement Learning
Ранее мы упоминали мета-рл, где агент адаптируется (без обучения основного модуля) к новым таскам, которые ранее не видел
Но ресерч в этом направлении в основном проходит на достаточно простых средах, есть много гораздо сложнее, на которых обучают сингл-таск и мульти-таск агентов
Поэтому авторы задумались - а насколько релевантны современные метарл алгосы для более сложных сред, нежели мульти-таск агенты, которые файнтюнятся на новой задаче?
Оказалось, что мета-рл на данный момент намного хуже выступает, чем файнтюн мультитаск методы. А это значит, что в этом направлении остаётся еще копать и копать для получения практических методов, которые разрывают все на практике
👀LINK
#rl #metarl #finetuning #visual #multitask
Ранее мы упоминали мета-рл, где агент адаптируется (без обучения основного модуля) к новым таскам, которые ранее не видел
Но ресерч в этом направлении в основном проходит на достаточно простых средах, есть много гораздо сложнее, на которых обучают сингл-таск и мульти-таск агентов
Поэтому авторы задумались - а насколько релевантны современные метарл алгосы для более сложных сред, нежели мульти-таск агенты, которые файнтюнятся на новой задаче?
Оказалось, что мета-рл на данный момент намного хуже выступает, чем файнтюн мультитаск методы. А это значит, что в этом направлении остаётся еще копать и копать для получения практических методов, которые разрывают все на практике
👀LINK
#rl #metarl #finetuning #visual #multitask
General Policy Evaluation and Improvement by Learning to Identify Few But Crucial States
[Я бы назвал это попыткой Шмидхубера в что-то вроде мета-рл, но строго говоря это вообще не так, просто что-то интересное]
Многие знают, что обучение сингл таск агента состоит из двух основных шагов:
1. policy improvement - когда вы обновляете непосредственно модель, которая совершает действия, часто ее называют актором
2. policy evaluation - когда вы фиттите модель ценности принятого действия для конкретного состояния, часто ее называют критиком. При том этот критик актуален для конкретного актора. т.е. если поменять конфигурацию актора, то и критика придется полностью переобучивать (а может и архитектуру тоже менять)
Встает вопрос - а можно ли иметь одного критика для нескольких акторов, которые так или иначе друг от друга отличаются, чтобы быстрее находить самого лучшего актора?
Авторы показывают, что можно, если критик будет оперировать над параметрами модели (почти) напрямую. А как это сделать эффективно? Шмидхубер и Ко прогоняют акторов через обучаемые состояния (probing states), которые являются частью параметров критика + можно сделать только одну адекватную конфигурацию актора, а дальше получить из него много-много моделей добавляя шум прямо в веса
Так а что в итоге?
- генерализованный критик
- состояния, в которых можно потыкаться и что-то узнать о поставленной задаче (кстати их не так много и можно по пальцам одной руки пересчитать)
- zero-shot обучение новых акторов😎
👀LINK
#rl #policyoptimisation #datasetdistillation #mdp
[Я бы назвал это попыткой Шмидхубера в что-то вроде мета-рл, но строго говоря это вообще не так, просто что-то интересное]
Многие знают, что обучение сингл таск агента состоит из двух основных шагов:
1. policy improvement - когда вы обновляете непосредственно модель, которая совершает действия, часто ее называют актором
2. policy evaluation - когда вы фиттите модель ценности принятого действия для конкретного состояния, часто ее называют критиком. При том этот критик актуален для конкретного актора. т.е. если поменять конфигурацию актора, то и критика придется полностью переобучивать (а может и архитектуру тоже менять)
Встает вопрос - а можно ли иметь одного критика для нескольких акторов, которые так или иначе друг от друга отличаются, чтобы быстрее находить самого лучшего актора?
Авторы показывают, что можно, если критик будет оперировать над параметрами модели (почти) напрямую. А как это сделать эффективно? Шмидхубер и Ко прогоняют акторов через обучаемые состояния (probing states), которые являются частью параметров критика + можно сделать только одну адекватную конфигурацию актора, а дальше получить из него много-много моделей добавляя шум прямо в веса
Так а что в итоге?
- генерализованный критик
- состояния, в которых можно потыкаться и что-то узнать о поставленной задаче (кстати их не так много и можно по пальцам одной руки пересчитать)
- zero-shot обучение новых акторов
👀LINK
#rl #policyoptimisation #datasetdistillation #mdp
Please open Telegram to view this post
VIEW IN TELEGRAM
Please open Telegram to view this post
VIEW IN TELEGRAM
Recurrent Hypernetworks are Surprisingly Strong in Meta-RL
Ну окей, есть мета-рл, а как его воспроизвести быстрее/легче всего? так через рекуррентные сети, которые принимают траектории тасок и пытаются на них генерализоваться
Однако выход рннки подавали на вход политике вместо состояния, и так и работали. Авторы этой статьи, по названию, вставляют в эту парадигму гиперсети в качестве рннок, которые моделируют веса для политики непосредственно
Но не все так просто. Так же пришлось поработать с инференсом и добавить в него что-то вроде прокси для моделирования "контекста" - ярлыка для обозначения того, какую именно таску надо решить - тем самым они сближают области мета-рля и мульти-таск рля
👀LINK
#rl #metarl #hypernetwork #rnn
Ну окей, есть мета-рл, а как его воспроизвести быстрее/легче всего? так через рекуррентные сети, которые принимают траектории тасок и пытаются на них генерализоваться
Однако выход рннки подавали на вход политике вместо состояния, и так и работали. Авторы этой статьи, по названию, вставляют в эту парадигму гиперсети в качестве рннок, которые моделируют веса для политики непосредственно
Но не все так просто. Так же пришлось поработать с инференсом и добавить в него что-то вроде прокси для моделирования "контекста" - ярлыка для обозначения того, какую именно таску надо решить - тем самым они сближают области мета-рля и мульти-таск рля
👀LINK
#rl #metarl #hypernetwork #rnn