機械学習

概要

  • ロボットって教科学習っぽい

目次

疑問

  • 禁じ手ってどう学ばせるの?

参考

用語定義

  • \( t \)回目に状態\( s_t \)にいる時に行動\( a_t \)を行って、状態\( s_{t+1} \)になると報酬\( r_{t+1} \)がもらえる。
  • 表現がconfusingすぎる
数式用語
\( r_t \in \mathbb{R} \)t回目に、エージェントが実際に得る報酬の確率変数。これは状態\( s \), 状態\( s' \), 行動\( a \)の3次元の自由度がある。実際には、以下の\( \mathcal{P}, \mathcal{R} \)の確率-報酬、状態が確定する。
\( \mathcal{P}_{s, s'}^{a} \in \mathbb{R} \)状態\( s \)から状態\( s' \)に行動\( a \)で移動する、確率。確定値。これは環境がそうなっている。
\( \mathcal{R}_{s, s'}^{a} \in \mathbb{R} \)状態\( s \)から状態\( s' \)に行動\( a \)で移動した時の、報酬。確定値。これは人が設計する
\( \mathcal{R}_t = \sum_{i=t+1}^{\inf} \gamma^{i-t-1} r_{i} \)収益。t回目に行動\( a_t \)を選択した時に、最終的に得られる報酬の和の確率変数
\( \pi_t(s, a) : \mathcal{S} \times \mathcal{A} \rightarrow [0, 1] \), \( \sum_{a} \pi_t(s, a) = 1 \)t回目に、状態\( s \)で行動\( a \)を取る確率
\( Q_t(s, a) : \mathcal{S} \times \mathcal{A} \rightarrow \mathbb{R} \)状態\( s \)で行動\( a \)を取った時に得られる報酬の期待値
\( \mathbf{Q}_{s, a}^\pi = E[R_t ; s_t, a_t] \in \mathbb{R}^{\mathcal{S} \times \mathcal{A}} \)状態\( s \)で行動\( a \)取ったあと、方策\( \pi \)で遷移した時の収益の期待値
\( \mathbf{V}_s^\pi = E[R_t ; s_t] = \sum_{a \in \mathcal{A}(s)} \pi(s, a) Q^\pi_{s, a} \in \mathbb{R}^{\mathcal{S}} \)状態\( s \)から方策\( \pi \)で遷移した時の収益の期待値
  • グリーディ
    • \( \pi(s, a) \)が確率ではない=状態\( s \)に対する最適な行動\( a \)が一意に決まる

分類

  • まとめ
  • 状態モデルがわかっている場合
    • Bellman方程式に関して、動的計画法を行う
    • グリーディ、すなわち方策\( \pi(s, a)=\pi(s) \)としても問題ないことが証明できるらしい。
    1. 方策反復
    2. 価値反復(細かく更新できる)
  • 状態モデルがわからない場合(モンテカルロ)
    • ES(開始点探査)を前提する場合
      • モンテカルロ-ES(方策\( \pi(s, a) \)はグリーディ)
    • ESを前提しない場合
      • 方策オン型モンテカルロ制御(方策は\( \epsilon \)グリーディ)
      • 方策オフ型モンテカルロ制御(推定方策\( \pi(s, a) \)はグリーディ、挙動方策\( \pi'(s, a) \)\( \epsilon \)グリーディ)
  • 状態モデルがわからない場合(TD法)
    • 方策オン型制御: Sarsa法
    • 方策オフ型制御: Q-learning
    • nステップ先まで見ることで、TD法とモンテカルロ法の間を取る方法: TD(λ)法というのがある(Sarsa(λ)や、Q(λ))
      • WatkinsのQ(λ)については、あまり適格度トレースの恩恵を受けること出来ないみたいで、学習速度はQ学習からあまり改善されないらしい。一方、PengのQ(λ)はSarsa(λ)法と同程度の性能は出るものの、実装が複雑らしい

疑問

  • \( \mathcal{R}^{a}_{ss'} \) はなんで期待値なの?\( r_{t+1} \)って確率変数ではなく、確定しないのでは?(これ)→確率変数です
    • ここでも、報酬は期待値として表現されてはいない
    • n本椀バンディットを想定すると、「状態Sで、i番目のバンディットを試して、状態Sになった時に得られる報酬」は、エージェントから見るとスロットはランダムなので、\( r_{t+1} \)は確率変数である。(n本椀バンディットでは、状態は1個しかない。これをSと表している。)
  • 「方策が決定論的だと、探査が行われない状態行動対が出てきてしまうことが考えられる。そこで、知識利用と探査をバランス良く行うために、工夫が必要になってくる。」の意味は?
  • 終端状態についてはどうするの?
  • 終端条件とは
    • そもそも状態モデルがわかっている学習系(モンテカルロ, Sarsa, Q-learning)は、終端条件を明示的に与えているはずなので問題ない。
    • 動的計画法系は?→仮説:終端条件にはアクションがない
  • なんでモンテカルロには割引率があったりなかったりするの?
    • そもそも割引率は無限回足しあわせの発散を含む目的だったから。
  • このモンテカルロ法、Tの幅が一定ではないように見えるけど大丈夫??
    • なんか短いものも入ってくる、と考えると、「勝手に最近のものを重視するように重み付けされている」と解釈することもできそう

ポリシーの作り方

  • \( \pi_t(s, a): \mathcal{S} \times \mathcal{A} \rightarrow [0, 1] \)は、\( Q_t(s, a): \mathcal{S} \times \mathcal{A} \rightarrow \mathbb{R} \)によって恣意的に決める
    • グリーディ: \( Q_t(s, a) \)が最も高い行動\( a \)のみ選ぶ
    • \( \epsilon \)グリーディ: \( Q_t(s, a) \)が最も高い行動\( a \)のみ選ぶ
    • soft max: \( Q_t(s, a) \)を温度で重み付けした確率で選ぶ

勉強

  • 開始点探索の前提
    • 決定論的方策の学習で、状態行動対作成のためにそれ自身を使ってしまうと、ループしたりして出てこない状態が現れる
    • なので、状態行動対作成の時だけ、ソフトを使う必要がある。

Tips

  • Q学習の方は推定方策と挙動方策が分かれているので、理論的には解析がしやすいらしい。そういった意味で、Q学習は重要とのこと。

2人対戦ゲーム

  • エージェントを2体作る必要がある(prev_stateを持つ必要があるので)
  • 報酬は、最後決まった時の報酬、と!その一つ前の手を相手に-1をかけて報酬を与える
  • 状態観測は、自分がやった行動の結果…ではなく!相手の手が終わった後の状態

DQN

  • リプレイバッファはステップごとだから、相手のも自分のもの突っ込める。
    • そもそも時間的連続な教科学習へのアンチテーゼみたいなところあるので、別に連続していなくてもいいはず。

chainerRL

  • envの抽象クラスがあった スーパーパラメータを振って、どれくらい学習速度が変わるのかの実験をしてみたいです…と言う人が多そうですが、僕は別にぶっちゃけどっっっっでもいいです。主に興味があるのは、別に手法に対しての優位性・スーパーパラメータへのロバストネスをどのように評価するのでしょうか?ということです。WGANの論文でそんなのを見た記憶があるけれど…。

lossとかaverage Qとかってどういう指標になるのでしょうか?あんまり何か見てても嬉しいことがないように思うのですが。

リプレイバッファに行動を貯めていないように見えるんですが、これでいいんですか?

2人対戦ゲームで、今回の実装のように「勝った時に+1, 負けた最後の手に-1」とするのは一般的でしょうか?少なくとも、負けた最後の手は報酬0と報酬-1が混在してよくなさそうです。どのように実装するのが普通でしょうか?

今回は禁止手がないゲームを実装しました。一方、禁止手があるゲームでは、ルール違反に対して-1の報酬を与えるなどの実装方法が考えられます。しかし、ルール違反を制限しながら強化学習することができれば、無駄にルールを学ぶ必要がなくなるので、学習が高速化すると思います。どのように実装すればよいのでしょうか?

途中から学習をやり直す方法ってどうすればよいでしょうか?ステップ数も一緒にsaveしなければならないと思います。

また、今回は状態離散1次元、出力離散3次元でした。今後は、状態が多次元、出力が連続、描画あり、学習中ハイパーパラメータ調整などを行いたいです。

複数プロセッサやGPGPUってどうやって設定するのでしょうか?


トップ   編集 凍結 差分 バックアップ 添付 複製 名前変更 リロード   新規 一覧 単語検索 最終更新   ヘルプ   最終更新のRSS
Last-modified: 2017-07-10 (月) 15:31:58 (2483d)