強化学習(Q学習)による最短ルート探索
迷路の設定 と 学習パラメータ
通常のマス
穴(落ちるとスタートに戻る)
ゴール
このエピソードで通ったマス
太い枠=現在地
穴に落ちた時の報酬:
1歩進んだ時の報酬:
ゴールした時の報酬:
学習率 α:
割引率 γ:
迷路をすべて通常マスに戻す
この設定で学習を開始
リセットして迷路を編集し直す
マスをクリックして「穴」「ゴール」を配置してください(もう一度クリックすると通常マスに戻ります).ゴールは1か所だけ設定できます.スタート地点(上から1行目・左から2列目)は固定です.
学習の様子
迷路(現在地とエピソードの軌跡)
Q値(各マスの状態価値)
総ステップ数: 0 / ゴール・転落の合計回数: 0
1ステップ実行
10ステップ実行
100ステップ実行
自動実行
使い方
上の迷路のマスをクリックして「穴」「ゴール」を配置する(もう一度クリックで通常マスに戻る).ゴールは1か所のみ.
報酬・学習率・割引率を設定し,「この設定で学習を開始」を押す.以降,迷路の形は固定され,Q値(状態価値)がすべて0から学習を始める.
「1ステップ実行」を押すと,現在地から最もQ値の高い方向(左・右・下のいずれか.同点なら左優先,次に右,最後に下)へ1マス進み,報酬を受け取ってそのマスのQ値が更新される.
穴に落ちる,またはゴールに着くとスタート地点に戻り,次のエピソードが始まる(Q値は消えずに残る).
「10ステップ実行」「100ステップ実行」でまとめて進めたり,「自動実行」で連続的に学習させ,Q値が収束していく様子(穴の周りが負に,ゴールへの経路が正になっていく)を観察できる.
学習率・割引率・報酬の値は学習の途中でも変更できる.迷路の形を変えたい場合は「リセットして迷路を編集し直す」を押す(Q値も0に戻る).
Q値は各マスに1つの「状態価値」として持ち,移動後の報酬 r と,移動先から到達できる隣接マスの最大Q値を使って Q(s) ← (1−α)Q(s) + α(r + γ・max Q(s')) の式で更新する.JSXGraph Copyright (C) see
http://jsxgraph.org