複数の方策の混ざったexpertから複数方策を模倣学習するInfoGAIL論文の要約

[1703.08840] InfoGAIL: Interpretable Imitation Learning from Visual Demonstrations

この論文のメインとしては深層模倣学習GAILの自動運転への応用であり

  1. 状態をpixelデータで受け取ること
  2. デモンストレーションの方策が単一でなく複数のモードが混ざって構成されていると仮定しその分類と習得(infoGANの応用)

をメインとしているが,私が調べた限りはGAILの報酬に環境からの外的報酬を加えることでデモンストレーションを超える方策を学習することが述べられている最初の論文であり,そちらに焦点を当てて読んでみました.

InfoGAIL本文

intro

問題提起

強化学習において報酬設計は時にむずかしい(たとえば自動運転)
GAILはエキスパートの行動をまねる模倣学習の一つでGANのようにDiscriminatorを用いて性能を向上させている。
模倣学習においてはexpertは人の動作をもちいることが多いが、人によって方策は異なるし、外的な要因はシミュレータでとらえきれない。

アプローチ

この論文ではinfoGANとアナロジーして、人のデモから教師なし的に似た理解できる概念を学ぶことを目的とする。
この論文での新規性は

  1.  infoGANに似た方法でGAILを改良し、低レベルの行動をより抽象的なハイレベルな変数でコントロール
  2. 高次元空間での人のような動作をピクセルでのインプットで模倣学習
  3. 自動運転への応用

2.背景

2.1 変数の定義

特に変わった点はなし

2.2 模倣学習

Behavior CloningとApprenticeship learning(AL)(逆強化学習と同義にとらえているっぽい)の問題点はデモンストレーションが完全でないことと複数の方策が混ざっていることがあることである.

2.3 Generative Adversarial Imitation learning

GAILについて解説.

3.visual inputによる理解できる模倣学習

人の行動は人によっても、その時々によってもさまざまである.
そこからこの章では
(1)潜在的な要因を発見し、(2)方策を学び,(3)外的な情報としてvisual inputのみをもちいる.
の三つを実現する.

この論文ではエキスパートの方策についてn個の方策が混ざったものとして考えている。
このn個の方策はある潜在変数cによって確率的に決定されていると仮定している。

3.1 Interpretable Imitation Learning

GAILは単一の方策を持つexpertを想定しているため複数の方策を持つexpertからクラスタリングの要領で複数方策を学ぶ方法が必要

複数の方策を表現する方法として、新たな潜在変数cを導入し方策をsだけでなくsとcの関数π(a|s,c)とした。これだけではうまくいかない。
cと軌跡τを結びつけるためこれらの相互情報量I(c;τ)を導入する。(infoGANのアイデア)
https://logics-of-blue.com/information-theory-basic/(相互情報量はこのサイトがわかりやすい)

I(c;τ)を直接求めるにはP(c|τ)が必要なため式(2)のような近似Lを導入しQ(Qlearningとは無関係)を推定することで求まる.

全体としてはGAILにLを加えた式(3)のような形になる。
これによって潜在変数cとexpert軌跡τの関係も学習し、複数方策を分類できる。

なお実際にはQは軌跡τではなく状態行動対の関数として近似している。
アルゴリズムはシンプルにD,Q,πを順に更新していく流れになっている.

3.2Reward augmentation

imitation learningではexpertの方策が完全でない場合そこで頭打ちになる.
模倣学習において事前知識的に報酬を加えることをReward augmentationという(初耳)http://journals.sagepub.com/doi/abs/10.1177/0278364917745980
式(4)のようにη(状態にのみ依存する報酬(例えばタスク達成時にもらえるもの))を導入することで事前知識的に報酬があたえられる.

3.3 最適化の工夫

pixelベースの高次元空間にGAILを持ち込むに当たってGANが持つ勾配消失などの諸問題をWGANの技術を使って改善した.

またベースライン,リプレイバッファーなどのテクニックも使用.
DにはTMSprop,QにはAdam,πにはTRPOを用いた.
InfoGANと違いD,Q間でパラメータは共有しないことに注意.

4.実験

4.1 toy task

fig1を見れば潜在変数cによるモード分解がうまくいっているのがわかりやすい.

 

4.2~ 運転の模倣

インプットはImage Netの事前学習モデルで畳み込む.

運転において2つの動作を想定し,それぞれ二つのモードが存在する.

  1. 曲がる(内側・外側)
  2. 追い抜く(右から・左から)

潜在変数の分布$$ p(c)$$は一様分布を仮定.

追い抜きタスクにおいて,infoGAILでは各モードを分別し,それぞれ等しい頻度で行動できている.一方,通常のGAILは混合方策を分別できていない.から追い抜く頻度が非常に大きいが,左から追い抜く方策も模倣しようとするため,追い抜く直後に大きく左に曲がるような動作が見られた(GAILは文脈的な情報は加味しないためこういうことが起こるともいえる).

 

モードの分類性能を比較すると,K-means法やPCAと比べ高い正解率を誇り,81.9%となっている.なお教師あり学習のCNNでは90.8%であった.

(本来は状態遷移を考慮した教師なし学習も比較すべきではありそう.シミュレータ内でデモンストレーションデータ以外でのデータが得られているというのが要因としてある.)

感想

冒頭で述べたようにRewardAugmentationに興味があったためInfoGANの知識のないままざっくり読んだので間違いが多いかもしれません.モード分解についてはのちに階層型に応用してる論文があったのでまた今度読もうと思います.

[1810.01266] Directed-Info GAIL: Learning Hierarchical Policies from Unsegmented Demonstrations using Directed Information