Алгоритм Asynchronous Advantage Actor Critic (A3C)

Опубликовано: 24 Июля, 2021

Алгоритм Asynchronous Advantage Actor Critic (A3C) - один из новейших алгоритмов, разрабатываемых в области алгоритмов обучения с глубоким подкреплением. Этот алгоритм был разработан компанией Google DeepMind, которая является подразделением Google по искусственному интеллекту. Этот алгоритм был впервые упомянут в 2016 году в исследовательской статье, получившей соответствующее название «Асинхронные методы глубокого обучения».

Расшифровка различных частей имени алгоритма: -

  • Асинхронный: в отличие от других популярных алгоритмов глубокого обучения с подкреплением, таких как Deep Q-Learning, который использует один агент и единую среду, этот алгоритм использует несколько агентов, каждый из которых имеет свои собственные параметры сети и копию среды. Эти агенты взаимодействуют со своими соответствующими средами асинхронно , обучаясь при каждом взаимодействии. Каждый агент контролируется глобальной сетью. По мере того, как каждый агент получает больше знаний, он вносит свой вклад в общее знание глобальной сети. Наличие глобальной сети позволяет каждому агенту иметь более разнообразные обучающие данные. Эта установка имитирует реальную среду, в которой живут люди, поскольку каждый человек получает знания из опыта других людей, что позволяет улучшить всю «глобальную сеть».
  • Актер-критик: в отличие от некоторых более простых методов, которые основаны либо на методах изменения значений, либо на методах градиента политики, алгоритм A3C объединяет лучшие части обоих методов, т.е. алгоритм прогнозирует как функцию значения V (s), так и оптимальная функция политики . Агент обучения использует значение функции Value (Critic) для обновления функции оптимальной политики (Actor). Обратите внимание, что здесь функция политики означает вероятностное распределение пространства действий . Точнее, обучающийся агент определяет условную вероятность P (a | s; ) т.е. параметризованная вероятность того, что агент выберет действие a в состоянии s.

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

Преимущество: A = Q (s, a) - V (s)

Следующий псевдокод взят из исследовательской статьи, указанной выше.

Определите глобальные векторы общих параметров  [Tex] и [/ Tex]  [Текс] [/ текс]

 [Текс]  тета '[/ текс]  [Текс]  theta _ {v} '[/ текс]
 *** QuickLaTeX не может составить формулу:


*** Сообщение об ошибке:
Ошибка: ничего не отображается, формула пуста


[Текс] T <T_ {max} [/ текс]

 *** QuickLaTeX не может составить формулу:


*** Сообщение об ошибке:
Ошибка: ничего не отображается, формула пуста

[Текс] d theta = 0 [/ текс]

 *** QuickLaTeX не может составить формулу:


*** Сообщение об ошибке:
Ошибка: ничего не отображается, формула пуста
*** QuickLaTeX не может составить формулу:


*** Сообщение об ошибке:
Ошибка: ничего не отображается, формула пуста

[Текс] d theta _ {v} = 0 [/ текс]

 *** QuickLaTeX не может составить формулу:


*** Сообщение об ошибке:
Ошибка: ничего не отображается, формула пуста
*** QuickLaTeX не может составить формулу:


*** Сообщение об ошибке:
Ошибка: ничего не отображается, формула пуста

[Текс] theta '= theta [/ текс]

 *** QuickLaTeX не может составить формулу:


*** Сообщение об ошибке:
Ошибка: ничего не отображается, формула пуста
*** QuickLaTeX не может составить формулу:


*** Сообщение об ошибке:
Ошибка: ничего не отображается, формула пуста

[Текс] theta '_ {v} = theta _ {v} [/ текс]

 *** QuickLaTeX не может составить формулу:


*** Сообщение об ошибке:
Ошибка: ничего не отображается, формула пуста
*** QuickLaTeX не может составить формулу:


*** Сообщение об ошибке:
Ошибка: ничего не отображается, формула пуста

[Текс] t_ {start} = t [/ текс]

 *** QuickLaTeX не может составить формулу:


*** Сообщение об ошибке:
Ошибка: ничего не отображается, формула пуста
*** QuickLaTeX не может составить формулу:


*** Сообщение об ошибке:
Ошибка: ничего не отображается, формула пуста

[Текс] s = s_ {t} [/ текс]

 *** QuickLaTeX не может составить формулу:


*** Сообщение об ошибке:
Ошибка: ничего не отображается, формула пуста

[Текс] s_ {t} [/ текс] [Tex] t-t_ {start} <t_ {max} [/ Tex]

[Текс] а_ {т} [/ текс] [Tex] pi (a_ {t} | s; theta) [/ Tex]



 *** QuickLaTeX не может составить формулу:


*** Сообщение об ошибке:
Ошибка: ничего не отображается, формула пуста

[Текс] r_ {t} [/ текс] [Текс] s_ {t + 1} [/ текс]

 *** QuickLaTeX не может составить формулу:


*** Сообщение об ошибке:
Ошибка: ничего не отображается, формула пуста




[Текс] s_ {t} [/ текс]





[Tex] V (s_ {t}, theta _ {v} ') [/ Tex]

 *** QuickLaTeX не может составить формулу:


*** Сообщение об ошибке:
Ошибка: ничего не отображается, формула пуста


[Текс] t_ {начало} [/ текс]

[Текс] r_ {i} + gamma R [/ текс]

 *** QuickLaTeX не может составить формулу:


*** Сообщение об ошибке:
Ошибка: ничего не отображается, формула пуста
*** QuickLaTeX не может составить формулу:


*** Сообщение об ошибке:
Ошибка: ничего не отображается, формула пуста
*** QuickLaTeX не может составить формулу:


*** Сообщение об ошибке:
Ошибка: ничего не отображается, формула пуста

[Tex] d theta = d theta + Delta _ { theta '} log ( pi (a_ {i} | s {i}; theta') (RV (s_ {i}; theta _ { v} '))) [/ Tex]

 *** QuickLaTeX не может составить формулу:


*** Сообщение об ошибке:
Ошибка: ничего не отображается, формула пуста
*** QuickLaTeX не может составить формулу:


*** Сообщение об ошибке:
Ошибка: ничего не отображается, формула пуста
*** QuickLaTeX не может составить формулу:


*** Сообщение об ошибке:
Ошибка: ничего не отображается, формула пуста

[Tex] d theta _ {v} = d theta _ {v} + frac { partial ((RV (s_ {i}; theta _ {v} ')) ^ {2})} { частичный theta _ {v} '} [/ Tex]

 *** QuickLaTeX не может составить формулу:


*** Сообщение об ошибке:
Ошибка: ничего не отображается, формула пуста

 *** QuickLaTeX не может составить формулу:


*** Сообщение об ошибке:
Ошибка: ничего не отображается, формула пуста

[Tex] theta = theta + d theta [/ Tex]

 *** QuickLaTeX не может составить формулу:


*** Сообщение об ошибке:
Ошибка: ничего не отображается, формула пуста
*** QuickLaTeX не может составить формулу:


*** Сообщение об ошибке:
Ошибка: ничего не отображается, формула пуста

[Текс] theta _ {v} = theta + d theta _ {v} [/ текс]

 *** QuickLaTeX не может составить формулу:


*** Сообщение об ошибке:
Ошибка: ничего не отображается, формула пуста

Где,

- Максимальное количество итераций

- изменение глобального вектора параметров

- Общая награда

- Политическая функция

- Функция значения

- коэффициент дисконтирования

Преимущества:

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

Внимание компьютерщик! Укрепите свои основы с помощью базового курса программирования Python и изучите основы.

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