- バックアップ一覧
- ソース を表示
- 強化学習(reinforcement Learning) は削除されています。
「.NET 開発基盤部会 Wiki」は、「Open棟梁Project」,「OSSコンソーシアム .NET開発基盤部会」によって運営されています。
目次 †
概要 †
(reinforcement learning)
- 得られる結果(報酬)から何かを学んでいくように、
次の時刻の行為の結果(報酬)から学習していく能動的な学習
- 次の時刻の行動によって必ず環境に影響を及ぼし、
環境からフィードバックを得て、学習のガイドとする。
- 迷路の最短ルートを見つけ出す。
- 赤ちゃんが泣いたり声を出したり動いたり
歴史 †
「ロボットの行動計画」を土台とした
ボード ゲーム(オセロ・チェス・将棋・囲碁)の例
探索木 †
- ボード ゲームをコンピューターで解く基本は探索だが、
- 組み合わせの数が天文学的な数字に事実上すべてを探索しきれない。
- 知識や経験(ヒューリスティックな知識)を利用して、
自分が有利か不利かを示すスコア(ゲーム盤の状態)を情報を計算し、
コスパ(コスト・パフォーマンス)の観点から効率の良い探索を行うようにすることができる。
ミニマックス探索 †
最悪の場合の利得を考え、これが最大となる戦略を選択する。
- ゼロサム2人ゲーム
- ゲーム理論で扱われるゲームの中で最も簡単かつ基礎的なもの。
- 2人のプレーヤーで争われ、一方の利得が他方の損失となる形のゲーム。
- 「絶対優位」「絶対劣位」「ナッシュ均衡」で戦略が定まらない同時進行ゲームで、
- さまざまな打ち手を混ぜて使う。
- 自分の動きをランダム化する戦略。
- キッカーが左サイドを狙った時、キーパーが
・右に動けば成功率は高い
・左に動けば成功率は低い
- キッカーが右サイドを狙った時、キーパーが
・右に動けば成功率は高い
・左に動けば成功率は低い
- キーパーの動きをランダム化することによりシュート成功率を低めることができる。
- ミニマックス定理
ゲーム理論の最も標準形となる“ゼロサム2人ゲーム”の主要定理。
- マクシマックス原理にのっとった戦略
- ハイリスク、ハイリターンのイメージ
- 戦略案毎の「最良の結果」に注目し、最良中で最大の利得を与える戦略を選択する
- ミニマックス原理にのっとった戦略
- ローリスク、ローリターンのイメージ
- 相手がマクシミン原理を採ることを前提としたもの。
- 戦略案毎の「最良の結果」に注目し、最良中で最小の利得を与える戦略を選択する
- それによって得られる利得を「ミニマックス値」と言う。
- マクシミン原理にのっとった戦略
- ローリスク、ローリターンのイメージ
- 相手がミニマックス原理を採ることを前提としたもの。
- 戦略案毎の「最悪の結果」に注目し、最悪中の最大の利得を与える戦略を選択する。
- それによって得られる利得を「マクシミン値」と言う。
- 双方のプレーヤーが戦略配分を合理的に行う限り、
(両者がともに合理的な行動、すなわち相手も十分に利口
であると考えて自己の損失を最小限にする手をとるならば)
- 両者が均衡する最適戦略が必ず存在する
(混合戦略の範囲内で両者のとるべき戦略は定まる)
- ミニマックス値とマクシミン値が一致する点を「鞍点」
鞍点を持つならば純粋戦略で均衡点を見出すことができる。
鞍点が存在しない場合も混合戦略の組み合わせと確率をミニマックスで考えると、
両プレーヤーにとっての最適戦略(妥協点)が見つかる。
- 相手の手番で自分に大きな損害が出る or 自分の手番で相手に大きな利得が出る盤面を得る選択を見つけたら、
その選択(に辿り着く選択)を行わないので、探索を中断し計算回数を減らす(αβ法のα or βカット
- αカット:相手の手番で自分に大きな損害が出る盤面を得るに辿り着く選択以下を探索しない。
- βカット:自分の手番で相手に大きな利得が出る盤面を得る選択以下を探索しない。
モンテカルロ法 †
- 19路盤でない9路盤でもコンピュータがアマチュア初段に勝つのは難しかった。
- 探索の計算量ではなく、ゲーム盤のスコアに問題があることが解ってきた。
- スコアをプレイアウト(ランダムなブルートフォース、モンテカルロ法)に変更。
- スコア(ゲーム盤の状態)を情報を計算する方法。
- ただし、計算量が多いので19路盤では実行できなかった。
用語 †
エージェント †
行動する主体
環境 †
- エージェントが行動する場
- エージェントからは未知
- 探索により経験して学習
状態 †
- 環境中でエージェントが観測
- エージェントの行動により変化
行動 †
ある状態でエージェントがある行動をすると、確率的に別の状態へ遷移する。
方策 †
- 方策の最適化には大きく方策学習と価値学習の2つがある
- 価値学習:方策πを間接的に行動価値Qをモデル化した関数で最適化する手法
- 方策学習:方策πを直接的にモデル化した関数をつくりコレを最適化する手法
報酬 †
- 行動毎に報酬が得られる。
- これを最大化するように学習
- 短期的にか?中長期的にか?(割引率による
- 累積報酬和 → 割引率を考慮 → 割引累積報酬和
- 方策によって割引(累積)報酬和が変化する。
ポイント †
解くべき問題 †
未知の環境に対する逐次的意思決定問題として
定型化(報酬を経験により推定)して解決を試みる。
- 将来の報酬を最大化するための、現在の行動の意思決定
- 行動に対する状態変化と報酬が未知の時、探索方法も考慮。
難しさと対策 †
詳細 †
活用と探索のジレンマ(局所解に陥る) †
活用ばかり行うと、最適な行動を見つけ出すことができない可能性が高まり、
探素ばかり行うと、不要な行動ばかりを試してしまい時間がかかってしまう。
活用と探索 †
- 活用(exploitation):現在知っている情報の中から報酬が最大となるような行動を選ぶ
- 探索(exploration):現在知っている情報以外の情報を獲得するために行動を選ぶ
多腕バンディット問題 †
活用と探索のバランスをとるバンディットアルゴリズム
- E-greedy方策(epsilon greedy policy)
- 基本的には活用をする、すなわち報酬が最大となる行動を選択するが、
- 一定確率をで探索をする、すなわちランダムな行動を選択する。
- UCB方策(upper-confidence bound policy)
マルコフモデル †
マルコフ性を仮定しマルコフ決定過程に従うモデル
マルコフ性 †
- ある時刻の状態は一つ前の時刻の状態と行動に依存して確率的に決定される。
- 現在の状態から将来の状態へ遷移する確率は、現在の状態のみに依存し、それ以前の状態には一切依存しない。
マルコフ決定過程 †
- 報酬を最大化するための行動を時間ステップで行う。
- 強化学習の基礎(計算を簡素化する目的
- マルコフモデルに従わない場合を扱う場合もある。
- 最適な方策を直接、見つけ出すのは困難な場合多いので、価値関数を最適化する方法。
ベルマン方程式 †
価値関数 †
- 状態価値関数
ある状態の時、ある方策に従って行動する事で、
将来に得る事が期待される割引報酬和を表す関数
- 行動価値関数(Q値、Q関数とも)
状態価値関数との違いは、初めに方策と無関係の行動をとるか否か。
- 最適行動価値関数(Q*)
最適方策が決められたときに定義される。
コレを獲得することが強化学習の目的だが、
- 最初は環境から得られる報酬を知らないので探索を考慮する。
- 探索を考慮するにはどのように方策を決定するか?
Qテーブル †
- 価値関数の実装の一つ(他の実装には線形関数、ニューラルネット等がある
- 状態、行動、報酬をマトリックスによって管理する。
- 特に行動の選択肢が大量にあるような課題で価値算出する場合、
莫大な計算コスがかかって学習が行えないという懸念あるため用いられる。
- 方策をあるパラメタで表された関数とし、
(累積報酬の期待値が最大となるように)
パラメタ学習することで、直接学習するアプローチ。
REINFORCE †
AlphaGo?にも活用
Actor Critic †
- また関数ベースおよび方策勾配ベースの
考え方を組み合わせたというアプローチ
- 以下の要素から成っているのがその名前の由来。
- 行動を決めるActor(行動器)
- 方策を評価するCritic(評価器)
- 応用手法もたくさん考えられており、A3Cなどがある。
探索の方法 †
ランダム法 †
ランダムで探索を行う。
クリーディ法 †
行動価値関数(Q値、Q関数とも)の値が最も大きい行動に決定(探索できない
εクリーディ法 †
1-εの確率でクリーディ法(εの確率でランダム法)を選択してバランスを取る。
ボルツマン選択 †
行動価値関数(Q値、Q関数とも)の値を考慮してクリーディ法、ランダム法を選択してバランスを取る。
学習手法 †
DP法、MC法とかもあるらしいが、
TD法 †
報酬経験だけを頼りにエピソードの終了まで待たずに状態価値関数や行動価値関数を更新する手法。
- 自分が行動する前に思っていた行動の評価値と、
実際行動してみて評価したその行動の評価値との誤差
- Sarsa
・方策オン型のTD学習。
・方策(実際の行動)に基づいたて行動価値関数を更新
アクター・クリティック法 †
以下で構成される強化学習のフレームワークの1つ
- アクター
方策(クリティックの評価をもとに更新)をもとに行動を選択し、実行
- クリティック
アクターが選択した行動の状態の変化と報酬を観測・TD誤差などで評価しアクターに通知
深層強化学習 †
手法 †
工夫 †
事例 †
- 具体
- TVゲーム攻略
- 完全情報ゲーム攻略(AlphaGo?
- ロボティクス
- プログラミングで難しいタスク
- 直接的な教示が難しいタスク
- 単純労働などロボットによる労働代替
- 工夫
- 人間からの教示
- 物理シミュレーション(Sim2Real
- シミュレーション最適化
- 空調の制御
- 株式の自動取引
- 広告配信最適化
- インターネット
例えば、PV(≒報酬)を向上させるサイトマップ設計(≒行動)
参考 †