Reinforcement Learning Textbook — part 1/1

Cleaned-text code points [0, 8536). Bibliography omitted here; source.md includes it.

# Конспект по обучению с подкреплением

Аннотация

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

Предполагается знакомство читателя с основами машинного обучения и глубокого обучения. Об ошибках и опечатках в тексте можно сообщать в репозитории проекта .

*

## Задача обучения с подкреплением

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

Термин подкрепление (reinforcement) пришёл из поведенческой психологии и обозначает награду или наказание за некоторый получившийся результат, зависящий не только от самих принятых решений, но и внешних, не обязательно подконтрольных, факторов. Под обучением здесь понимается поиск способов достичь желаемого результата методом проб и ошибок (trial and error), то есть попыток решить задачу и использование накопленного опыта для усовершенствования своей стратегии в будущем.

В данной главе будут введены основные определения и описана формальная постановка задачи. Под желаемым результатом мы далее будем понимать максимизацию некоторой скалярной величины, называемой наградой (reward). Интеллектуальную сущность (систему/робота/алгоритм), принимающую решения, будем называть агентом (agent). Агент взаимодействует с миром (world) или средой (environment), которая задаётся зависящим от времени состоянием (state). Агенту в каждый момент времени в общем случае доступно только некоторое наблюдение (observation) текущего состояния мира. Сам агент задаёт процедуру выбора действия (action) по доступным наблюдениям; эту процедуру далее будем называть стратегией или политикой (policy). Процесс взаимодействия агента и среды задаётся динамикой среды (world dynamics), определяющей правила смены состояний среды во времени и генерации награды.

Буквы 𝒔 s , 𝒂 a , 𝒓 r зарезервируем для состояний, действий и наград соответственно; буквой 𝒕 t будем обозначать время в процессе взаимодействия.

\import 1.Setup/1.1.MDP.tex \import 1.Setup/1.2.Algorithms.tex

## Мета-эвристики

В данной главе мы рассмотрим первый подход к решению задачи, часто называемый <<эволюционным>>. В этом подходе мы никак не будем использовать формализацию процесса принятия решений (а следовательно, не будем использовать какие-либо результаты, связанные с изучением MDP) и будем относиться к задаче как к black-box оптимизации: мы можем отправить в среду поиграть какую-то стратегию и узнать, сколько примерно она набирает, и задача алгоритма оптимизации состоит в том, чтобы на основе лишь этой информации предлагать, какие стратегии следует попробовать следующими.

\import 2.MetaHeuristics/2.1.Baselines.tex \import 2.MetaHeuristics/2.2.EvolutionStrategies.tex

## Классическая теория

В данной главе будут доказаны основные теоретические результаты о MDP и получены важные <<табличные>> алгоритмы, работающие в случае конечных пространств состояний и действий; они лягут в основу всех дальнейших алгоритмов.

\import 3.ClassicTheory/3.1.ValueFunctions.tex \import 3.ClassicTheory/3.2.PolicyImprovement.tex \import 3.ClassicTheory/3.3.DynamicProgramming.tex \import 3.ClassicTheory/3.4.TabularAlgorithms.tex \import 3.ClassicTheory/3.5.BiasVarianceTradeoff.tex

## Value-based подход

В данной главе будет рассмотрен второй, Value-based подход к решению задачи, в котором алгоритм ищет не саму стратегию, а оптимальную Q-функцию. Для этого табличный алгоритм Value Iteration будет обобщён на более сложные пространства состояний; требование конечности пространства действий | 𝓐 | |\mathcal{A}| останется ограничением подхода.

\import 4.ValueBased/4.1.DQN.tex \import 4.ValueBased/4.2.Modifications.tex \import 4.ValueBased/4.3.Distributional.tex

## Policy Gradient подход

В данной главе будет рассмотрен третий, Policy Gradient подход к решению задачи, в котором целевой функционал будет оптимизироваться градиентными методами. Для этого мы выведем формулу градиента средней награды по параметрам стратегии и обсудим различные способы получения его стохастических оценок. В итоге мы сможем получить общие алгоритмы, основным ограничением которых будет жёсткий on-policy режим.

\import 5.PolicyGradient/5.1.PolicyGradientTheorem.tex \import 5.PolicyGradient/5.2.ActorCritic.tex \import 5.PolicyGradient/5.3.TRPO.tex

## Continuous control

В этой главе будут рассмотрены алгоритмы для задачи непрерывного управления ( | 𝓐 | ⊆ [ − 𝟏 , 𝟏 ] 𝑨 |\mathcal{A}|\subseteq[-1,1]^{A} ), развивающие идеи Value-based и Policy gradient подходов. Мы увидим, что эти два подхода имеют много общего и отчасти даже эквивалентны, в обоих случаях получив схемы, моделирующие алгоритм Policy Iteration.

\import 6.ContinuousControl/6.1.DDPG.tex \import 6.ContinuousControl/6.2.SAC.tex

## Model-based

В этой главе мы рассмотрим ситуацию, когда нам дана или мы готовы учить модель динамики среды.

\import 7.ModelBased/7.1.Bandits.tex \import 7.ModelBased/7.2.WorldModels.tex \import 7.ModelBased/7.3.MCTS.tex \import 7.ModelBased/7.4.LQR.tex

## Next Stage

Если уж мы рассматриваем задачу RL как попытку создания алгоритма <<искусственного интеллекта>>, то мы должны дополнительно учесть следующие три факта: • понятно, что в одной и той же среде агент может ставить себе совершенно разные задачи; интеллектуальное обучение должно позволять обобщать решения одних задач на другие, решать сложные задачи, состоящие из составных частей, и, наконец, уметь самостоятельно ставить самому себе <<промежуточные>> задачи.

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

• наконец, в среде могут присутствовать другие агенты, которые могут иметь как схожие, так и противоположные цели, передавать вспомогательную информацию или, в частности, играть роль эксперта, демонстрирующих оптимальное (или полезное) поведение.

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

\import 8.NextStage/8.1.ImitationLearning.tex \import 8.NextStage/8.2.IntrinsicMotivation.tex \import 8.NextStage/8.3.Multitask.tex \import 8.NextStage/8.4.Hierarchical.tex \import 8.NextStage/8.5.POMDP.tex \import 8.NextStage/8.6.MultiAgent.tex

## Приложение

\import Appendix/NaturalGradient.tex \import Appendix/QLearningConvergence.tex

\import sources.tex

## Instructions for reporting errors

We are continuing to improve HTML versions of papers, and your feedback helps enhance accessibility and mobile support. To report errors in the HTML that will help us improve conversion and rendering, choose any of the methods listed below:

Click the "Report Issue" ( ) button, located in the page header.

Tip: You can select the relevant text first, to include it in your report.

Our team has already identified the following issues . We appreciate your time reviewing and reporting rendering errors we may not have found yet. Your efforts will help us improve the HTML versions for all readers, because disability should not be a barrier to accessing research. Thank you for your continued support in championing open access for all.

Have a free development cycle? Help support accessibility at arXiv! Our collaborators at LaTeXML maintain a list of packages that need conversion , and welcome developer contributions .