いきなりまとめ
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 件のコメント:
コメントを投稿