生成AI資格対策(生成AIパスポート+G検定)
強化学習
1手ごとの正解は、誰も教えてくれない
教師あり学習は、入力と正解のペアが与えられ、正解に近づくよう学びます。しかし将棋やロボット制御では、1手ごとの正解を誰も知りません。分かるのは、最後に勝ったか負けたか、うまく歩けたかどうかという結果の良し悪しだけです。
強化学習は、正解の代わりに報酬という数値を手がかりに、試行錯誤を通じてうまいやり方を見つける枠組みです。登場する言葉は次のとおりです。
| 用語 | 意味 |
|---|---|
| エージェント | 学習して行動する主体 |
| 環境 | エージェントが働きかける対象 |
| 状態 | そのときの環境の様子 |
| 行動 | エージェントが状態に応じて選ぶ手 |
| 報酬 | 行動の結果として環境から返る数値 |
エージェントは状態を観測し、行動を選び、報酬と次の状態を受け取ります。この繰り返しが基本の流れです。
ここで大切なのは、目的が目先の報酬の最大化ではないことです。最大化したいのは、これから先に得られる報酬の合計、すなわち収益です。ただし遠い未来の報酬をそのまま足すと合計が発散したり、不確かな先の話を過大評価したりします。そこで、先の報酬ほど小さく見積もる係数を掛けます。これが割引率で、小さくすると目先を重視し、大きくすると長期を重視します。
ある状態でどの行動を選ぶかを決める規則が方策(ポリシー)で、強化学習の目標は収益を最大にする方策を見つけることだと言い換えられます。価値関数は、ある状態がどれだけ良いかを、そこから先に得られる収益の見込みとして表したものです。状態と行動の組に対して同じことを表したのが行動価値関数で、その値を Q値 と呼びます。Q値が分かれば、各状態で Q値の最も大きい行動を選ぶだけで良い方策になります。
今の最善を選び続けると、より良い手に出会えない
強化学習には固有のジレンマがあります。探索と活用のトレードオフです。今わかっている中で最も良い行動を取り続ければ当面の報酬は稼げますが、これが活用で、それだけではまだ試していないより良い行動を見つけられません。かといって探索ばかりでは報酬が稼げません。
実用的な折衷案が ε-greedy(イプシロン・グリーディ)法です。小さな確率 ε でランダムな行動を選び、残りの確率では現時点で最良と思われる行動を選びます。学習が進むにつれて ε を小さくしていく使い方が一般的です。
状態が膨大になると、表に持てなくなる
Q学習と SARSA は、どちらも Q値を更新して学ぶ手法です。違いは更新に使う次の行動の扱いにあり、Q学習は次の状態で最も価値の高い行動を取ると仮定して更新するのに対し、SARSA は実際に選んだ行動を使って更新します。Q学習は今の方策と切り離して最適な方策を学ぶ方式、SARSA は実際にたどった経験に沿って学ぶ方式です。
どちらも、状態と行動の組ごとに Q値を表に持つのが基本です。ここに限界があります。状態が画像のように膨大だと、表が現実的な大きさに収まりません。これを解いたのが DQN(Deep Q-Network) で、Q値の表をニューラルネットワークで近似し、画面の画像をそのまま入力してビデオゲームを人間並みに攻略しました。学習を安定させるために2つの工夫が入っています。経験再生は経験を貯めておいてランダムに取り出して学習する仕組みで、直前の経験ばかりで学ぶ偏りを崩します。ターゲットネットワークは更新目標を計算するネットワークを別に持ち、少し遅れて追随させることで、目標が動き続けて学習が振動するのを防ぎます。
価値を経由せず方策そのものを直接改善する方策勾配法もあります。行動の選び方をパラメータで表し、収益が大きくなる方向へ直接調整する方法で、行動の選択肢が連続的な場合はこちらが有利になります。囲碁で世界トップ棋士に勝った AlphaGo は、探索の手法と深層学習を組み合わせた代表例です。
なお、第3章で扱った RLHF(人間のフィードバックによる強化学習) も、人間が出力の良し悪しを評価した結果を報酬の手がかりとして応答を調整するもので、構図はここまでと同じです。
試験ではこう問われる
- 「今わかっている最良の行動を取るか、未知の行動を試すか」は探索と活用のトレードオフで、対策が ε-greedy です
- 「Qテーブルをニューラルネットワークで近似した」は DQN です。経験再生とターゲットネットワークの役割を入れ替えた選択肢が出ます
- Q学習と SARSA の違いは、次の行動として最大の価値を仮定するか、実際の行動を使うかです
- 「将来の報酬を小さく見積もる係数」は割引率です。学習率と混同させてきます
復習ミニクイズ
DQN で用いられる経験再生(Experience Replay)の目的として最も適切なものはどれですか。