2017/07/15

Q-Learningについて

いきなりまとめ


Q-Learningは状態とそこでの行動をもとに、
長期の期待利得を学習するためのアルゴリズム。


Today I Learned


Simple Reinforcement Learning with Tensorflow Part 0: Q-Learning with Tables and Neural Networksables-and-neural-networks
を参考に。


Q-Learning


Q-Learningは現在の状態とその状態での行動による報酬を学習するアルゴリズム。
これに対しpolicy gradientは状態と行動をマッピングする関数を学習するアルゴリズム。
最終的にはどちらも賢い選択に導くことが可能。 


Qテーブル


Q-Learningの最も簡単な実装はQテーブル。
行が状態、列が行動に対応。
それぞれのセルが期待利得を表す。


bellman equation


Qテーブルの更新にはbellman equationを使用。
長期の報酬=現在の報酬+次回以降の報酬の最大値*割引率。
Q(s,a) = r + γ(max(Q(s’,a’))


ANNによるQ-Learning


現実世界や現代ゲームではサイズが無制限に大ききくなるためQテーブルは適用できない。
そこでANNが必要となる。
one-hotベクトルとして表現したstatesをインプットとしてアクションごとのQ-valueをアウトプットする。

ANNの利点はレイヤーを追加したり、アクティベーションやインプットタイプを変えたりするのが簡単なこと。
これはすべてQ-tableでは不可能。

値のアップデートには現在の予測値とbellman equationに基づいたターゲット値との間のsum-of-squares Lossによるback-propagationを使用。

単純なANNではQ-tableほどうまく機能しない。
そのためExperience ReplayやFreezing Target Networksを行う必要がある。

0 件のコメント:

コメントを投稿

Relation Netowrksの概要

いきなりまとめ Relation Netowrksとは関係性の推論を行えるニューラルネット。 画像や音声の単純な認識ではなく、複雑な思考が可能。 例えば、 グレーの物体から最も離れている物体の形は何か? ボールは今何処にあるか? ランダムに動くボール群のどれが...