Deep Q-Network④におけるQ関数の近似|強化学習フォローアップシリーズ #4

f:id:lib-arts:20190515224053p:plain

#1では連載の経緯とDQNの理解にあたって簡単な全体像について言及し、#2ではマルコフ決定過程、#3では価値関数とベルマン方程式についてまとめました。

#4では状態価値V(s)や状態行動価値Q(s,a)の算出にあたり、全ての盤面(観測したことのない盤面も含む)で行えるようにするために、これらの関数をニューラルネットワークで近似することを考えます。Deep Q-Networkの理解を連載の目標においていますので、Q(s,a)を元に話を進めていきますが、本質的にはV(s)に対しても同じアプローチを取れるので、その辺は意識しながら読み進めていただければと思います。
以下、目次になります。

1. ニューラルネットワークの簡単な復習
2. DeepLearningによるQ(s,a)の近似
3. まとめ


1. ニューラルネットワークの簡単な復習
ニューラルネットワークについては数式を交えながら以前の記事で解説しているのでそれを元に振り返ります。

#4の記事では単回帰(simple linear regression)を題材にモデルの学習の流れについてまとめています。(1)数式(ネットワーク構造)の定義、(2)誤差関数の定義、(3)最適化の3つのステップを踏んで(1)で定義した数式におけるパラメータの学習(最適化)を行っていきます。

次に#5の記事では単回帰で定義したモデルの数式の拡張を行っています。具体的には重回帰(multi linear regression)やソフトマックス回帰(softmax regression)、多層パーセプトロン(MLP; Multi Layer Perceptron)への拡張についてまとめています。

#6の記事ではMLPからさらにCNNへまで話を拡張しています。CNNを理解するにあたっては画像認識についてのフィルタ処理を理解した上で、フィルタに対しニューラルネットワークを用いて自動学習を行っているということを把握できれば良いです。CNNはシンプルな構造ではあるのですが、層を重ねることで非常に強力な特徴抽出ができるためAlexNet[2012]以後の画像認識はCNN(文脈的にはDeepLearning)系のアルゴリズムが中心になっています。また、画像の形式を汎用的に取り扱うことができるというのは非常にインパクトが大きなことで、そのアルゴリズムを様々な応用タスクにも適用することが試みられています。Deep Q-Network[2013]もその一環として捉えることができ、以前よりあったQ-Networkの考え方とAlexNetの二つを参考に行われた研究です。


2. DeepLearningによるQ(s,a)の近似
1節ではDeepLearningの復習を行いましたので、2節ではこれを踏まえて学習についてまとめていきます。

上記の記事の2.3でも言及しましたが、Q(s,a)を近似する意味としては、経験したことのあるQ(s_{experience},a_{experience})だけでは問題が複雑になった場合新たな盤面sに対して最適なaを選ぶことができないからです。
強化学習における学習の目的として、各盤面において正確なQ(s,a)が求まれば貪欲(greedy)法などを用いて最適な行動を取ることが可能になります。したがって、学習の目的としてはQ(s,a)をあらゆる局面sにおいて計算できるようにすることにあたります。
状態のsは問題によっては非常に複雑になりますので、近似が必要になります。組み合わせ爆発が起こるような問題においては盤面が膨大すぎて全ての盤面における経験を観測することができません。例えば3×3のOXゲームでは探索が可能ですが、囲碁や将棋などでは全ての盤面について経験するのは不可能です。(というよりも、経験しきれるのであれば完全情報ゲームにおいては必勝法が存在するので、探索しきれてしまえれば囲碁や将棋の必勝法がわかることになりゲーム性は失われてしまいます。)
したがって、経験したことのある盤面におけるQ(s_{experience},a_{experience})を教師データにしながら、モデルとして用意したQ(s,a)ニューラルネットワークによって表現する形でQ関数の学習を行います。
上記のプロセスを経ることで、未知の盤面s_{new}においても行動の価値であるQ値を計算することが可能になります。


3. まとめ
#4ではQ関数をニューラルネットワークで近似することについてまとめました。
#5ではDeep Q-Networkにおける工夫などについて取り扱えればと思います。