Monday, March 27, 2017

FeUdal Networks for Hierarchical Reinforcement Learningのノート


arxivリンク

概要

  • 階層的強化学習
  • エージェントは報酬がもらえる状態の変化「指令・目標(goal)」を出力するmanagerと、その指令に沿って実際にアクションを出力するworkerで構成されている
  • actor-criticモデル
  • 短く「FuN」


全体図。少し複雑に見える。

  • 状態x(e.g. 画像)はmanagerとworker両者に入力される
  • managerはそれからゴールg(d次元のベクトル)を出力する。これが「指令」・「サブゴール」になる
  • managerはより長期的なパターンを捉えるため、LSTMを改造したdilated LSTM(dLSTM)というものが使われる。dLSTMの詳細は論文にて
  • (7) managerの学習が進むと、gは有効・報酬が得られる状況の状態の変化 s(t+c)-s(t) を表すようになる。 例えば、エージェントが仮想空間で地点Aから地点Bに移動したときに報酬がもらえた場合、gは「地点Aから地点Bへの移動」を表すように学習される。
  • (3) gは正規化されている。つまり超球体上に存在する。この理由は、論文によると、絶対的な(状態の)変化よりは、より柔軟な変化の「方向」を表すため。その結果、(7)はユークリッド距離ではなく、コサイン類似度を使っている。
  • (4) workerの方では、cステップ前から現在のgが総和され、一旦線形変換(φ)され、k次元のベクトルwとなる。kは任意だが、普通dより小さい。指令であるgがゼロベクトルであるとworkerに「無視」されるため、線形変換にはバイアスなし。
  • (5) workerはxからUという行列を出力する。Uは|a|行、k列。つまり、行動が「左」、「前」、「右」であれば、 3xkの行列になる。
  • (6) wとUの内積をとり、softmaxに通す。つまり、Uの行iがwに類似しているほど、iに対応するアクションをとる確率が高くなる。
  • workerの目標関数は、R+R(I)と比例する(詳細省く)。Rは強化学習の普通の外部報酬だが、内部報酬R(I)((8)のこと)はmanagerが出力したゴールを実際に果たしたかに依存する。例えば、managerが「AからBへ移動」である場合、workerが実際にAからBへと移動するアクションを出力していればR(I)は高い。
  • 結果は色々面白いのがあったが、スポットライトは難関であるMontezuma's Revengeをかなり攻略できたこと。
報酬がとてもスパースであるため、ベースラインLSTMは行き詰まり。
それに比べ、FuNはどんどん上がっている。
青いバーは高いほどworkerはmanagerの指令を従うことができたということ。
特に高い部分を見ると、指令は実際にレベル内のチェックポイント的な部分を表していることがわかる。左から2番目は「右に行く」、3番目は「ハシゴを下る」、4と5番めは「ドクロモンスターを飛び越える」、最後の6番目は「カギを獲得する」、と見れる

No comments:

Post a Comment