出典
ICML(International Conference on Machine Learning)2019に採択。
図は全て当論文から引用。
概要
ConvLSTMを積み重ねたDeep Repeated ConvLSTM(DRC)というモデルを提案。プランニングが可能なエージェントが持つ性質を提案手法も持つことを実証
導入
- モデル学習を学習してプランニングするという手法は高次元タスクでは上手くいっていない
- モデルフリー手法でどのように計画を立てるか自体を学習する手法が生まれつつある
- ネットワーク構造に工夫して木探索的振る舞いを実現
- 本論文ではConvLSTMがプランニング特有の性質(次の3要素)を持つことを示す
- 様々な状況に対して簡単に一般化可能
- 少量のデータから効率的に学習可能
- 思考時間が伸びるほど性能向上
Deep Repeated ConvLSTM(DRC)
- 隠れ層が3次元テンソル、接続が畳み込み演算
- 奥行き方向に層積み重ねる
- 時間方向には回の演算を実行
- 図にはないが
- は1層目だけでなく全ての階層に入力
- 1ステップ遅れて層目から層目への接続もあり
- プーリングした値も合わせて出力
- Actor-Criticで学習
実験
単純な性能の比較
Gridworld, 倉庫番, Boxworld, MiniPackmanなどの完全情報・2D見下ろし系のゲームでValue Iteration NetworkやI2Aと比べて高い性能(表1,2,図15)
層数やステップ数の比較
層ステップのモデルをと表記
倉庫番での性能
- 普通のConvLSTMであるDRC(1,1)は性能が悪い
- 層数は増やさずに時間ステップでの繰り返しだけ増やしたDRC(1,9)はDRC(1,1)よりは良いがまだ性能が低い
- DRC(3,3)くらいがちょうど良い
アーキテクチャの比較
- 普通の1次元LSTMでは性能低下
- ResNetもスキップコネクションがあるため各層がRNN的な振る舞いを(つまりはプランニング的な振る舞いを)することが理論上可能ではあるが、提案手法の方が性能が高い
サンプル効率と汎化性能
- 倉庫番でデータ数(初期配置の数)をLarge, Medium, Smallの3種類試行
- Large Network(DRC(3,3))とSmall Network(DRC(1, 1))で汎化性能を比較
- 汎化性能が大差
- データ数をSmallにしてもTrainデータにおける学習正解率が上がるわけではない
- 探索の多様性がなくなることが原因?
- DRC(3, 3)はTrainデータの正解率が100%になるが、Testデータで100%になるわけではない
学習データと異なる環境でテストする場合の性能
- 箱の数を増やしてもDRC(3,3)は性能が落ちにくい
思考時間を増やすことで性能が向上するか
- テスト時、各エピソードの開始時「何も行動しない」行動を数ステップ取らせる
- 最初に10ステップ追加すると解ける問題が5%増える
所感
力技で無理やり学習させたという印象で、こんな手法で本当に上手くいってしまうのかという気持ちは拭えない。ネットワークのアーキテクチャを工夫して擬似的なプランニングをやらせるような手法群に対して、いくらか納得し難いところはあるんだが、それも良くない先入観だろうか。
テスト時のエピソード開始時に何もしない行動を入れると性能が上がるというのが直感的に理解できない。思考時間と性能に正の相関が出ることは個人的に重要だと思っているんだけど、しかしそういうやり方になるのだろうか。こういう実験をしよう(こういう実験で結果が出るはずだ)という気持ちになるのが自然なことなのかがわからず、(Conv)LSTMの効果として期待されるものに対する感覚が磨かれていない。何かしらの方法で過去の情報も利用することは必要なのかなと思わないではないが……。