出典
International Conference on Machine Learning 2019に採択
読んだ理由
うさぴょん外伝のアピール文書を読んでから行動表現の学習に興味が出ている。自然言語処理における分散表現の考え方に近いなと思いながらICML2019の論文一覧を見ていたところ、かなり明示的にそういったことを主張していた論文があったので読んでみた。
概要
行動ログ(コーパス)から行動表現を学習するための手法Act2Vecを提案。
詳細
基本的にSkip-Gramの考え方をそのまま行動表現の学習に適用する。
学習
既存の行動・状態ログがあると仮定し、そこから状態,行動に対する幅のコンテキストを得る。表記の簡略化のため状態行動とそれに対するコンテキストのペアをで表すものとする。
行動の分散表現を、コンテキストのの表現をとしたとき、このペアがデータの中にある確率をモデル化する。シグモイド関数をとして $$ P(true; a, c) = \varsigma(\vec{a}^{\mathrm{T}} \vec{c}) $$ とする(この定式化がSkip-Gramのそれと一致しているのかがよくわからない)。
ネガティブサンプリングも入れて、を周辺ユニグラム分布として損失は $$ l(a, c) = \log{\varsigma(\vec{a}^{\mathrm{T}} \vec{c})} + k \mathbb{E} _{c_N \sim P_c} \log{\varsigma(-\vec{a}^{\mathrm{T}} \vec{c_N})} $$ とする(ネガティブサンプリングサンプリングって逆方向のドロップアウト的なものかと思っていたがそういう式になっているのかわからない)。
利用法1:行動価値の近似
行動の表現を、状態の表現をとしたとき、行動価値を次のように推定する。
$$ \hat{Q}(s, a) = \psi(a)^{\mathrm{T}} \phi(s) $$
利用法2:効率的な探査(k-Exp)
行動の分散表現はk-means法などで個のクラスタに分割できる。
とすることで意味的に異なる行動を均一にサンプリングできるので効率の良い探索が行える。
実験
Drawing
- 正方形(長方形?)を描くタスク
- 行動は上下左右4方向と、上右、右上など4方向を組み合わせた8方向(上下など真逆の行動対は無し)の計12種類
- 描画が完了したときにだけ、描かれた形状が長方形のときに正の報酬を付与
- 人間がやったコーパスから事前にAct2Vecを学習
- 行動表現が点対称のように学習されている(一番左の図)
- 実際に用いるとOnehotやrandomで与えるよりもAct2Vecの方が高性能
Navigation
- 障害物を避けながら特定の場所へ進むタスク
- 前進、左右に向きを変えるの3つの行動が可能 →行動の系列を考えると表現に意味が出る
- 考慮する系列長としての場合について学習
- の場合が左二つの図
- やはり意味ごとに行動が分解されており、また垂直軸に対して対称性
- 性能ではよりとした方が良く、では伸びなかったがk-Expを入れると向上
Star CraftⅡ
- 人間プレイヤーの行動ログから学習
- 全て混合で学習してもキャラクターの種別ごとに行動が分離できており、その中でも意味的なまとまりができている
所感
- 実験結果が少し微妙な気はするけど考え方が面白くて発展の余地がありそう
- うさぴょん外伝でもそうだったが、状態表現との内積で行動価値を表現しているのが気にかかった。既存研究にもそのようなものがあったようだが、このやり方の意味がよくわからない
- 結局実験では行動コンテキストのみから表現を事前学習しており、価値を学習する段階でも表現の学習を行えると良いのではないかと思った