深層強化学習の応用事例について。
目次
AI・ディープラーニングの全体像
- 人工知能
- 機械学習
- ディープラーニングの基本・応用
- ディープラーニングの研究
- AIプロジェクト
- AI社会実装に伴う法律・倫理
A3C(強化学習アルゴリズム)
- 「A3C(Asynchronous Advantage Actor-Critic)」
- 2016年、DeepMind社によって提案
- Actor-Criticを用いたアルゴリズム
- 複数のエージェントが同じ環境で非同期かつ並列に学習する
- Asynchronous=非同期、複数エージェントによる非同期な並列学習を行う意
- Advantage=複数ステップ先を考慮して更新する意
- 「Actor」→方策によって行動を選択
- 「Critic」→行動によって得られる状況価値関数に応じ、方策を評価・修正
- メリット①「学習の高速化」→ネットワーク全体と重みを共有しつつ並列分散的に学習
- メリット②「学習の安定化」→「経験再生(Experience Replay)」を用いる
※経験の自己相関を低減するために、エージェントを並列化するという工夫を行っている
ロボットへの強化学習使用
- ロボットの訓練→深層強化学習のアルゴリズムを用いて行動の試行錯誤をしつつ、”何が正しいのか、何が誤っているのか”を学習する
- 教師あり学習の正解ラベルの代わりに、「報酬(ゲームのスコアのようなもの)」を設定し、行動の選択を最適化する
シミュレーション、オフライン学習
シミュレーション
- シミュレーション→深層強化学習のモデルを訓練
- 「sim2real」→シミュレーションを用いてあらかじめ方策(policy)を学習し、その学習した方策を実世界に適用するための手法
- 課題:シミュレーションを用いて訓練したロボットを実環境に適用した場合、性能が低下しやすい
→「パフォーマンスギャップ」(現実世界とのギャップ)が問題視される - 「ドメインランダマイゼーション(Domain Randomization;環境乱択化)」→シミュレーションを現実世界の環境に近づけるための工夫として、モデルのシミュレーション環境への過学習を防止することを目的として手法
- 環境パラメータをランダムに変更させたパターンを大量に用意し、多様な環境において性能を発揮できるようモデルを学習する
- 「オンライン強化学習」→実際に環境と作用しながら学習
→最適ではない選択を実環境のなかでシミュレーションすることは難しい
オフライン学習
- 「オフライン学習」→あらかじめ事前に集めたデータのみを使い、強化学習を行う手法
- モデルを実環境にデプロイする前に、実環境から集めた過去データを使って性能評価を行う
→実環境に作用せずにシミュレーションできる
その他
マルチエージェントの強化学習
- 複数のエージェントが同時に協調し、あるいは、競争的に学習する強化学習
マルコフ性
- 強化学習モデルの構築で、”将来の状態が現在の状態にのみ依存し、過去の状態に依存しない”という条件を満たす場合、そうでない場合に比べ、モデルが簡素化できるという性質
- 確率過程→「マルコフ決定過程」
OpenAI Gym
- 強化学習の開発を手軽に行うためのツールキット(ライブラリの集まり)
- 強化学習におけるシミュレーション環境の構築工程の準備ツール
- 目的により、バランスゲーム(CartPole)、ドライブゲーム(MountainCar)
一気通貫学習(end-to-end学習)
- 1つのディープニューラルネットワークを用いて、一連のプロセスとして学習すること
Mini-max(ミニマックス)法
- 自分のターンの時にスコアが高く、また相手のターンの時にスコアが最小となるような打ち手を模索するためのアルゴリズム