強化学習の基礎理論
これまでの機械学習とは少し違った「強化学習」という学習方法をご存知でしょうか?これは、コンピュータが試行錯誤を通じて「正解」を見つけ出す学習方法で、まるで人間が新しいゲームをプレイして上達していく過程に似ています。
強化学習ってなに?
強化学習(Reinforcement Learning)とは、行動の結果として得られる報酬を最大化するように学習する手法 です。たとえば、ゲームをプレイしていて、良い動きをすると点数がもらえ、悪い動きをすると点数が減る。そうした経験を通じて、だんだん高い点数を取れるようになる、これが強化学習の基本的な考え方です。
従来の機械学習では「正解」を教師データとして与えていましたが、強化学習では「良い行動かどうか」を 報酬(reward) という形で教えます。
要するに、「正解を直接教えるのではなく、良い行動をしたら褒めて、悪い行動をしたら注意することで学習させる」方法なのです。
■強化学習の特徴
強化学習には以下の特徴があります:
- 試行錯誤による学習:正解がない状況でも、試行錯誤を通じて最適な行動を見つけ出せる
- 長期的な視点:一時的な利益よりも、長期的な利益を最大化することを目指す
- 動的な環境への適応:環境が変化しても、新しい状況に適応できる
強化学習の基本要素
強化学習は 4つの主要な要素 から構成されています。これらの要素がどのように相互作用するかを理解することが、強化学習の仕組みを把握する鍵となります。
■エージェント(Agent)
エージェントとは、学習を行う主体 のことです。たとえば、ゲームをプレイするAIプレイヤーや、自動運転車のコントロールシステムがエージェントにあたります。
エージェントは以下の機能を持ちます:
- 環境を観察する:現在の状況を把握する
- 行動を選択する:取るべき行動を決める
- 経験から学習する:過去の経験を活かして行動戦略を改善する
■環境(Environment)
環境とは、エージェントが行動する場所や状況 のことです。ゲームならゲーム世界、自動運転なら道路環境がこれにあたります。
環境の役割:
- 状態を提供する:エージェントに現在の状況を伝える
- 行動に応答する:エージェントの行動に対して新しい状態と報酬を返す
- ルールを決める:何ができて何ができないかを規定する
■状態(State)
状態とは、現在の環境の状況を表す情報 です。たとえば、チェスなら盤面の配置、自動運転なら周囲の車の位置や信号の状態などが状態になります。
たとえば:
- ゲーム:キャラクターの位置、敵の位置、残りライフ、スコア
- 株式取引:現在の株価、過去の価格推移、出来高
- ロボット制御:関節の角度、速度、センサーの値
要するに、エージェントが「今どういう状況にあるか」を表すすべての情報が状態です。
■行動(Action)
行動とは、エージェントが環境に対して行う操作 のことです。ゲームならボタンを押すこと、自動運転なら「アクセルを踏む」「ブレーキを踏む」「ハンドルを切る」などが行動になります。
行動の種類:
- 離散的な行動:「上、下、左、右」のように、決まった選択肢から選ぶ
- 連続的な行動:「ハンドルを30度左に切る」のように、連続的な値を取る
■報酬(Reward)
報酬とは、行動の良し悪しを表す数値 です。良い行動をすると正の報酬、悪い行動をすると負の報酬(罰)がもらえます。
たとえば:
- ゲーム:敵を倒すと+10点、やられると-100点
- 自動運転:安全に走行すると+1点、事故を起こすと-1000点
- 株式取引:利益が出ると+利益額、損失が出ると-損失額
要するに、エージェントが「何を目指すべきか」を教える信号が報酬なのです。
マルコフ決定過程(MDP)
強化学習の理論的基盤となるのが マルコフ決定過程(Markov Decision Process, MDP) です。これは、「現在の状態だけ分かっていれば、未来を予測するのに十分」という仮定に基づいた数学的モデルです。
■マルコフ性とは
マルコフ性とは、「未来は現在の状態だけで決まり、過去の履歴は関係ない」という性質 です。
たとえば:
- 天気予報:「今日が晴れなら明日も晴れの確率が70%」というように、今日の天気だけで明日の天気を予測できる
- すごろく:現在いるマスの位置だけ分かっていれば、次にどこに行けるかが決まる
逆に、マルコフ性を満たさない例:
- 株価:現在の株価だけでなく、過去の価格推移も将来の価格に影響する
- 会話:現在の発言だけでなく、これまでの会話の流れも次の返答に影響する
■MDPの構成要素
MDPは以下の5つの要素で定義されます:
- 状態集合 S:取りうるすべての状態
- 行動集合 A:取りうるすべての行動
- 遷移確率 P:状態 s で行動 a を取ったときに状態 s' に移る確率
- 報酬関数 R:状態 s で行動 a を取ったときにもらえる報酬
- 割引率 γ:将来の報酬をどれだけ重視するかを表すパラメータ
価値関数の概念
強化学習では、「この状態はどれくらい価値があるか」「この行動はどれくらい良いか」を数値化する 価値関数 という概念を使います。
■状態価値関数(State Value Function)
状態価値関数 V(s) とは、状態 s にいるときに期待できる将来の報酬の合計 です。
たとえば:
- ゲーム:現在のステージで、今後期待できるスコアの合計
- 投資:現在のポートフォリオで、今後期待できる利益の合計
- チェス:現在の盤面で、勝つ確率がどれくらい高いか
要するに、「この状態にいることが、どれくらい良いことなのか」を表す指標です。
■行動価値関数(Action Value Function)
行動価値関数 Q(s,a) とは、状態 s で行動 a を取ったときに期待できる将来の報酬の合計 です。
これは状態価値関数よりも具体的で、「この状況でこの行動を取ることが、どれくらい良いことなのか」を表します。
たとえば:
- ゲーム:この位置で「ジャンプ」することで期待できるスコア
- 自動運転:この状況で「右折」することの安全性と効率性
- チェス:この盤面で「ナイトを移動」することの価値
■割引率γ(ガンマ)
割引率とは、将来の報酬をどれくらい重視するかを決めるパラメータ です。0から1の間の値を取り、1に近いほど将来を重視し、0に近いほど目先の利益を重視します。
たとえば:
- γ = 0.9:将来を重視する(長期的な戦略を立てる)
- γ = 0.1:目先を重視する(すぐに結果が出る行動を選ぶ)
要するに、「今すぐ1万円もらうか、1年後に10万円もらうか」のような選択において、どちらを選ぶかを決める基準が割引率なのです。
方策(Policy)の概念
方策(Policy)とは、各状態でどの行動を取るべきかを決めるルール のことです。要するに、エージェントの「行動戦略」や「方針」を表します。
■方策の種類
決定的方策(Deterministic Policy):
- 各状態で取るべき行動が一意に決まる
- 「この状況では必ずこの行動を取る」
確率的方策(Stochastic Policy):
- 各状態で各行動を取る確率が決まっている
- 「この状況では70%の確率でこの行動、30%の確率であの行動を取る」
■最適方策
最適方策とは、長期的に最も高い報酬を得られる方策 のことです。強化学習の目標は、この最適方策を見つけることです。
たとえば:
- ゲーム:最高スコアを出せる攻略法
- 投資:最大利益を得られる投資戦略
- 囲碁:勝率が最も高い打ち方
まとめ
強化学習は、正解のない環境で試行錯誤を通じて最適な行動を学習する手法です。エージェント、環境、状態、行動、報酬という5つの要素が相互作用し、マルコフ決定過程という理論的枠組みの中で、価値関数と方策を使って最適化を行います。
要するに、強化学習は「経験から学んで、だんだん上手になる」という人間の学習過程を数学的にモデル化した技術なのです。
次回は、この理論を実際のアルゴリズムとして実装する方法について、Q学習やActor-Criticなどの具体的な手法を通じて解説していきます。