強化学習

強化学習（きょうかがくしゅう、reinforcement learning、RL）は、ある環境内における知的エージェントが、現在の状態を観測し、得られる収益（累積報酬）を最大化するために、どのような行動をとるべきかを決定する機械学習の一分野である。強化学習は、教師あり学習、教師なし学習と並んで、3つの基本的な機械学習パラダイムの一つである。
強化学習が教師あり学習と異なる点は、ラベル付きの入力／出力の組を提示する必要がなく、最適でない行動を明示的に修正する必要もない。その代わり、未知の領域の探索と、現在の知識の活用の間のバランスを見つけることに重点が置かれる。
この文脈の強化学習アルゴリズムの多くは動的計画法を使用するため、この環境は通常マルコフ決定過程（MDP）として定式化される。古典的な動的計画法と強化学習アルゴリズムとの主な違いは、後者はMDPの正確な数学的モデルの知識を必要とせず、正確な方法では実行不可能な大規模MDPを対象にできることである。代表的なアルゴリズムとして時間差分学習（TD学習）やQ学習が知られている。

**導入**
強化学習シナリオの典型的な構成: エージェントは環境内で行動をおこし、それは報酬や状態の表現に解釈され、エージェントにフィードバックされる。
強化学習はその一般性から、ゲーム理論、制御理論、オペレーションズ・リサーチ、情報理論、Simulation-based optimization、マルチエージェントシステム、群知能、統計学など、多くの分野で研究されている。オペレーションズ・リサーチや制御の文献では、強化学習は近似動的計画法（approximate dynamic programming）あるいはニューロダイナミック・プログラミング（neuro-dynamic programming）と呼ばれている。強化学習の問題は最適制御理論でも研究されており、主に最適解の存在と特徴づけや、その厳密な計算のためのアルゴリズムを対象するが、（特に環境の数学的モデルがない場合の）学習や近似への関心は高くない。また、経済学やゲーム理論では、限定合理性のもとで均衡がどのように生じるかを説明するために、強化学習が用いられることがある。
基本的な強化学習は、マルコフ決定過程（Markov decision process、MDP）としてモデル化される。- ：環境とエージェントの状態の集合- ：エージェントの行動の集合- ：状態  から行動  にて状態  に遷移する確率- ：行動  で状態  から状態  に遷移した後の即時報酬（immediate reward）
強化学習の目標は、エージェントが、即時報酬から蓄積される報酬関数（reward function）または他のユーザ提供の強化信号を最大化するような、最適または最適に近い方策を学習することである。これは、動物心理学で起こっていると思われるプロセスに似ている。たとえば、生物の脳は、痛みや空腹などの信号を負の強化、喜びや食物摂取を正の強化として解釈するように配線（hardwired）されている。いくつかの状況では、動物はこれらの報酬を最適化するような行動を学習することができる。このことは、動物は強化学習が可能であることを示唆している。
基本的な強化学習エージェント型人工知能（AI）は、離散的な時間ステップで環境と相互作用を行う。各時刻 t において、エージェントは現在の状態  と報酬  を受け取る。次に選択可能な行動の集合から、1つの行動  を選択し、それを環境に送信する。環境は新しい状態  に移動し、遷移（transition）  に関連付けられる報酬  が決定される。強化学習エージェントの目標は、期待累積報酬を最大化する方策 ,  を学習することである。
この問題をMDPとして定式化すると、エージェントが環境の現在の状態を直接観測することを仮定し、この場合、問題は完全観測可能（full observability）であると言う。しかし、エージェントが一部の状態しか観測できない場合、あるいは観測された状態がノイズによって破損している場合、エージェントは部分観測可能（partial observability）であると呼ばれ、正式にはその問題を部分観測可能マルコフ決定過程（partially observable Markov decision process）として定式化しなければならない。どちらの場合も、エージェントが使用できる行動の集合は制限を受ける可能性がある。たとえば、口座残高の状態が正である制約を課すことができる。状態の現在値が3で、状態遷移が値を4だけ減らそうと試みた場合、その遷移は許可されない。
あるエージェントの性能を、最適に行動している別のエージェントの性能と比較すると、その差からlabel=リグレット（regret、後悔）という概念が生じる。最適な行動に近づくために、たとえ即時報酬は負であっても、エージェントはその行動の長期的な結果（すなわち将来の収益の最大化）について考えなければならない。
したがって、強化学習は、長期的な報酬と短期的な報酬のトレードオフを伴う問題に特に適している。強化学習は、Robot control、エレベーターのスケジューリング、電気通信、バックギャモン、チェッカーloc=Chapter 11、囲碁（AlphaGo）など、さまざまな問題への応用に成功している。
強化学習を強力なものにしている2つの要素として、性能を最適化するためのサンプルの使用と、大規模な環境に対処するための関数近似の使用があげられる。この2つの重要な要素により、強化学習は次のような状況下で、大規模環境に適用することができる。- 環境のモデルはわかっているが、label=解析解が得られない。- 環境のシミュレーションモデルだけが与えられている（Simulation-based optimizationの対象）。- 環境に関する情報を収集する唯一の方法は、環境と対話することである。
これらの問題のうち、最初の2つは計画問題であり（何らかの形のモデルが利用可能であるため）、最後の1つは真の学習問題であると考えることができる。ただし、強化学習はどちらの計画問題も機械学習問題に変換する。

**探索**
探索（exploration）と活用（exploitation）のトレードオフは、多腕バンディット問題や、Burnetas and Katehakis（1997）の有限状態空間MDPの研究を通じて、最も詳細に研究されてきた。
強化学習には巧妙な探索機構が不可欠であり、推定された確率分布を参照せず、ランダムに行動を選択すればその性能は低下する。（小規模な）有限MDPについては、比較的よく理解されている。しかし、状態数に応じてうまくスケールする（あるいは状態空間が無限の問題でも対応する）アルゴリズムがないため、単純な探索方法が最も実用的となる。
そのような方法の一つが -貪欲法（イプシロンどんよくほう、-greedy）で、 は探索と活用の量を制御するパラメータである。確率  で活用が選択され、エージェントは長期的に最も効果があると思われる行動を選択する（行動間の関係は無作為に解消される）。あるいは、確率  で探索が選択され、行動は無作為に選択される。通常、 は固定パラメータであるが、スケジュールに従ったり（エージェントが探索を徐々に少なくする）、またはヒューリスティック（経験則）に基づいて適応的に調整することもできる。

**制御学習アルゴリズム**
たとえ探索の問題を無視して、状態が観測可能であっても（以下は仮定）、過去の経験を使用して、どの行動がより高い累積報酬につながるかを見つけ出すという問題が残される。

**最適性の基準**

**方策**
エージェントの行動（action）の選択は、方策（policy）と呼ばれる写像としてモデル化することができる。


方策の写像は、状態  において行動  を選択する確率を与える61。決定論的な方策（全ての確率が 0 または 1）を考えても良い。

**状態価値関数**
状態価値関数（state-value function）  は、状態 、すなわち  から出発して、方策  に連続して従う場合の期待割引収益（expected discounted return）と定義される。したがって、大まかに言えば、状態価値関数は、ある状態にあることが「どれくらい良いか」を推定するものである60。

ここで、確率変数  は割引収益（discounted return）を表し、報酬（reward）に割引率（discount rate） を乗じた将来の割引報酬（discounted reward）の和として定義される。

ここで、報酬  は状態  から  に遷移した際の報酬である。割引率は  に設定され、遠い未来の報酬ほど重み付けは小さくなる。割引率の考え方は経済学でも使われている。
アルゴリズムは、期待割引収益が最大になるような方策を見つける必要がある。MDPの理論から、一般性を損なうことなく、探索をいわゆる「定常方策」（stationary policies）の集合に限定できることが知られている。ある方策が返す行動分布が、（観察しているエージェントの履歴から）最後に訪れた状態にのみ依存する場合、その方策は「定常的」（stationary）である。探索はさらに決定論的な定常方策に限定されることがある。「決定論的定常方策」（deterministic stationary policy）は、現在の状態に基づいて「決定論的」に行動を選択する。このような方策は、状態の集合から行動の集合へのマッピングとして識別できるので、一般性を損なうことなく、これらの方策はこのようなマッピングと識別することができる。

**総当たり法**
総当たり法（brute force method、力まかせ探索）は、次の2つの段階を伴う。- 可能性のある各方策について、それに従った場合の収益をサンプリングする- 期待収益が最大の方策を選択する
この場合の問題の一つは、方策数が増大する、あるいは無限大になる可能性である。また、収益の分散が大きい場合、各方策の収益を正確に推定するために多くのサンプルが必要になることもある。
これらの問題は、何らかの構造を仮定し、ある方策から生成されたサンプルが他の方策の推定に影響を与えるようにすることで改善することができる。これを実現するための2つな主要な手法は、価値関数推定と直接方策探索である。

**Value function価値関数法**
価値関数法（value function methods）は、ある方策（通常は「現行」（on-policy、方策内）または「最適」（方策外、off-policy）のいずれか）に対する期待収益の推定値の集合を維持することにより、収益を最大化する方策を見つけ出そうとするものである。
これらの方法はマルコフ決定過程の理論に基づいており、最適性は前述したよりも強い意味で定義されている。方策は、どのような初期状態からでも最大の期待収益を達成する場合、最適であると呼ばれる（つまり、この定義において初期分布は何の役割も果たさない）。繰り返すが、最適方策は常に定常方策の中から見出すことができる。
最適性を正式に定義するために、方策  の下での状態価値（state-value）を、

で定義する。ここで、 は初期状態  から  に従うことに伴う割引収益を表す。また、 が変更しうる場合、 の最大可能値として を定義すると、

となる。
すべての状態において、これらの最適値を達成する方策を最適（optimal）と呼ぶ。この強い意味で最適な方策は、期待割引収益  を最大化するという意味でも「最適」であることは明らかである。ここで、 は初期状態の分布  からランダムにサンプリングした状態（したがって ）である。
最適性を定義するには状態価値で十分だが、行動価値（action-value）を定義しておくと有用である。状態 、行動 、方策  が与えられたとき、 の下での状態-行動ペア  の行動価値は、

で定義される。ここで  は、状態  で最初に行動  を取り、その後  に従っているときの割引収益を表している。
MDPの理論では、 が最適方策であれば、 から各状態  で最も行動価値の高い行動を選択することで最適に行動する（最適行動を取る）とされている。このような最適方策（）の行動価値関数（action-value function）を最適行動価値関数（optimal action-value function）といい、一般に  と表わす。要約すると、最適行動価値関数を知っていれば、最適な行動方法を知ることができる。
MDPの完全な知識を前提とすると、最適な行動価値関数を計算するための2つの基本的な手法は、価値反復法と方策反復法である。どちらのアルゴリズムも、 に収束する一連の関数  () を計算する。これらの関数を計算するには、状態空間全体に対する期待行動価値を計算する必要があるが、これは最小の（有限の）MDPを除いては非現実的である。強化学習法では、大きな状態行動空間上の行動価値関数を表現する必要性に対処するために、サンプルの平均化や関数近似の手法を使用して期待値を近似する。

**モンテカルロ法**
モンテカルロ法（Monte Carlo methods）は、方策反復法を模倣したアルゴリズムに使用することができる。方策反復法は、方策の評価（policy evaluation）と方策の改善（policy improvement）という2つの段階から構成される。モンテカルロ法は、方策評価段階で使用される。この段階での目標は、定常的で決定論的な方策  が与えられたとき、すべての状態-行動ペア  に対する関数値 （またはその適切な近似）を計算することである。ここでは簡単にするために、MDPは有限であり、行動価値を収容するのに十分なメモリがあり、問題は偶発的（episodic）で、各出来事の後にランダムな初期状態から新しい出来事が始まると仮定する。そして、与えられた状態-行動ペア  の行動価値の推定値は、 からサンプリングされた収益を時間経過とともに平均化することによって計算することができる。十分な時間があれば、この手順により、行動価値関数  の正確な推定値  を構築することができる。これで、方策評価段階の説明を終了する。
方策改善段階では、 に関する貪欲な方策（greedy policy）を計算することにより次の方策を得る。状態  が与えられたとき、この新しい方策は  を最大化する一つの行動を返す。実際には、遅延評価によって、最大化行動の計算を必要なときまで先送りすることができる。
この手法の問題を次にあげる。
# 最適でない方策を評価するのに時間がかかりすぎる場合がある。
# サンプリングが非効率的に行われる（長い軌跡が、軌跡を開始した単一の状態-行動ペアの推定値を改善するだけである）
# 軌跡上の収益が高分散（high variance）である場合、収束が遅くなる。
# 偶発的問題（episodic problems）に対してのみ有効である。
# 小規模で有限なMDPでしか使えない。
以降の小節では、それぞれの問題についてさらに議論する。

**TD学習時間差分法**
最初の問題は、価値が収まる前に（一部または全ての状態で）手順が方策を変更できるようにすることによって対応できる。ただし収束を妨げて問題となる可能性もある。現在のほとんどのアルゴリズムではこれを行い、一般化方策反復（generalized policy iteration）という種類のアルゴリズムを作り出すことができる。多くのアクター・クリティック法（actor-critic methods）はこの範疇（はんちゅう）に属する。
2番目の問題は、軌跡がその中の任意の状態-行動ペアに関与できるようにすることで修正できる。これは3番目の問題にもある程度有効であるが、収益の分散が高い場合のより優れた解決策は、再帰的ベルマン方程式（recursive Bellman equation）に基づくリチャード・サットンが命名した時間差分学習（temporal difference learning、TD学習）であるloc= §6. Temporal-Difference Learning。
TD法における計算法には、インクリメンタル法（各遷移後にメモリを変更し、遷移を破棄する）またはバッチ法（遷移をバッチ処理し、バッチに基づいて推定値を一回計算する）がある。最小二乗時間差法（least-squares temporal difference method）のようなバッチ法は、サンプル内の情報をより有効に利用できる可能性があるが、インクリメンタル法は、バッチ法が計算量やメモリの複雑性の理由で実行不可能な場合に選択される唯一の方法となる。この2つの方法を組み合わせる手法もある。時間差分に基づく方法は、4番目の問題も克服している。
TDに特有のもう一つの問題は、再帰的なベルマン方程式への依存に起因している。ほとんどのTD法には、いわゆる  （ラムダ）パラメータ  があり、ベルマン方程式に依存しないモンテカルロ法と、ベルマン方程式に完全に依存する基本的なTD法の間を、連続的に補間することができる。これにより、この問題を効果的に緩和することができる。

**関数近似法**
5番目の課題を解決するために、関数近似法（function approximation methods）が提案されている。線形関数近似（linear function approximation）は、各状態-行動ペアに有限次元ベクトルを割り当てるマッピング  から始まる。そして、状態-行動ペア  の行動価値（action-value）は、 の成分を何らかの重み  で線形結合することによって得られる。

その後、アルゴリズムは、各状態-行動ペアに関連する値ではなく、重みを調整する。ノンパラメトリック統計学の考え方に基づく方法（独自の特徴を構築することが見られる）が探究されている。
また、値の反復を出発点として、Q学習アルゴリズム（Q-learning algorithm）とその多くのバリエーションを作成することができる。行動価値関数Qを表現するためにニューラルネットワークを使用するディープQ学習法を含め、確率的探索問題へのさまざまな応用ができる。
行動価値を用いる場合の問題は、競合する行動価値を高精度に推定する必要であることになる可能性があることで、収益にノイズが多い場合には取得するのが難しい場合があるが、この問題は時間差法によってある程度軽減される。いわゆる互換関数近似法（compatible function approximation method）を使用すると、一般性と効率性が損なわれる。

**Direct policy search直接方策探索**
別の方法として、方策空間（その何らかの部分集合）を直接探索する方法があり、この場合、問題はStochastic optimizationの一つとなる。利用可能な2つの方法として、勾配を用いる方法と、勾配を用いない方法がある。
勾配法を使用する手法は方策勾配法（policy gradient method）と呼ばれる。有限次元（パラメータ）空間から方策空間へのマッピングを行い、パラメータベクトル  が与えられたとき、 に対応する方策を  とする。評価関数を  と定義すると、この関数は穏やかな条件下ではパラメータベクトル  の関数として微分可能になる。もし  の勾配がわかっていれば、最急降下法を使うことができる。勾配の解析解が分からないため、ノイズを含んだ推定値しか利用できない。このような推定値はさまざまな方法で構築することができ、ウィリアムズのREINFORCE法（Simulation-based optimizationの文献では尤度比法として知られている）のようなアルゴリズムで作成することもできる。
勾配を用いない方法も、多くの種類がある。たとえば、シミュレーティドアニーリング、label=クロスエントロピー探索、または進化的計算の手法などがある。多くの勾配を用いない手法は、（理論的にも極限的にも）大域的な最適解に到達することができる。
ノイズの多いデータでは、方策の収束が遅くなることがある。こうしたことは、たとえば、軌跡が長くリターンの分散が大きい偶発的問題で起こる。このような場合、時間差分法に依存する価値関数に基づく手法が役立つ可能性がある。近年では、1970年代から存在していたアクター・クリティック法（actor-critic method）を改良する方法が提案され、さまざまな問題で良い結果を出している。
方策探索法は、ロボット工学の文脈でも使用されている。多くの方策探索法は、局所探索に基づいているため、局所最適に陥ることがある。

**モデルベース・アルゴリズム**
最後に、上記の方法はみな、初めにモデルを訓練するアルゴリズムと組み合わせることができる。たとえば、Dynaアルゴリズムは経験からモデルを訓練し、実際の遷移に加えて、よりモデル化された遷移を価値関数に与えることができる。このような方法はノンパラメトリックモデルに拡張できる場合があり、たとえば、遷移を単純に保存して学習アルゴリズムに「再生」させるなどの方法がある。
モデルの使用には価値関数を更新する以外の方法もある。たとえば、Model predictive controlでは、モデルを用いて挙動を直接更新する。

**理論**
ほとんどのアルゴリズムの漸近的挙動と有限標本挙動の両方がよく理解されている。（探索問題に対処する）優れたオンライン性能が証明されたアルゴリズムも知られている。
MDPの効率的な探索については、Burnetas and Katehakis（1997）で述べられている。また、多くのアルゴリズムで有限時間性能の限界が見られるが、これらの限界はかなり緩いと予想されるため、相対的な価値と限界をより深く理解するために、さらなる研究が必要である。
インクリメンタルアルゴリズムについては、漸近的収束の問題が解決されたdate=January 2020。時間差分に基づくアルゴリズムでは、従来よりも広い条件の下で収束するようになった（たとえば、任意の滑らかな関数近似と併用する場合）。

**研究**
研究テーマを次に列挙する。 - アクター・クリティック法- 少ないパラメータでも多数の条件下で動作する適応的手法- ソフトウェアプロジェクトにおけるバグ検出- 継続的な学習- ロジックベースフレームワークとの組み合わせ- 大規模MDPでの探索- 人間のフィードバックからの強化学習- スキル獲得における暗黙知と明示知の相互作用- 情報探索-好奇心型行動と、タスク依存型-目的指向型行動とを区別するIntrinsic motivation (artificial intelligence)の大規模な経験的評価- 大きな（または連続的な）行動空間- モジュール型および階層型強化学習- マルチエージェント・分散型強化学習は、関心を集めて話題で、応用が拡大している- 乗員主体の制御- コンピューティング資源の最適化
*部分情報（predictive state representation、POMDP）。たとえばPredictive state representation（PSR）を使用する。- 新規情報の最大化することに基づく報酬関数- サンプルベースの計画（たとえばモンテカルロ木探索に基づく）
*証券取引- 転位学習- 脳内のドーパミンを利用した学習をモデル化したTD学習。黒質緻密部から大脳基底核へのドーパミン作動性投射は予測誤差である。- 価値関数と方策の探索方法

**強化学習アルゴリズムの比較**

**連想強化学習**
連想強化学習タスク（associative reinforcement learning）は、確率的学習オートマトンタスクと教師あり学習パターン分類タスクの側面をあわせ持っている。連想強化学習タスクでは、学習システムは閉ループで環境と相互作用する。

**深層強化学習**
深層強化学習（deep reinforcement learning）enは、ディープニューラルネットワークを使用し、状態空間を明示的に設計することなく、強化学習を拡張するものである。Google DeepMindによってAtari 2600のゲームの強化学習が研究（Deep Q-Network）されたことで、深層強化学習やエンドツーエンド強化学習が注目されるようになった。

**敵対的深層強化学習**
敵対的深層強化学習（adversarial deep reinforcement learning）は、学習された方策の脆弱性（ぜいじゃくせい）に焦点を当てた強化学習の活発な研究分野である。この研究領域では、当初、強化学習方策がわずかな敵対的操作の影響を受けやすいことがいくつかの研究で示されていた。これらの脆弱性を克服するためにいくつか方法が提案されているが、最新の研究では、これらの提案された解決策は、深層強化学習方策の現在の脆弱性を正確に表すには程遠いことが示された。

**ファジィ強化学習**
強化学習にファジィ推論を導入することで、連続空間におけるFuzzy ruleで状態-行動価値関数を近似することが可能になる。ファジィルールの IF - THEN 形式は、自然言語に近い形式で結果を表現するのに適している。ファジィルール補間によるファジィ強化学習（fuzzy reinforcement learning、FRL）への拡張により、サイズが縮小されたスパース・ファジィ・ルールベースを使用して、基本ルール（最も重要な状態-行動価値）に重点を置くことができるようになった。

**逆強化学習**
逆強化学習（inverse reinforcement learning、IRL）では報酬関数が与えられない。その代わり、専門家が観察した行動から報酬関数を推測する。このアイディアは観察された行動を模倣することであり、多くの場合、最適または最適に近い行動となる。

**安全な強化学習**
安全な強化学習（safe reinforcement learning、SRL）とは、システムの訓練や配置の過程で、その合理的な性能を確保し安全制約を尊重することが重要な問題において、期待収益を最大化する方策を学習する過程と定義することができる。

**ベイズ強化学習**
ベイズ強化学習とは、ベイズ推定の手法を応用することで、学習プロセスにおける不確実性を明示的に扱い、かつ事前知識を効果的に活用することを目指すアプローチである。

**参考項目**
 時間差分学習（TD学習）- Q学習- State–action–reward–state–action（SARSA法）- 人間のフィードバックによる強化学習- エンドツーエンドの強化学習- Fictitious play- Learning classifier system- 最適制御- Dynamic treatment regime- Error-driven learning- Multi-agent reinforcement learning- マルチエージェントシステム- Distributed artificial intelligence- Intrinsic motivation (artificial intelligence)- 遺伝的アルゴリズム- Apprenticeship learning- モデルフリー (強化学習)

**脚注**

**推薦文献**
 issn=2573-5144- author-link1 = Peter Auer- author-link3 = Bart De Schutter - url=http://www.castlelab.princeton.edu/adp.htm- author-link2=Andrew Barto- archive-date = 2010-07-14
和書- Csaba Szepesvári(著)：「速習 強化学習：基礎理論とアルゴリズム」、共立出版、978-4-320-12422-6 (2017年9月25日).- 曽我部東馬：「教化学習アルゴリズム入門：「平均」からはじめる基礎と応用」、オーム社、ISBN 978-4-274-22371-6 (2019年5月20日).

**外部リンク**
  Reinforcement Learning Repository-  Reinforcement Learning and Artificial Intelligence (RLAI, Rich Sutton's lab at the University of Alberta)-  Autonomous Learning Laboratory (ALL, Andrew Barto's lab at the University of Massachusetts Amherst)-  Real-world reinforcement learning experiments date=2018-10-08  at Delft University of Technology-  Stanford University Andrew Ng Lecture on Reinforcement Learning-  Dissecting Reinforcement Learning Series of blog post on RL with Python code-  A (Long) Peek into Reinforcement Learning- date=20070107114356 - スカラーペディア百科事典「強化学習」の項目。-  強化学習とは？ 木村 元ら-  強化学習FAQ Suttonの 強化学習FAQ(英語)の日本語訳