Learning In-Context Decision Making with Synthetic MDPs [2024]
Вопрос о том, можно ли из In-Context трансформера (ICT) сделать полноценный интеллект, занимает довольно важное место в AI.
Задача-максимум - обучить ICT, работающий на out-of-distribution задачах на уровне человека. Задача попроще - обучить его имитировать эксперта / алгоритм с полноценным out-of-distribution обобщением. Чтобы учили на Atari, а работал на MuJoCo.
Исходя из логики вот этой работы, для обобщения ICT нужно обучить на разнообразии задач, "превышающем" объём параметров у модели (что сложно "измерить"). В рамках этой логики, да и в целом, логично учить модель на всё более расширяющемся наборе разнообразных задач и наблюдать за обобщающей способностью такой модели.
Gato - пример модели, обученной на экспертных демонстрациях на сотнях сред. Обобщает он средненько. Algorithm Distillation действует иначе - в нём мы копируем действия RL-агента в ходе длительного обучения. В данной статье попробовали случайно проецировать входы тренировочной задачи, искуственно увеличивая "разнообразие" - оказалось, что это помогает ICT обобщаться на соседние MuJoCo-среды.
Наконец, перейдём к рассматриваемой работе. А что, если обучить модель на разнообразном наборе синтетических задач? Для этого даже не нужны никакие симуляторы, достаточно задизайнить процедурную генерацию и можно отправить ICT развлекаться с ней. Если ваш ICT умеет по-настоящему обобщать RL-алгоритм, ему должно быть достаточно любой задачи для обучения, если вы её достаточно разнообразите.
В статье использовалось 8 видов синтетических сред. К примеру, один из них: состояние - это вектор действительных чисел, переход осуществляется рандомной нейросетью, получающей на вход one-hot вектор действия и состояние, а выдаёт следующее состояние. Был и вид, для понимания которого моего мозга не хватило:
> The Markov Chain family is identical to the discrete MDP family with the constraint that there is only one action and that reward is always zero.
Надеюсь, кто-нибудь в комментариях объяснит, как на этом можно учить Algorithm Distillation. А я пока сделаю вид, что всё нормально. Поговорим про результаты:
Взяли 5 MuJoCo-задач, одна из них тестовая, другие тренировочные. За score=1 брали ICT, обучающийся на тестовой задаче, но с рандомной проекцией входов. За 0 брали случайную модель. В качестве бейзлайна был "Gato" - то есть обучение на 4 тренировочных задачах, а тест на пятой. Ну и со всем этим добром сравнивали ICT, выученный на каждом из 8 видов синтетик. Получились +- те же числа, что и у Gato, полные результаты на картинке.
Однозначно из этой работы можно сделать вывод разве что о том, что синтетика - лучше, чем ничего, в данном контексте. Но к полному обобщению мы пока не сильно приблизились.
@knowledge_accumulator
Post #206
2.7K

- 👍 11
- ✍ 2
- ❤ 1