AKA Обучение с подкреплением

Чтобы взаимодействовать со сложной средой, живым существам необходимо произвести «правильную» последовательность действий для получения отложенных будущих вознаграждений. Эти живые существа или субъекты могут ощущать окружающую среду и производить действия в ответ на последовательность состояний как среды, так и предыдущей истории агента. См. Рисунок:

Сценарий, в котором мы хотим научиться выполнять некоторые задачи, следующий:

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

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

Недавняя работа в области искусственного интеллекта (ИИ) использует алгоритмы обучения с подкреплением для моделирования поведения агентов с использованием редких и спорадических вознаграждений. Последние достижения в этой области позволили обучать агентов действовать в сложной искусственной среде и даже превосходить человеческие способности в тех же условиях [Mnih2013, -2016]. Некоторые захватывающие недавние результаты в этой области - изучение языка при выполнении заданий на RL - см. Здесь.

Формализм

Чтобы научиться действовать в реальном мире, при заданной последовательности состояний s мы хотим получить последовательность действий a, которая максимизирует вознаграждение или вероятность выигрыша.

Основные потребности (предположим, мы не знаем правил игры, а просто список возможных действий, которые мы можем выполнить):

  • нужно уметь оценивать состояние - выигрываем ли мы, проигрываем, насколько близки к награде?
  • необходимо иметь возможность предсказать результат из состояния, пары действий {s, a} - учитывая, что мы решили предпринять действие a, какая награда или результата мы ожидаем? Играть в умственную игру
  • необходимо запомнить список пар {s, a}, который может длиться очень долго

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

Полностью наблюдаемый

Бумага AlphaZero демонстрирует элегантный подход к полностью наблюдаемым играм.

Состав AlphaZero:

Один (AZ1): функция f (нейронная сеть) на основе параметров theta выводит вероятность действия a и значение действия v (предсказание ценности движения).

a, v = f (тета, s)

Два (AZ2): модель прогнозирования, которая может оценивать результат различных ходов и самостоятельной игры (сценарии игры в вашей голове). Поиск по дереву Монте-Карло в AlphaZero. Эти результаты игр, вероятности ходов a и значение v затем используются для обновления функции f.

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

Частично наблюдаемый

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

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

B- Слишком много возможных вариантов для поиска. Дерево поиска слишком велико. Мы можем использовать AZ2, но нам нужно быть умными и быстрыми в выборе вариантов, которые мы оцениваем, так как их слишком много, и у нас есть только ограниченное время, чтобы принять решение о наших следующих действиях!

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

как нам это сделать?

Предложение

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

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

Чтобы преодолеть эти ограничения, мы изучаем синтетическую модель мозга со следующими характеристиками:

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

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

Слева вы можете увидеть предложение нейронной сети, которая может понимать мир и действовать в нем. Эта сеть использует видео и может предсказывать будущее представление на основе комбинации состояний и собственной ассоциативной памяти. Многоголовое внимание может вспомнить воспоминания и объединить их с состояниями, чтобы предсказать, какое действие лучше всего предпринять.

Эта модель способна хорошо работать в нескольких условиях:

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

Как тренировать этот синтетический мозг?

  • в основном без присмотра или без присмотра
  • небольшой контроль здесь и там, но нет гарантии, когда

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

В прошлом мы выступали за новый тип нейронных сетей, которые оказались более эффективными при обучении задачам RL.

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

Примечание 1: это отличный пост о том, почему RL работает или не работает, и о проблемах, связанных с этим. Я согласен, что в наши дни большая часть RL очень неэффективна, и истории успеха трансфертного обучения не существует. Вот почему мы должны продвигать подходы к предварительному обучению сетей, изучению учебной программы и разбиению задачи на множество более простых задач, каждая из которых имеет простое вознаграждение. Одно решение всех проблем сложно, если у вас такое большое пространство для поиска!

Об авторе

У меня почти 20-летний опыт работы с нейронными сетями как в аппаратном, так и в программном обеспечении (редкое сочетание). См. Обо мне здесь: Medium, webpage, Scholar, LinkedIn и т. Д.