深層強化学習は、試行錯誤を通じて報酬を最大化する行動を学ぶ強化学習に、深層ニューラルネットワークによる関数近似を組み合わせた分野です。この項目では、価値ベースの代表であるDQNと、方策ベース(Actor-Critic)の代表であるA3Cを軸に、行動価値関数・TD学習・Q学習・Experience Replay・方策勾配法といった基礎概念を学びます。

📖 概要

強化学習では、エージェントが環境の状態sを観測して行動aを選び、報酬rと次状態s'を受け取るというやり取りを繰り返しながら、将来にわたる累積報酬(割引率γで割り引いた和)を最大化する方策を学習します。学習アプローチは大きく、行動の価値を推定してそこから行動を選ぶ「価値ベース」と、方策(行動の選び方)そのものをパラメータ化して直接最適化する「方策ベース」に分けられます。

DQN(Deep Q-Network)は、価値ベースのQ学習における行動価値関数をCNNなどの深層ネットワークで近似した手法で、Atariゲームを画面入力から学習できることを示して深層強化学習の火付け役となりました。ニューラルネットワークによる近似は学習が不安定になりやすいため、Experience Replayやターゲットネットワークなどの安定化技術が導入されています。一方A3C(Asynchronous Advantage Actor-Critic)は、方策勾配法とActor-Critic法に基づき、複数のエージェントを非同期に並列実行して学習を安定・高速化した手法です。

🔍 キーワード解説

行動価値関数

行動価値関数 Q(s, a) は、「状態sで行動aを取り、その後ある方策に従い続けたときに得られる割引累積報酬の期待値」を表す関数です。最適な行動価値関数が分かれば、各状態でQ値が最大の行動を選ぶことが最適方策になります。DQNは、この行動価値関数を深層ニューラルネットワーク Q(s, a; θ) で近似します(状態を入力し、各行動のQ値を一度に出力する構成が一般的です)。

TD学習

TD学習(Temporal Difference学習)は、エピソードの終了を待たずに、「現在の推定値」と「1ステップ先の観測を織り込んだ推定値(r + γ×次状態の価値)」の差=TD誤差を使って価値関数を逐次更新する枠組みです。実際に得た報酬と自身の推定を組み合わせてブートストラップ的に学習する点が特徴で、モンテカルロ法(エピソード完了後に更新)と対比されます。Q学習もTD学習の一種です。

Q学習

Q学習は、行動価値関数をTD学習で更新する代表的なアルゴリズムで、更新式は次のとおりです。

Q(s, a) ← Q(s, a) + α ( r + γ max_a' Q(s', a') - Q(s, a) )

次状態s'では「最大のQ値を持つ行動」を仮定して更新するため、実際の行動選択(ε-greedyなど)とは独立に最適価値を学ぶ方策オフ型(off-policy)の手法です。DQNではこの更新をニューラルネットワークの回帰問題として実装し、教師信号 r + γ max_a' Q(s', a'; θ-) との二乗誤差を最小化します(θ-は一定期間固定するターゲットネットワークのパラメータ)。

Experience replay

Experience replay(経験再生)は、エージェントが経験した遷移 (s, a, r, s') をリプレイバッファに蓄積し、学習時にはそこからランダムにミニバッチをサンプリングして更新する仕組みです。時系列に沿ったデータは前後の相関が強く、そのまま学習するとニューラルネットワークの学習が不安定になります。経験再生はサンプル間の相関を弱め、さらに同じ経験を複数回再利用できるためデータ効率も向上します。ターゲットネットワークと並ぶDQNの安定化の柱です。

方策勾配法(Policy Gradient)

方策勾配法(Policy Gradient)は、方策をパラメータθを持つ確率分布 π(a|s; θ) として直接表現し、期待累積報酬 J(θ) の勾配を推定してθを勾配上昇で更新する方法です。方策勾配定理により、勾配は「log π(a|s; θ) の勾配 × その行動の良さ(収益や優位性)」の期待値として書けます(REINFORCEが基本形)。価値ベースと異なり、連続値の行動や確率的な方策を自然に扱える利点がありますが、勾配推定の分散が大きいことが課題で、ベースラインの導入などで分散を下げます。

Actor-Critic法

Actor-Critic法は、行動を選ぶ方策(Actor)と、状態や行動の価値を推定する価値関数(Critic)の2つを同時に学習する枠組みです。Criticが推定する価値をベースライン・評価信号として使うことで、方策勾配の分散を抑えて学習を安定させます。A3Cでは、収益から状態価値V(s)を引いたアドバンテージ(優位性)A(s, a) = Q(s, a) - V(s) に相当する量を用いてActorを更新し(Advantage Actor-Critic)、さらに複数のワーカーを非同期(Asynchronous)に並列実行して経験の相関を減らし、Experience Replayなしでも安定した学習を実現しました。

📝 試験でのポイント

💡 ポイント
  • Q学習の更新式(max演算を含む)を使った1ステップ更新の計算問題が典型的です。TD誤差の中身(r + γ max Q - Q)を確実に書けるようにしましょう
  • Experience Replayの目的(サンプル間の相関除去・データの再利用)とターゲットネットワークの目的(教師信号の固定による安定化)を区別して覚えましょう
  • 価値ベース(DQN)と方策ベース(方策勾配法)の違い、方策オン型/オフ型の区別(Q学習はoff-policy)は頻出の対比です
  • Actor(方策)とCritic(価値関数)の役割の対応を入れ替えた誤り選択肢に注意しましょう
  • A3Cは「Asynchronous(非同期並列)」「Advantage(アドバンテージ)」「Actor-Critic」の3要素で構成を説明できるようにしておきましょう

📚 まとめ

DQNは行動価値関数を深層ネットワークで近似し、Q学習(TD学習の一種)の更新をExperience Replayやターゲットネットワークで安定化した価値ベースの手法です。方策勾配法は方策を直接最適化するアプローチで、価値関数を併用して分散を抑えるのがActor-Critic法、これを非同期並列化しアドバンテージを用いたのがA3Cです。価値ベースと方策ベースの対比を軸に、各キーワードの役割を整理しておきましょう。