Научная статья на тему 'СРАВНИТЕЛЬНЫЙ АНАЛИЗ АЛГОРИТМОВ PROXIMAL POLICY OPTIMIZATION И SOFT-ACTOR-CRITIC'

СРАВНИТЕЛЬНЫЙ АНАЛИЗ АЛГОРИТМОВ PROXIMAL POLICY OPTIMIZATION И SOFT-ACTOR-CRITIC Текст научной статьи по специальности «Математика»

CC BY
874
136
i Надоели баннеры? Вы всегда можете отключить рекламу.
Журнал
E-Scio
Область наук
Ключевые слова
MACHINE LEARNING / ALGORITHM / ENVIRONMENT / AGENT / МАШИННОЕ ОБУЧЕНИЕ / АЛГОРИТМ / СРЕДА / АГЕНТ

Аннотация научной статьи по математике, автор научной работы — Чачанидзе Елизавета Романовна

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

i Надоели баннеры? Вы всегда можете отключить рекламу.
iНе можете найти то, что вам нужно? Попробуйте сервис подбора литературы.
i Надоели баннеры? Вы всегда можете отключить рекламу.

Текст научной работы на тему «СРАВНИТЕЛЬНЫЙ АНАЛИЗ АЛГОРИТМОВ PROXIMAL POLICY OPTIMIZATION И SOFT-ACTOR-CRITIC»

УДК 004

Информационные технологии

Чачанидзе Елизавета Романовна, студент Московского Государственного Технического Университета им. Н.Э. Баумана, Россия, г. Москва

СРАВНИТЕЛЬНЫЙАНАЛИЗАЛШРИТМОВPROXIMAL POLICYOPTIMIZATIONHSOFT-ACTOR-CRITIC

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

Ключевыеслова:машинное обучение;алгоритм;среда, агент.

Annotation: This article is intended to conduct a comparative analysis of two algorithms that are used for machine learning with reinforcement. These algorithms are used in the Unity ML-agents library, which makes it necessary to compare them. The article describes the main mathematical features of the algorithms and based on the differences in the operation of each of the algorithms, a comparative table is compiled. After analyzing the table, conclusions are made about the best conditions for using each algorithm.

Keywords: machine learning; algorithm; environment, agent.

1 Алгоритмы для оптимизации политики агентов

На рисунке 3 ниже представлена схема связи между существующими семействами алгоритмов машинного обучения с подкреплением [1]. Как видно

на схеме, семейство policyoptimization является наиболее обширным. Оно же и является наиболее часто используемым и наиболее эффективным в большинстве случаев.

Далее в этой будут приведены математические описания основ алгоритмов оптимизации политики агентов. В теории машинного обучения выделяют понятие policygradient Это понятие относится именно к тем алгоритмам, которые предсказывают оптимальные действия агентов напрямую.Алгоритмы такого типа используются для обучения агентов в 3-dсредах. Библиотека ML-agentsдля Ш^предоставляет наиболее простой доступ к обучению агентов с помощью обучения с подкреплением. Данная библиотека имеет реализацию двух алгоритмов из данного семейства - PPOи SAC.

Рисунок 1. Семейство алгоритмов обучения с подкреплением.

Для того, чтобы использовать алгоритмы с policygradient необходимо выражение, которое можно вычислить. Для этого необходимо предпринять два шага. Первый шаг — это аналитическое определение градиента эффективности политики, которое должно иметь ожидаемое значение. Вторым шагом является формирование ожидаемого значения эффективности политики, которое можно вычислить с помощью данных из симулируемых сред.

2ProximalPolicyOptimization

ProximalPolicyOptimization или сокращенно PPO это алгоритм, основной мотивацией которого является вопрос: как получить наибольшее возможное улучшение результатов за один шаг на основе тех данных, что уже имеются и при этом не ухудшить текущие показатели эффективности политики. PPO старается делать свои новые политики более похожими на старые с помощью более простых методов чем другие алгоритмы из его семейства. При этом PPO имеет такую же эффективность. Существуют две основных вариации PPO: PPO-Penalty и PPO-clip. PPO-Clip используется гораздо чаще, поэтому далее фокус именно на этой версии алгоритма. Данные версии отличаются способом подтверждения того, что новая политика не слишком сильно отличается от старой.

Основные уравнения PPO представлены далее:

PPO обновляет свои политики следующим образом:

вк+1 = argmaxeESia~„ek [L(s, а, вкв)] (1)

где: вк+1 это параметры k+1 политики;

Esa-жа этоожидаемое значение при состоянии ^и действии агента ана

' "к

основании политики пвк;

L(s, а, вкв) это целевая функция.

Обычно требуется несколько шагов симуляции чтобы максимизировать целевую функцию. Здесь целевая функция Ьэто:

\nek(als) у ' н\щк(а\*) J )

где: ne(a\s) и (а^это политики действий с соответствующими параметрами в и вк;

АПвь (s, а) - это преимущество, которое агент получает при следовании политике пвк;

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

Существует упрощенная версия уравнения (2), которая более четко описывает влияние гиперпараметра эпсилон на сохранение политики действий. Данная версия используется при программировании данного алгоритма в Tensorflow[2].

L(s,a,eke) = min(^^^Anek(s,a),g(e,Anek(s,a))\ (3)

\Щк(Ф) J

где^это функция:

«^¿+-£ЛЛ00 (4)

Далее рассмотрим более подробно что происходит в единичном случае с парой состояние-действие (s, а) в различных случаях.

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

L(s,a,eke) = min[-^^,(1 + £)Wefc(s,a) (5) К J \nek(als) J

Так как преимущество А положительно, целевое значение увеличиться если действие станет более вероятным, то есть если пв (а ^увеличиться. Однако, наличие min в этом выражение ставит ограничение на то,насколько сильно может увеличиться целевое значение. Как-только ne(als) становится больше (1 + e)nQk(als), условие о минимальности вступает в силу и выражение не может принять значение выше (1 + e)Anek(s, а). Таким образом алгоритм обеспечивает, что новая политика не будет выгодной, если она слишком отличается от старой.

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

L(s, а, вкв) = max (1 - в)) АПвь (s, а) (6)

Так как преимущество А отрицательно, целевое значение увеличиться если действие станет менее вероятным, то есть если пв (а ^уменьшится. Однако, наличие max в этом выражение ставит ограничение на то, насколько сильно может увеличиться целевое значение. Как-только ne(als) становится меньше (1 — e)ngk(als), условие о максимальности вступает в силу и выражение ограничивается значением (1 — e)Anek(s,a). И в данном случае алгоритм также обеспечивает, что новая политика не будет выгодной, если она слишком отличается от старой.

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

3 Soft-Actor-Critic

Мягкий Актор-Критик (англ. SoftActorCritic) далее SAC это алгоритм, который оптимизирует стохастическую политику действий, не опираясь на существующую политику. Он похож на многие другие алгоритмы, хотя и не является прямым потомком ни одного из них. Данный алгоритм выступает своего рода связующим звеном между ними.

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

связан с отношением между эффективностью и исследованием внутри политики действий. Чем выше энтропия, тем больше возможных новых вариантов действий рассматривается в процессе обучения. Контроль над энтропией может также помочь избежать ситуации с «локальным оптимумом»

Чтобы полностью описать принцип работы SAC, необходимо описать как именно происходит обучение с подкреплением в условиях, когда над энтропией имеется контроль.

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

Пусть х это случайная переменная с плотностью вероятности Р. Энтропия Н переменной х вычисляется с помощью Р следующим образом:

Н(Р) = Ех~Р[-1одР(х)] (7) где: ЕХ~Р это ожидаемое значение случайной величины с плотностью вероятности P.

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

энтропии на этом шаге. Таким образом, основное уравнение обучения с

*

подкреплением по нахождению оптимальной политики п приводится к следующему виду:

п* = агдтахжЕт~ж

^ у' (R(st, at, st+1) + аН(п( |st)))

(8)

........

и=0

где:Ет~п ожидаемое значение при траектории действий тполученных на основании политики и;

у1 - функция дисконтирования, необходимая для сходимости бесконечной суммы наград R;

б1:+1) - награда, получаемая агентом; 15с)- стохастическая политика; а > 0 это компромиссный коэффициент.

Функция Vя(б), отображающая получаемые значения в случае, если всегда придерживаться политики п и начинать в состоянии 5 приобретает следующий вид:

= Ет~л

^ У1 (R(st, at, St+1) + aH(n( ^^ Iso = s Lt=0

(9)

где начальное состояние равно я.

Функция Qл(s,a), отображающая результаты, если в таких же условиях принять действие а (не обязательно диктуемое существующей политикой) и далее придерживатьсяполитикил, в ситуации с энтропией выглядит следующим образом:

ж

Q7T(s,a) = ET~n\^ytR(st,at,st+1) + а^угН(п( |st))|so = s>ao = о] (10) t=0 t=0

Между и Qn(s, а) существует связь:

^(s) = Ea~n[Qn(s,a)] + aH(n( |s)) (11) где: Еа~ж ожидаемое значение при действии ^выбранном на основании политики п.

Для функций Q и V существуют уравнения Беллмана, которые диктуют следующие: значение в стартовой точке равно ожидаемой награде из данного состояния плюс ожидаемая награда от следующего шага. Они существуют, чтобы научить агентов думать наперед.

Уравнение Беллмана для Qn в случае с энтропией:

Q^(s, а) = Esi~P ai~n [a(s, a, s') + у (q*(s', а') + аН(п( Ю))|

= Es'~Pi[R(s,a>s') + yV^(s')] (12) где:Е3'~Ра'~п ожидаемое значение при состоянии я'выбранном случайно

из -

SAC одновременно обучается политике пв и двум Q-функциям: ,

где ^-это параметры функции Q. Существуют две версии алгоритма SAC, которые являются общепринятым стандартом на данный момент. Первая версия алгоритма использует фиксированное значение коэффициента

со

регуляризации энтропии а. Вторая версия изменяет а в процессе обучения модели. Вторая версия считается более предпочтительной, но для простоты и скорости вычислений часто используют первую [3].

Если переписать полученное выше уравнение Беллмана (12) используя определение энтропии (7), то можно получить следующее выражение:

Q*(s, а) = Е51~Р а1~п [Я(5, а, *') + у ((}"(б', а') + аН(п( Ю))|

= Е8>~Ра>~л[К(5,а,5') + у{^п(5',а')-а1одп(а'15'))} (14) Далее считается, что следующие действие а' заново вычисляется на основании существующей политики, для ясности обозначается как а' Qn(s, а) + у№п(б', а') - а1одж(а'1Б') (15) где: а'~п( |я').

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

У(б) = Еа~Ж(*,о)] + аН(п( 1б) = Еа~ж№ж($, а) - а1од я(ф)] (16) Для того, чтобы оптимизировать параметры данной функции -ожидаемое действие вычисляется на основании нормального распределения гаусса от случайной величины. Это делается для того, чтобы данное уравнение не имело зависимостей от параметров существующей политики и действие сСв(Б, ^зависело исключительно от случайных событий.

Еа~пв№Лв($, а) - а1одпв(а15)] = Е^№в(5,сГв(5,0) - а1одпв(сГв(5,01*)] ( 17) где: % - нормальнораспределенная случайная величина. Для последнего шага необходимо заменить Qnв на одну из функций, которую предполагает алгоритм-критик Q(Pl и Q(p2. Выбирается минимальная из них. Это еще одна из уникальных особенностей SAC, помимо контроля над

энтропией. В остальном оптимизация политики действий происходит схожим образом с родственным алгоритмами.

тахв = Es~D^~N[minj=it2QVj(sla'i)(sl^)) - аЬодщ^^,^^] где:Е8~В£~иожидаемое значение при состоянии Бвзятом случайно из буфера прошлых эпизодов Ои f являющейся нормально распределенной случайной величиной.

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

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

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

Таблица 2.Сравнительный анализ PPO и SAC

Параметр сравнения PPO SAC

Выбор действия РРО выбирает наилучшее действие на основе текущих наблюдений агента в текущий момент времени. SAC выбирает действие с учётом всех наблюдений и аппроксимаций за все время наблюдения.

Тип действий агентов Дискретные и непрерывные Непрерывные. Для работы с дискретными

действиями требуется дополнительная настройка.

Параллельные вычисления Да Нет

Скорость работы Быстро Медленно в начале, быстро в конце

Исследование новых действий Если алгоритм находит эффективную стратегию, то он продолжит придерживаться ее, тем самым создается риск попасть в так называемый «локальный оптимум» Алгоритм имеет контроль над энтропией, случайностью действий и, как следствие, исследует больше возможных действий.

PPO работает быстрее и эффективнее на простых средах, в которых мала вероятность нахождения не стандартных способов решения проблемы.

iНе можете найти то, что вам нужно? Попробуйте сервис подбора литературы.

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

Библиографический список:

1. KindsofRL-Algorithms. Электронный ресурс. URL: [https://spinningup.openai.com/en/latest/spinningup/rl_intro2.html#citations-below]. Дата обращения: 25.04.2020.

2. Proximal policy optimization algorithms. arXiv 2017. J Schulman, F Wolski, P Dhariwal, A Radford, O Klimov.

3. Soft actor-critic: Off-policy maximum entropy deep reinforcement learning with a stochastic actor. T Haarnoja, A Zhou, P Abbeel, S Levine.

i Надоели баннеры? Вы всегда можете отключить рекламу.