FE EXAM

強化学習(グリッドワールド)

試行錯誤を通じて報酬が最大になる行動を学習する手法

INTERACTIVE VISUALIZATION
エージェント
ゴール
エピソード(挑戦)
1 回目
累積報酬
0
報酬設計
G:+10 / 罠:-10
シナリオ
ステップ 1/8
STEP 1/8グリッドワールド(環境)の確認5×5のマス目が「環境」です。左下のSがスタート、右上のGがゴール(報酬+10)、×印が罠(報酬-10)。エージェント(学習する主役)はマスを上下左右に動けます。最初はどう動けばよいか何も知りません。
SG×××+10
青い丸がエージェント(学習する主役)です。1歩ごとに-1のコスト、ゴールで+10、罠で-10の報酬を受け取り、累積報酬が最大になる動き方を試行錯誤で学びます。学習後は各マスの矢印が「最適な進む方向」を示します。
解説

📌
強化学習とは

行動 → 環境 → 報酬 のループエージェント学習する主役環境世界・ルール行動報酬・状態このやり取りを繰り返して学ぶ

強化学習(Reinforcement Learning)とは、エージェント(学習する主役)が環境の中で行動し、その結果として得られる「報酬(ごほうび)」を手がかりに、報酬の合計が最大になる行動の仕方を試行錯誤で学ぶ手法です。正解を直接教わるのではなく、良い結果には報酬、悪い結果には罰(マイナスの報酬)が返ってくる中で、自分でコツをつかんでいきます。

身近な例で考えると、犬のしつけに似ています。「お座り」がうまくできたらおやつ(報酬)をあげ、いたずらをしたら何ももらえない(罰)。これを繰り返すうちに、犬は「どう振る舞えばごほうびがもらえるか」を学びます。強化学習のエージェントも、同じように報酬を最大化する行動を覚えていきます。

上のツールで▶ボタンを押すと、エージェント(青い丸)が最初はデタラメに動いて罠(×)に落ちて失敗し、そこから学んで2回目には罠を避けてゴール(G)にたどり着く様子が見られます。最後には各マスに「進むべき方向」の矢印が現れます。

📌
報酬による学習の仕組み

強化学習は「エージェント」と「環境」のやり取りの繰り返しで進みます。登場する基本用語を押さえておきましょう。

エージェント(agent):行動を選んで学習する主役。上の図では青い丸
環境(environment):エージェントが置かれた世界とそのルール。上の図ではグリッド全体
状態(state):今どんな状況か。上の図では「今いるマス」
行動(action):エージェントが選べる動き。上下左右への移動
報酬(reward):行動の結果に返ってくる評価。ゴールで+10、罠で-10など
方策(policy・ポリシー):各状態でどの行動をとるかの方針。学習で良くしていく対象

学習のサイクルはこうです。エージェントが状態を見て行動を選ぶ → 環境から報酬と次の状態が返ってくる → その経験をもとに方策を更新する。これを何度も繰り返すうちに、目先の1回ではなく「最終的に受け取る報酬の合計」を大きくする行動を選べるようになります。

重要なポイントが2つあります。1つは探索と活用のバランスです。まだ試していない道を試す(探索)か、これまでで一番良かった道を使う(活用)か、両方をうまく混ぜる必要があります。もう1つは報酬は遅れてやってくること。ゴールという大きな報酬は最後にしか得られないため、「今の一手が将来の報酬にどうつながるか」を学ぶ点が、教師あり学習とは異なる難しさです。代表的なアルゴリズムにQ学習(Q-learning)があります。

📌
用途(ゲームAI・ロボット等)

試行錯誤が活きる分野で活躍ゲームAI囲碁・将棋ロボット歩行・制御最適化配送・運用正解が一つに決まらない問題が得意

強化学習は、「何度も試して上達できる」「正解が一つに決まらない」問題で特に力を発揮します。代表的な活用分野は次のとおりです。

ゲームAI:囲碁・将棋・テレビゲームなど。人間のトップ棋士を破った囲碁AI「AlphaGo」は強化学習を活用した有名な例
ロボット制御:二足歩行やアームの動作など、転んだり失敗したりしながら滑らかな動きを習得する
自動運転:状況に応じた運転操作を、シミュレーション上の試行錯誤で学ぶ
最適化:配送ルートの決定、データセンターの冷却制御、広告配信の最適化など

これらに共通するのは、「最初に正解データを大量に用意するのが難しい」という点です。教師あり学習なら「この場面ではこう動くのが正解」というラベルが必要ですが、ゲームの全局面に正解を用意することはできません。そこで、報酬という間接的な手がかりで自ら上達できる強化学習が向いています。

整理すると、強化学習は「報酬を最大化する行動を試行錯誤で学ぶ」「教師あり/なしとは別の第3の分類」という位置づけで、ゲームAIやロボット制御が代表的な用途です。

関連コンテンツ