DQN論文をPlaying Atari with Deep Reinforcement Learning, V. Mnih, K. Kavukcuogl et al.を読んでみた。
http://arxiv.org/pdf/1312.5602.pdf
DQNは、行動価値関数(Q関数)を、Convolutional Neural Network(CNN)によりモデル化し、強化学習の反復アルゴリズムを用いて最適化する方式である。この価値関数を表現するCNNのことを、DQNと呼んでいる。本論文では、DQNは、ゲームの210x160のRGB画像に前処理(グレースケール化、110x84に圧縮し、84x84にクロップ)を加え、連続した4フレーム(つまり、4チャンネル)をスタックしたものを状態として入力し、ゲームキャラクターの各行動の価値(将来得られる報酬の割り引き和の期待値)を出力する関数である。また、このDQNは、次の2つのステップを交互に繰り返すことにより学習している。
- 評価ステップ:各状態でDQNにより各行動の価値を計算し、価値を最大化する行動をランダム(ε-greedy)に選択することにより、状態、行動、報酬および次の状態のデータをサンプリングする。
- 改善ステップ:1)で取得したデータを用いてベルマン方程式(Bellman equation)の二乗残差を最小化するように、確率勾配法を用いてDQNのパラメータを更新する。
ただし、勾配の計算において、experience replayという、過去に集めたデータからランダムにサンプリングしたミニバッチをもちいている。このexperience replayには次の利点がある。
- 強化学習では、データがマルコフ決定確率過程に従うため、データがiid(独立同一分布)ではないが、ランダムにデータをサンプリングしなおすことにより同一独立性を高めている。
- DQNの学習には大量のデータが必要になるが、過去のデータを再利用することにより効率性を高めている。
- ゲームキャラクターの位置依存した偏ったデータを用いて勾配を計算すると、バイアスがかかってしまうが、過去のデータからランダムにデータをサンプリングすることにより、バイアスを緩和できる。
しかしながら、experience replayは過去に集めたデータを利用するため、異なるポリシーの分布(状態が与えられたもとで行動を選択する条件確率)が混在したデータを用いることになるため、特定のポリシーに依存した価値関数を学習することができない。そこで、本論文では、特定のポリシーに依存しない反復アルゴリズムであるQ学習法(Q-learning)が用いられている。
ちなみに、価値関数や反復アルゴリズム(Q学習)などの詳細は、下記の書籍を参照。
強くなるロボティック・ゲームプレイヤーの作り方 プレミアムブックス版 ~実践で学ぶ強化学習~
- 作者: 八谷大岳,杉山将
- 出版社/メーカー: マイナビ出版
- 発売日: 2016/06/30
- メディア: 単行本
- この商品を含むブログ (2件) を見る