Запросы на исследования 2.0

Мы публикуем новую подборку из семи нерешенных проблем, возникших в ходе наших исследований в OpenAI.

Requests For Research 20

Как и наш изначальный выпуск «Запросов на исследования» (который привелкпоявлениюнескольких научных работ), мы надеемся, что эти задачи станут интересным и полезным способом для новичков войти в эту область, а для практиков — оттащить свои навыки (это также отличный способ получить работу в OpenAI). Многие из них потребуют изобретения новых идей. Пожалуйста,  пишите нам на электронную почту, если у вас есть вопросы или решения, которые вы бы хотели, чтобы мы опубликовали!

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

Разминка

Если вы не знаете, с чего начать, вот несколько решенных стартовых задач.

⭐ Обучите LSTM решать XOR задачу: то есть, получая на вход последовательность битов, определите ее четность. LSTM должна считывать последовательность по одному биту за раз, а затем выдавать правильный ответ в конце последовательности. Протестируйте два подхода, описанных ниже:

  • Сгенерируйте набор данных из 100 000 случайных бинарных строк длиной 50. Обучите LSTM; каких показателей производительности вам удалось достичь?
  • Сгенерируйте набор данных из 100 000 случайных бинарных строк, где длина каждой строки случайно и независимо выбирается в диапазоне от 1 до 50. Обучите LSTM. Успешна ли она? Чем объясняется разница?

⭐ Реализуйте клон классической игры «Змейка» в качестве среды Gym и решите ее с помощью выбранного вами алгоритма обучения с подкреплениемНапишите нам в Твиттере (X) и поделитесь видео с играющим агентом. Удалось ли вам обучить стратегию (политику), которая выигрывает в игру?

Запросы на исследования

⭐⭐ Скольжение (Slitherin»). Реализуйте и решите многопользовательский клон классической игры «Змейка» (вдохновляйтесь slither.io) в качестве среды Gym.

  • Среда: создайте игровое поле достаточно большого размера с несколькими змейками; змейки растут, поедая случайно появляющиеся фрукты; змейка погибает при столкновении с другой змейкой, самой собой или стеной; игра заканчивается, когда погибают все змейки. Начните с двух змей и масштабируйте систему дальше.
  • Агент: решите задачу среды, используя самосовершенствование (самоигру) с помощью алгоритма обучения с подкреплением на вашвыбор. Вам потребуется поэкспериментировать с различными подходами для преодоления нестабильности процесса самоигры (которая напоминает нестабильность, наблюдаемую в GAN). Например, попробуйте обучать текущую стратегию против распределения прошлых стратегий. Какой подход работает лучше всего?
  • Изучите выученное поведение: научился ли агент эффективно преследовать пищу и избегать других змей? Научился ли агент атаковать, устраивать ловушки или объединяться против конкурирующих змей? Отправьте нам в Твиттере (X) видео с обученными стратегиями!

⭐⭐⭐ Усреднение параметров в распределенном обучении с подкреплением. Исследуйте влияние схем усреднения параметров на объем выборки (sample complexity) и объем коммуникации в алгоритмах обучения с подкреплением. Хотя простейшим решением является усреднение градиентов от каждого воркера при каждом обновлении, вы можете сэкономить полосу пропускания для связи, обновляя воркеры независимо и выполняя усреднение параметров нечасто. В обучении с подкреплением это может дать еще одно преимущество: в любой момент времени у нас будут агенты с разными параметрами, что может привести к более качественному исследовательскому поведению (exploration). Другой вариант — использовать такие алгоритмы, как EASGD, которые частично сближают параметры при каждом обновлении.

⭐⭐⭐ Трансфертное обучение между различными играми с помощью генеративных моделей. Действуйте следующим образом:

  • Обучите 11 хороших стратегий для 11 Atari игр. Сгенерируйте 10 000 траекторий по 1 000 шагов каждая для стратегии в каждой игре.
  • Настройте генеративную модель (например,  Transformer) по траекториям, полученным в 10 играх.
  • Затем дообучите (fine-tune) эту модель на 11-й игре.
  • Ваша цель — количественно оценить выгоду от предварительного обучения на 10 играх. Насколько большой должна быть модель, чтобы предварительное обучение приносило пользу? Как меняется размер эффекта, если объем данных из 11-й игры уменьшить в 10 раз? В 100 раз?

⭐⭐⭐ Трансформеры с линейным вниманием. Модель Transformer использует мягкое внимание (soft attention) с функцией softmax. Если бы вместо этого мы могли использовать линейное внимание (которое можно преобразовать в рекуррентную нейросеть RNN, использующую быстрые веса), мы могли бы использовать полученную модель для задач обучения с подкреплением. В частности, роллаут (прогон) обучения с подкреплением с помощью трансформера на огромном контексте был бы непрактичен, но запуск RNN с быстрыми весами вполне осуществим. Ваша цель: взять любую задачу языкового моделирования; обучить трансформер;, а затем найти способ получить то же количество бит на символ/слово с помощью трансформера с линейным вниманием и другими гиперпараметрами, не увеличивая существенно общее количество параметров. Есть лишь один нюанс: это может оказаться невозможным. Но одна потенциально полезная подсказка: вполне вероятно, что трансформерам с линейным вниманием требуются векторы ключей/значений гораздо большей размерности по сравнению с вниманием на базе softmax, что можно сделать без существенного увеличения числа параметров.

⭐⭐⭐ Обучаемая аугментация данных. Вы можете использовать обученный вариационный автоэнкодер (VAE) данных для реализации «обучаемой аугментации данных». Сначала можно обучить VAE на входных данных, затем каждая точка обучения преобразуется путем кодирования в латентное пространство, применения простого (например, гауссовского) возмущения в латентном пространстве и последующего декодирования обратно в наблюдаемое пространство. Сможем ли мы использовать такой подход для улучшения генерализации? Потенциальным преимуществом такой аугментации данных является то, что она может включать множество нелинейных преобразований, таких как изменение точек обзора и изменение освещения сцены. Можем ли мы приблизить множество преобразований, к которым метка инвариантна? Ознакомьтесь с существующимиработаминаэтутему,  есливамнужна отправная точка для исследований.

⭐⭐⭐⭐ Регуляризация в обучении с подкреплением. Экспериментально исследуйте (и качественно объясните) влияние различных методов регуляризации на выбранный алгоритм обучения с подкреплением. В контролируемом глубоком обучении (supervised deep learning) регуляризация чрезвычайно важна для улучшения оптимизации и предотвращения переобучения. Здесь очень успешны такие методы, как дропаут (dropout),  батч-нормализация (batch normalization) и L2-регуляризация. Однако исследователи пока не извлекли особой пользы из регуляризации в алгоритмах обучения с подкреплением, таких как градиент стратегии (policy gradients) и Q-обучение. Между тем, в обучении с подкреплением люди обычно используют гораздо более компактные модели, чем в обучении с учителем, поскольку крупные модели работают хуже — возможно, из-за переобучения на недавнем опыте. В качестве отправной точки вот релевантное, хотя и более раннее теоретическое исследование.

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

Хотите работать над такими проблемами профессионально?  Отправьте резюме в OpenAI!

Авторы

Илья Суцкевер (Ilya Sutskever), Тим Салиманс (Tim Salimans), Дурк Кингма (Durk Kingma)

Полный текст статьи читайте на OpenAI