Привет, Хабр! Предлагаю вашему вниманию перевод статьи Руди Гилмана и Кэтрин Ванг.
Интуитивное RL: введение в систему «Преимущество-актер-критик» (A2C) .
Эксперты по обучению с подкреплением (RL) подготовили множество отличных учебных пособий.
Однако большинство описывают RL с помощью математических уравнений и абстрактных диаграмм.
Нам нравится думать о предмете с другой точки зрения.
Само RL основано на том, как учатся животные, так почему бы не перевести основной механизм RL обратно в природные явления, которые оно призвано имитировать? Люди лучше всего учатся через истории.
Это история модели «Критик преимуществ актера» (A2C).
Модель «Субъект-критик» — это популярная форма модели «Градиент политики», которая сама по себе является традиционным алгоритмом RL. Если вы понимаете A2C, вы понимаете глубокое RL. Как только вы получите интуитивное понимание A2C, проверьте:
- Наша простая реализация Код A2C (для обучения) или наш промышленный Версия PyTorch на основе модели Базовые показатели OpenAI TensorFlow ;
- Введение в RL от Барто и Саттона , Канонический курс Дэвида Сильвера , обзор Юси Ли И Репозиторий Дэнни Бритса на GitHub для глубокого погружения в RL;
- Удивительный курс fast.ai для интуитивного и практического освещения глубокого обучения в целом, реализованного в PyTorch;
- Учебные пособия Артура Джулиани на RL, реализованном в TensorFlow.
A2C принимает состояния в качестве входных данных (сенсорные входные данные в случае Клюковки) и генерирует два выходных сигнала:
1) Оценка того, какой размер вознаграждения будет получен, начиная с текущего состояния, без учета текущего (уже существующего) вознаграждения.
2) Рекомендация о том, какие действия предпринять (политика).
«Критик»: ух ты, какая чудесная долина! Это будет плодотворный день для собирательства! Держу пари, что получу 20 очков сегодня до захода солнца.
«Субъект»: Эти цветы выглядят красиво, меня тянет к «А».
Модели глубокого RL — это машины сопоставления ввода-вывода, как и любая другая модель классификации или регрессии.
Вместо категоризации изображений или текста модели глубокого RL приводят состояния к действиям и/или состояния к состояниям значений.
A2C делает и то, и другое.
Этот набор состояние-действие-вознаграждение представляет собой одно наблюдение.
Эту строку данных она запишет в свой дневник, но думать об этом пока не собирается.
Она заполнит его, когда перестанет думать.
Некоторые авторы связывают награду 1 с временным шагом 1, другие — с временным шагом 2, но все они имеют в виду одну и ту же концепцию: награда связана с состоянием, а действие непосредственно предшествует ему.
Клюковка повторяет процесс еще раз.
Сначала он воспринимает свое окружение и вырабатывает функцию V(S) и рекомендации к действию.
Критик: Эта долина выглядит вполне стандартно.
В(С) = 19. Тема: Варианты очень похожи.
Думаю, я просто пойду по пути «С».
Тогда она действует.
Получает +20 награду! И записывает наблюдение.
Она повторяет процесс еще раз.
Собрав три наблюдения, Клюковка задумалась.
Другие семейства моделей ждут до самого конца дня, чтобы задуматься (Монте-Карло), в то время как другие размышляют после каждого шага (одношаги).
Прежде чем она сможет настроить своего внутреннего критика, Клюковке необходимо подсчитать, сколько очков она на самом деле получит в том или ином состоянии.
Но сначала! Давайте посмотрим, как двоюродный брат Клюковки, Монте-Карло Фокс, вычисляет истинную стоимость каждого состояния.
Модели Монте-Карло не отражают свой опыт до конца игры, а поскольку значение последнего состояния равно нулю, найти истинное значение данного предыдущего состояния очень просто, как сумму наград, полученных после этого момента.
На самом деле это просто выборка V(S) с высокой дисперсией.
Агент может легко следовать другой траекторией из того же состояния, получая таким образом другую общую награду.
А Клюковка ходит, останавливается и много раз думает, пока день не подходит к концу.
Она хочет знать, сколько очков она на самом деле получит за каждое условие до конца игры, поскольку до конца игры осталось несколько часов.
Вот тут-то она и делает что-то очень умное - лиса Клюковка подсчитывает, сколько очков она получит за последнее состояние в этом наборе.
К счастью, у нее есть правильная оценка состояния – ее критик.
Имея эту оценку, Клюковка может вычислить «правильные» значения предыдущих состояний точно так же, как это делает лисица Монте-Карло.
Лисица Монте-Карло оценивает целевые метки, разворачивая траекторию и добавляя награды вперед от каждого состояния.
A2C разрезает эту траекторию и заменяет ее оценкой своего критика.
Этот бутстрап уменьшает дисперсию оценок и позволяет A2C работать непрерывно, хотя и за счет небольшого смещения.
Награды часто уменьшаются, чтобы отразить тот факт, что награды сейчас лучше, чем в будущем.
Проще говоря, Клюковка не снижает вознаграждение.
Теперь Клюковка может просмотреть каждую строку данных и сравнить предполагаемые значения состояния с фактическими значениями.
Она использует разницу между этими числами, чтобы отточить свои навыки прогнозирования.
Каждые три шага в течение дня Клюковка собирает ценный опыт, о котором стоит задуматься.
«Условия 1 и 2 я оценил плохо.
Что я сделал не так? Ага! В следующий раз, когда я увижу такие перья, я увеличу V(S).
Может показаться сумасшедшим, что Клюковка может использовать свою оценку V(S) в качестве основы для сравнения с другими прогнозами.
Но животные (в том числе и мы) делают это постоянно! Если вы чувствуете, что дела идут хорошо, не нужно переучивать действия, которые привели вас в такое состояние.
Обрезав рассчитанные выходные данные и заменив их бутстреп-оценкой, мы заменили большую дисперсию Монте-Карло небольшим смещением.
Модели RL обычно страдают от высокой дисперсии (представляющей все возможные траектории), и такая замена обычно того стоит. Клюковка повторяет этот процесс весь день, собирая три наблюдения о государственных действиях и вознаграждениях и размышляя над ними.
Каждый набор из трех наблюдений представляет собой небольшую автокоррелированную серию помеченных обучающих данных.
Чтобы уменьшить эту автокорреляцию, многие A2C обучают несколько агентов параллельно, суммируя их опыт перед отправкой его в общую нейронную сеть.
День наконец-то подходит к концу.
Осталось всего два шага.
Как мы говорили ранее, рекомендации Клюковки к действию выражены в процентах уверенности в ее возможностях.
Вместо того, чтобы просто выбрать наиболее безопасный вариант, Клюковка выбирает из такого распределения действий.
Это гарантирует, что она не всегда соглашается на безопасные, но потенциально посредственные действия.
Возможно, я об этом пожалею, но.
Иногда исследование неизвестных вещей может привести к новым захватывающим открытиям.
Чтобы еще больше стимулировать исследования, из функции потерь вычитается величина, называемая энтропией.
«Антропия» означает «диапазон» распределения действий.
- Похоже, ставка оправдалась!
Или нет?
Иногда агент оказывается в состоянии, когда все действия приводят к негативным результатам.
Однако A2C отлично справляются с плохими ситуациями.
На закате Клюковка обдумывала свои окончательные решения.
Мы рассказали о том, как Клюковка настраивает своего внутреннего критика.
Но как она корректирует свой внутренний «субъект»? Как она учится делать такой изысканный выбор? Простодушный лис, использующий градиентную политику, посмотрел бы на фактические доходы после действия и скорректировал бы свою политику, чтобы сделать хорошие доходы более вероятными: - Похоже, что моя политика в этом состоянии привела к потере 20 пунктов, я думаю, что лучше сделать «C» в будущем менее вероятен.
- Но ждать! Несправедливо возлагать вину на действие «С».
Это состояние имело оценку -100, поэтому выбор «С» и окончание на -20 на самом деле было относительным улучшением на 80! В будущем мне придется сделать «С» более вероятным.
Вместо того, чтобы корректировать свою политику в ответ на общую прибыль, которую она получила от выбора действия С, она корректирует свои действия с учетом относительной доходности от действия С.
Это называется «преимуществом».
То, что мы назвали преимуществом, — это просто ошибка.
В качестве преимущества Клюковка использует его, чтобы сделать действия, которые оказались на удивление хорошими, более вероятными.
В качестве ошибки она использует ту же ценность, чтобы подтолкнуть своего внутреннего критика улучшить свою оценку ценности государства.
Субъект использует: - «Ух ты, это сработало лучше, чем я думал, действие С, должно быть, хорошая идея».
Критик использует ошибку: «Но почему я удивился? Наверное, мне не следовало так негативно оценивать это состояние».
Теперь мы можем показать, как рассчитываются общие потери — эту функцию мы минимизируем, чтобы улучшить нашу модель.
«Общая потеря = потеря действия + потеря ценности – энтропия» Обратите внимание, что для расчета градиентов трёх качественно разных типов мы берём значения «каждый другой».
Это эффективно, но может затруднить выравнивание.
Как и все животные, по мере взросления Клюковка будет обострять свои способности предугадывать смысл состояний, приобретать большую уверенность в своих действиях и реже удивляться наградам.
RL-агенты, такие как Клюковка, не только генерируют все необходимые данные, просто взаимодействуя с окружением, но и сами оценивают целевые метки.
Правильно, модели RL обновляют предыдущие оценки, чтобы лучше соответствовать новым и улучшенным оценкам.
Как говорит доктор Дэвид Сильвер, руководитель группы RL в Google Deepmind: AI = DL + RL. Когда такой агент, как Клюковка, может настроить свой интеллект, возможности безграничны.
Теги: #Машинное обучение #искусственный интеллект #машинное обучение #наука о данных #глубокое обучение #обучение с подкреплением #переводы
-
Не Выравнивайте Свои Красивые Ножки
19 Oct, 24 -
Приобретите Mac: Машина Времени
19 Oct, 24 -
Открытые Дни До Запуска Нового Курса Python
19 Oct, 24 -
Интеграция В Системы Контроля Доступа
19 Oct, 24