217 Views
October 21, 19
スライド概要
2019/10/21
Deep Learning JP:
http://deeplearning.jp/hacks/
DL輪読会資料
DeepなSSM Naruya Kondo, Matsuo Lab (B4) 1
(軽く自己紹介) • ロボット系やってます – 模倣学習やってました – 来年のWRS(家庭環境を題材にしたロボコン)に出ます(?) ↓ • VR/simRのためのDLみたいなことをやってます • (twitter: @StaPriEG2) 2
SSMって何 • 状態と観測が異なる系列モデル – 何かしらの遷移規則(ダイナミクス) を表現したい • 『観測が(時間)変化するのは内部の 状態θが変わったからで、 観測Yはθに条件付けられている (θがわかればYもわかるはず)』 • 部分観測な問題設定(POMDP) TJOさん(@TJO_datasci)の解説記事から拝借。 https://tjo.hatenablog.com/entry/2014/09/26/190937 3
SSMとして定式化できる問題いろいろ • Atari/Gymの環境のダイナミクスの獲得 – 強化学習でよく使われる – 自分がある行動をおこしたときに 環境はどうかわるか • 音楽 – 聴きやすい音楽、あるひとの音楽は いくつかの規則にしたがって音符が並んでいるはず • DeepSSMは、要因(時間, action等)が少なく、高次元の入力(画像等)など の問題設定が得意 4
モデル(有名どころ) • Deep Markov model – 簡単な音楽生成、画像生成など • PlaNet(右) / SLAC – モデルベース強化学習 • (環境のモデルを明示的に用意して学習してもらう) 5
変分下限 • Deep Markov model • PlaNet • 数学的な導出は、p(O0~T)を分解して求める – (VAEの変分下限がわかればそんな難しくない?) 6
変分下限 • Deep Markov model • 再構成誤差+KLダイバージェンス • 真の状態はわからないので、推論する – KL項はなくても学習できなくはないけど、 ただの中間層ではなく、 真の状態は観測から推論可能であることをモデル化 – オートエンコーダーよりVAEの方が良い潜在表現が 得られるのに近い https://qiita.com/kenmatsu4/items/b029d697e9995d93aa24 7
SSMの強み弱み • ◎ (明示的に)状態遷移をモデル化できる。ダイナミクスを捉えられる。 • △ データの偏りによって、遷移の再現に得意不得意が生じる – 強化学習の課題。 • 新しい遷移を探すように探索するのが一般的 – データセットを与えるときは注意が必要。 • △ GAN系と比べて生成に特化してるわけではない • 映像生成だけなら、 videoGAN / vid2vid / videoFlow などがある 8
実装 • やってること:cartpoleの映像生成 – 1000データ×30フレーム(真ん中だけ切り取って28x28x3にresize) – action(右/左の2値)も集めてるけどまだ使ってない • pixyzoo/DMMを参考に、MNIST画像(1行ずつ)生成→映像生成 • https://github.com/naruya/ssm_cartpole 9
実装:順方向 • 10
実装:推論 • 赤:再構成周りの学習 • 青:推論周りの学習 11
実装:Loss • 12
学習 • mlpベース 13
学習 • convベース 14
PlaNetで生成される映像はすごいらしいです… • PlaNet – The agent observes the first 5 frames as context to infer the task and state and accurately predicts ahead for 50 steps given a sequence of actions. • actionで条件付けたら綺麗になる?? • データ増やしたら良い?? – (overshootingなしでももうちょっと綺麗そう…) 15
まとめ • SSMはよい – (伝聞) • Appendix: https://qiita.com/namahoge/items/cf39320e9acc5b96d1a6 16