DeepMindの外部メモリー型DQNの論文を読む
ランニングできず 英語できず
「Neural Episodic Memory](2017/03) https://arxiv.org/abs/1703.01988
この論文は人間がある状況で適切な行動を求められる場合、過去の類似した状況での結果を思いだして行動選択する事をモデル化したものである。この発展版がDeepMindの外部記憶メモリを使う「Neural Turing Machine」である事がわかった。
このモデルはUNREALなど多くのモデルの一部として採用されており、一般的になりつつある。
一般にBellman方程式は、状態での採った行動での期待できる将来価値Qを計算する式である。しかし将来への漸化式になっているので陽に解けないので、Q関数は特徴量とパラメータの線形和で近似する場合が多い。
DQNはQ学習アルゴリズムとして、2つの重要な考え方を導入してEnd-to-Endの問題を解くモデルを実現した。
1)特徴量はゲーム画像をDeepLearningのCNNで抽象化して生成する
2)パラメータは、時点に実際得られた報酬と近似されたQ関数の差からパラメータを微分してして解き、さらに近似を精緻化する。
ここで は学習率
しかし、DQNは人が2時間でマスターするゲームを200時間もかかってしまう。これはQ関数が単なるパラメータの近似関数なので有効な学習が難しいためと考えられる。
そこで、今までの実際得た価値を外部記憶に記憶させ、今の状況と似たものから呼出して価値を計算してしまおうとする考え方である。
この外部記憶モデルは近似的なQ関数の代替なので、素早い計算が要求されるので
・簡単な内積計算でQ値を計算する
・書込みは追加だけ
以下はモデルの説明
1)外部記憶からの呼び出し
・外部記憶は行動毎に設定され、各々外部記憶がある。外部記憶はインデックスとその値の表構造で構成されている。
・現在のゲーム画像をCNNで抽象化してベクトルをキーとして生成する。
・複数の行動毎に外部記憶をキーで検索して、行動毎に価値Q(s,a)を計算する。その中で最大の価値Qを採る行動を決定する。
・キーが一致しない場合が殆どなので(キーは画像の場面を表わすから)、外部記憶のインデックスとキーが似ていいる程、尊重する様調整する。
キーが似ているかは内積を採ればいいのであるが、少し上等にしてガウシアンカーネルを使って調整する
注)ガウシアン・カーネルとはキーと検索インデックスの一致具合を正規分布表現するものである。
調整の重みは
算出するQ値は
2) 外部記憶への書込み値
・ゲーム画像を表わすキーの追加書込みの値はN期先までの価値としている。
N期先の価値関数 は報酬 は将来への割引値
・既存の外部メモリーの価値Qiの調整を行う。 は調整係数
・もし追加枠が一杯になれば、最も近いインデックスを持つものと置き換える
この様な外部記憶を使うことによって、従来モデルと比較して大幅な改善を達成している。