Мотивация этой статьи проистекает из недавнего соревнования, в котором я участвовал, где нам нужно было обучить модель в игре Atari SpaceInvaders и максимально увеличить количество очков, набранных агентом за 100 запусков.
Учитывая, что это был мой первый опыт обучения с подкреплением, я начал с Deep Q Networks и его вариаций. Хотя результат теста был очень приятным для новичка, он был довольно нестабильным и требовал значительного количества тренировок, чтобы получить хороший результат.
Следующим на очереди был A3C - алгоритм обучения с подкреплением, разработанный Google Deep Mind, который полностью превосходит большинство алгоритмов, таких как Deep Q Networks (DQN), с показателями, которых он может достичь за короткий период времени.
A3C расшифровывается как Asynchronous Advantage Actor-Critic, где
Асинхронный
означает многопроцессорность. Здесь несколько агентов работают вместе над одной и той же проблемой и делятся друг с другом информацией о том, что они узнали. Когда многие головы пытаются решить проблему, решение достигается быстрее.
Каждый из этих агентов одновременно взаимодействует со своей собственной копией среды. Это действительно работает лучше, чем наличие одного агента, потому что опыт каждого агента независим и уникален для других агентов. Таким образом, у нас есть разнообразный опыт.
Актер-Критик
Модель «субъект-критик» - это, по сути, модель Q-Learning с глубокой сверткой, в которой агент реализует Q-обучение. Здесь вводятся изображения (снимок текущего состояния), и они передаются в глубокую сверточную нейронную сеть.
В базовой модели Q-Learning с глубокой сверткой выходом будет q-значение для возможных действий, которые агент может предпринять для данного состояния. Однако в A3C есть два выхода, один из которых представляет собой q-значения для различных действий, а другой - для вычисления значения нахождения в состоянии, в котором фактически находится агент.
Преимущество
Преимущество заключается в том, что значение, которое сообщает нам, есть ли улучшение в определенном действии по сравнению с ожидаемым средним значением этого состояния на основе.
Q (s, a) относится к значению Q или ожидаемому будущему вознаграждению за выполнение действия в определенном состоянии. V (s) обозначает ценность пребывания в определенном состоянии. Цель модели - максимизировать ценность преимущества.
Теперь, когда мы установили базовое понимание, давайте объединим их, чтобы понять, как работает эта модель в целом. Одним из основных компонентов, объединяющих их всех, является общая память.
объем памяти
Для этого мы используем ячейку Long Short Term Memory (LSTM). Выходные данные, полученные из Q-сети глубокой свертки, теперь передаются на уровень LSTM, который передаст значения на полносвязный уровень. Слой LSTM предоставляет модели память, позволяющую вспомнить прошлый опыт и принять решение на его основе.
Окончательный результат полностью подключенного слоя, из которого выбирается действие для нейронной сети-исполнителя. Значение также передается в нейронную сеть критика, где значение обновляется. Веса нейронной сети обновляются путем вычисления потери ценности для критика и потери политики для действующего лица, а затем обратное распространение ошибок по сети.
Этот алгоритм в настоящее время является самым современным в области обучения с подкреплением. Он оказался успешным в различных игровых средах со счетами, которые очень трудно достичь одному человеку за короткий период времени.
Одним из главных достижений является AlphaGo, ИИ, победивший лучшего игрока в мире в древней настольной игре го.
Если вы увлечены играми и хотели бы, чтобы ИИ победил в игре, обязательно ознакомьтесь с дополнительной информацией об обучении с подкреплением. Это действительно интересная область, которая растет вместе с людьми, предлагающими разные стратегии и идеи для решения проблем. Скоро обучение с подкреплением будет решать сценарии реального мира, а пока продолжайте учиться и продолжайте исследовать!
использованная литература
- Https://arxiv.org/abs/1602.01783
- Https://medium.com/emergent-future/simple-reinforcement-learning-with-tensorflow-part-8-asynchronous-actor-critic-agents-a3c-c88f72a5e9f2
- Https://pathmind.com/wiki/deep-reinforcement-learning
- Курс RL Дэвида Сильвера
- Https://www.cs.toronto.edu/~vmnih/docs/dqn.pdf
- Https://towardsdatascience.com/dqn-part-1-vanilla-deep-q-networks-6eb4a00febfb
- Https://towardsdatascience.com/welcome-to-deep-reinforcement-learning-part-1-dqn-c3cab4d41b6b
Связаться со мной
*** Спасибо всем за то, что прочитали эту статью. Мы очень ценим ваши предложения! ***