デュビデュバの技術ブログ

主に機械学習系の記事を書いていきます。コメント大歓迎です。よろしくお願いします。

Open AI Spinning Up で深層強化学習のお勉強 -Part 2: Kinds of RL Algorithms-

INTRODUCTION TO RL -Part 2: Kinds of RL Algorithms-

前回の続きです。 前回の記事はこちら。 coffee-g9.hatenablog.com OpenAI Spinning Upのページはこちら。 spinningup.openai.com

はじめに

基本的なRLの用語と表記法について説明したので、少し発展させます。現代のRLのアルゴリズムの概況と、アルゴリズム設計に関連するトレードオフの種類の説明です。

A Taxonomy of RL Algorithms

現在のRLアルゴリズム
Figure 1. 現在のRLアルゴリズム
図は上記ページから引用。

免責事項:アルゴリズムのモジュール性がツリー構造で十分に表現されていないため、現代のRLアルゴリズムの包括的な分類を描くことは非常に困難です。また、ページに収まり、導入として適度に消化可能なものを作成するには、かなり高度な資料(探索、転移学習、メタ学習など)を省略する必要があります。ここでの学習目標は

Model-Free vs Model-Based RL

RLアルゴリズムの最も重要な分岐点の1つは、エージェントが環境のモデルにアクセスできる(または学習する)かどうかの問題です。環境のモデルとは、状態の遷移と報酬を予測する関数を意味します。

モデルを持つことの主な利点は、エージェントが先を考え、選択可能な範囲で何が起こるかを見て、オプションを明示的に決定することによって計画できることです。エージェントは、学習済み方策で計画した結果を抽出できます。このアプローチの有名な例はAlphaZeroです。これが機能すると、モデルを持たないメソッドよりもサンプル効率が大幅に向上する可能性があります。

主な欠点は、通常、エージェントが環境の真のモデルを利用できないことです。この場合、エージェントがモデルを使用する場合、経験からモデルを学習する必要があり、これによりいくつかの課題が生じます。最大の課題は、エージェントがモデルの偏りに悪影響を受ける可能性があることです。偏ったモデルを学習すると、学習したモデルに対しては優れたパフォーマンスを発揮しますが、実際の環境では動作が最適化されません。モデル学習は基本的に難しいので、多大な時間を費やして計算しようとしても、成果を上げることができません。

モデルを使用するアルゴリズムモデルベースと呼ばれ、使用しないアルゴリズムモデルフリーと呼ばれます。モデルフリーの方法は、モデルの使用によるサンプル効率の向上はできませんが、実装および調整が容易になる傾向があります。このページ時点(2018年9月)では、モデルベースのメソッドよりもモデルフリーのメソッドの方が人気があり、より広範囲に開発およびテストされています。

What to Learn

RLアルゴリズムのもう1つの重要な分岐点は、何を学ぶべきかという問題です。

  • 確率的または決定的方策
  • 行動価値関数(Q関数)
  • 価値関数
  • 環境モデル

What to Learn in Model-Free RL

モデルフリーRLでエージェントを表現および訓練するには、主に2つのアプローチがあります。方策最適化Q学習です。

Policy Optimization

このファミリーのメソッドは、方策 \pi_\theta(s) を明示的に表します。これらは、直接的に性能の目的関数 J(\theta)に対する勾配上昇によって、または間接的に J(\theta)の局所近似を最大化することによって、パラメーターを最適化します。この最適化はほとんどの場合方策に基づいて(on-policy)実行されます。つまり、各更新は方策の最新バージョンに従って動作している間に収集されたデータのみを使用します。通常、方策の最適化には、on-policy価値関数 V^\pi(s)の近似器 V_\phi(s)を学習することも含まれます。これは、方策を更新する方法を見つける際に使用されます。

方策最適化方法の2つの例です。

  • A2C/A3Cは勾配上昇法を使用して、性能を直接最大化します。
  • PPOは間接的な最大化によって、代理の目的関数を最大化し、 J(\pi_\theta)の更新量を推定します。

Q-learning

このファミリーのメソッドは、最適な行動価値関数 Q^*(s,a) の近似器 Q_{\theta}(s,a)を学習します。通常、学習にはベルマン方程式に基づく目的関数を使用します。この最適化はほとんど常にoff-policyで実行されます。つまり、エージェントが環境を探索する方法に関係なく、各更新ではトレーニング中の任意の時点で収集されたデータを使用できます。対応する方策は、 Q^* \pi^*との関係によって得られます。Q学習エージェントが実行する行動は次のように表されます。


\begin{align}
a(s)= \arg \max_a Q_{\theta}(s,a)\tag{1}
\end{align}

Q学習の例には、以下が含まれます。

  • DQN:deep RLの分野の開始点
  • C51:deep RLの特殊形。 Q^*を期待するリターン分布を学習する。

Trade-offs Between Policy Optimization and Q-Learning

方策最適化手法の主な強みは、目的に合わせて直接最適化するという意味で、原理に基づいていることです。これにより、安定性と信頼性が高まります。対照的に、Q学習方法は、自己整合方程式を満たすように Q_{\theta}を訓練することにより、エージェントの性能を間接的に最適化するだけです。この種の学習には多くの失敗モードがあるため、安定性が低下する傾向があります。1しかし、Q学習は、方策最適化手法よりも効率的にデータを再利用できるため、動作するときサンプル効率が高いという利点があります。

Interpolating Between Policy Optimization and Q-Learning

偶然にも、方策の最適化とQ学習は互換性がなく(また、状況によっては同等であり)、2つの両極端の間にさまざまなアルゴリズムが存在します。この間に存在するアルゴリズムは、長所と短所を慎重にトレードオフできます。例として、

  • DDPGは、決定的方策とQ関数を同時に使用して学習し、互いを改善するアルゴリズムです。
  • SACは、確率的方策、エントロピー正則化、および他のいくつかのテクニックを使用して学習を安定させ、標準ベンチマークでDDPGよりも高いスコアを付ける特殊形です。

What to Learn in Model-Based RL

モデルフリーRLとは異なり、モデルベースRLのメソッドの定義しやすいクラスターは少数ではありません。モデルを使用する多くのorthogonal ways(直交方法?独立した方法的な意味?わからない。。。)があります。いくつかの例を挙げますが、リストは完全ではありません。いずれの場合も、モデルは与えられるか学習されます。

Background: Pure Planning

最も基本的なアプローチは、方策を明示的に表すものではなく、モデル予測制御(MPC)などの純粋な計画手法を使用して行動を選択します。MPCでは、エージェントが環境を観測するたびに、モデルに関して最適な計画を計算します。計画には、現在から一定の時間枠を引き継ぐためのすべての行動が記述されています。(無限先の将来の報酬は、学習済み価値関数を使用して計画アルゴリズムによって検討される場合があります。)エージェントは、計画の最初の行動を実行し、残りの計画をすぐに破棄します。環境との対話の準備のたびに新しい計画を計算し、計画期間が必要以上に短い計画の行動を使用しないようにします。

  • MBMFの研究ではdeep RL用のいくつかの標準的なベンチマークタスク上の学習済み環境モデルでMPCを探ります。

Expert Iteration

純粋な計画手法への直接的な後継には、方策\pi_\theta(a|s)の明示的な表現の使用と学習が含まれます。エージェントは、モデルで計画アルゴリズムモンテカルロ木探索など)を使用し、現在の方策からサンプリングすることで計画の行動候補を生成します。計画アルゴリズムは、方策のみが生成する行動よりも優れた行動を生成するため、方策に関連する「エキスパート」です。その後、方策は更新され、計画アルゴリズムの出力のような行動が生成されます。

Data Augmentation for Model-Free Methods

モデルフリーRLアルゴリズムを使用して方策またはQ関数をトレーニングしますが、1)架空の経験で実際の経験を水増ししてエージェントを更新するか、2)架空の経験のみを使用してエージェントの更新をします。

  • 架空の経験で実際の経験を強化する例については、MBVEを参照してください。
  • 純粋に架空の経験を使用してエージェントを訓練する例については、World Modelsを参照してください。

Embedding Planning Loops into Policies

別のアプローチでは、計画手順をサブルーチンとしてポリシーに直接埋め込みます。これにより、完全な計画がポリシーのサイド情報となり、標準のモデルフリーアルゴリズムで方策の出力を訓練します。重要な点は、このフレームワークでは、方策が計画を使用する方法とタイミングの選択を学習できるということです。これにより、モデルの偏りの問題が減少します。一部の状態でモデルが計画に不適切な場合、方策は、単純にそれを無視することを学習できるためです。

  • このスタイルの想像力に豊かなエージェントの例については、I2Aを参照してください。

Links to Algorithms in Taxonomy

アルゴリズムへのリンク集はSpinning Upのページ参照。

まとめ

モデルベースやモデルフリーのアルゴリズムで何を学べばよいかがわかりました。個人的に興味があるのはモデルフリー型の方です。有名なアルゴリズムはQiitaなどでも記事になっているので、そういった記事に助けられながら、元の論文も読んでいこうと思います。


  1. さらに詳しく知りたい場合のリンクがSpinning Upのページにあります。