Upgrade to Pro — share decks privately, control downloads, hide ads and more …

敵対的学習による動画生成とドメイン適応

 敵対的学習による動画生成とドメイン適応

以下の講演で使用しました!
人工知能学会 第76回人工知能セミナー, 2018/8/27.

動画生成は文字通り、新規な動画を生成する試みです。まだまだ粗い/奇怪な動画を生成しがちです。
ドメイン適応は、実際に認識・識別させたい何か(ターゲットドメイン)を直接ラベル付けして学習させるデータを用意するのが困難な場合の処方箋の一つです。ラベルが付いているけど微妙にデータの性質が違うソースドメインで学習したモデルを、うまくターゲットドメインでも動くように何とかする技術です。

本講演では
【動画生成】…「時系列的な動き」とその「テクスチャ」に分けて生成するという考え方
【ドメイン適応】…ソースドメインとターゲットドメインの何らかの「ズレ」を無くすという考え方
これらが敵対的学習によって実現されていますよというお話をしました。

Be0f86176276318b4b9775d795278f7e?s=128

Yoshitaka Ushiku

August 27, 2018
Tweet

Transcript

  1. 敵対的学習による 動画生成とドメイン適応 東京大学 大学院情報理工学系研究科 牛久 祥孝 losnuevetoros

  2. 自己紹介 2014.4 博士(情報理工学)、東京大学 2014.4~2016.3 NTT CS研 研究員 2016.4~ 東京大学 講師

    (原田・牛久研究室) 2016.9~ 産業技術総合研究所 協力研究員 2016.12~ 国立国語研究所 共同研究員 2018.4~ オムロンサイニックエックス株式会社 技術アドバイザ(NEW!!) [Ushiku+, ACMMM 2012] [Ushiku+, ICCV 2015] 画像キャプション生成 主観的な感性表現を持つ 画像キャプション生成 動画の特定区間と キャプションの相互検索 [Yamaguchi+, ICCV 2017] A guy is skiing with no shirt on and yellow snow pants. A zebra standing in a field with a tree in the dirty background. [Shin+, BMVC 2016] A yellow train on the tracks near a train station.
  3. 車載画像? 実はGANで生成された画像 [Wang+, CVPR 2018]

  4. 車載画像? 実はGANで生成された画像 →動画もきれいに生成できる? [Wang+, CVPR 2018]

  5. 講演内容1:GANによる動画生成 • 萌芽的なタスクである動画生成GANの紹介 – 生成された結果の動画も紹介 • 各アーキテクチャに共通する狙いを概説

  6. 教師データの用意は大変 • 例:画像のセマンティックセグメンテーション – Cityscapes [Cordts+, CVPR 2016] – マックスプランク+ダイムラー

    – 25000枚の画像を手で色塗り • シミュレーション環境での訓練 – ビデオゲームの利用 [Richter+, ECCV 2016] – 色塗りを自動で処理できる – 見た目にはかなり写実的 • 有望に見えるけど… ビデオゲームで訓練しても実世界は まったく認識できない!(後述)
  7. 講演内容2:GANによるドメイン適応 • 教師データ収集が困難→ドメイン適応を検討 – Source Domain: 教師データが大量に収集可能だが本来認識させたいデー タではない – Target

    Domain: 認識させたいデータだが教師データの収集が困難 • GANは◦◦生成の為だけにあるものではない – GAN(敵対的学習を含む)のコンテンツ生成以外の応用例 – 主にドメイン適応が題材 実世界の画像 +ドメイン適応 ラベル 推定 ビデオゲームで学習 ビデオゲームで学習
  8. GANによる動画生成

  9. ラベルからの1024x2048画像生成 綺麗な画像生成→綺麗な動画も生成可能? [Wang+, CVPR 2018]

  10. 敵対的学習によるフレーム予測 入力:直近のフレーム 出力:その後のフレーム 拡大しながら生成 [Mathieu+, ICLR 2016]

  11. 予測結果がぼやけないために • 正解画像と生成画像での画素値の差 – これだけだと生成画像がぼやける原因になる – L2でもL1でもぼやけるのは同じ • Gradient Difference

    Loss (GDL) – Gradient は画像の画素の勾配を指している – 勾配を正解/生成画像間で比較 – 他の損失関数と併用可能 正解画像のGradient 生成画像のGradient
  12. 予測結果がぼやけないために • Adversarial Loss Discriminator 生成されたか正解画像からサンプリングされたか • 最終的な損失関数 – 画素値の差

    – Gradient Difference Loss – Adversarial Loss の線形和
  13. Ablation Study GDL Adversarial L1 L2 提案手法

  14. その他のフレーム予測結果 枠無し:入力 → 赤枠:予測結果

  15. GAN for Video (VGAN) [Vondrick+, NIPS 2016] ラベル無し動画データセットから シーンダイナミクスをモデリングしたい •

    動画認識 • 予測を含む動画生成
  16. マスクを用いた動画生成モデル 前景と背景を別々に推定 • 背景は静止画像 • 前景とその位置を示す マスクを背景と融合 Discriminator はリアル/生成動画を識別 •

    Generatorとともに3D CNNを利用
  17. 評価方法:動画特徴の教師なし学習 • 提案手法は動画のラベルを必要としない – 教師なしで動画特徴を学習しているとみなせる • 提案手法で学習された動画特徴を用いて 動作認識用データセットで教師あり学習 – 他の教師なし動画特徴学習手法より高い精度

  18. 評価方法:生成した動画の主観評価 特定のカテゴリにて動画生成モデルを学習→ 人手によって2手法間の優劣を評価 • 提案手法のバリエーションや自己回帰と比較 • 提案手法が最も高評価 • 時として実動画よりリアルと評価される場合も このように高い評価の動画生成例が…

  19. 動画を生成した結果の例 Beach Golf Train Station Baby

  20. Temporal GAN (TGAN) [Saito+, ICCV 2017] VGANが奇妙な動きの動画を生成してしまうのは… • 「3D CNNを用いているせい」

    • 「画像の2次元空間と時間の1次元空間は性質が異なる」 Temporal GAN (TGAN) の提案 1. 潜在変数0 をサンプリング 2. 時系列方向の潜在変数1 1 … 1 を生成 3. 各潜在変数から各時刻のフレームを生成
  21. Singular Value Clipping (SVC) • TGANではベースにWGANを採用 – WGANはDiscriminatorにリプシッツ連続性を 仮定している K-リプシッツ連続性:任意の2点間の差がK以下

    – 重み行列の特異値がすべて1以下であれば 1-リプシッツ連続性が成立 • SVC:重み行列の特異値を用いたリプシッツ 連続性の保証 1. 毎回重み行列の更新後に特異値分解 2. 1より大きい特異値を1に変更 3. 変更された特異値で重み行列を再現
  22. 生成された動画の例

  23. Flow and Texture GAN (FTGAN) • VGANでは人間がゴーストのように動く – 動画の動き(Flow)とその見た目(Texture)を一緒に 生成する→複雑な生成モデルが要求される

    • Flow and Texture GAN (FTGAN) – 動き(Flow)とその見た目(Texture)を分離して生成 – 動きに特化したGANによってゴーストを解消 [Ohnishi+, AAAI 2017]
  24. Flow GAN+Texture GANによる階層的動画生成 • Flow GAN:VGANと同様 – ただしBackgroundは不要 • Texture

    GAN:U-Net[Ronneberger+, 2015] の利用 – Flowの輪郭を維持する効果を期待 – VGAN同様にマスク+背景も生成して統合
  25. 評価方法:動画特徴の教師なし学習 他の動画生成モデルの動画特徴と分離性能を比較 • VGANやTGANを上回る精度 • Two streamの教師あり動画分類とも比較:精度差が減少

  26. 生成された動画の例 リアルFlowデータから生成した動画 潜在変数から生成した動画 リアルFlow 生成動画 Flow抽出元の動画 生成Flow 生成動画

  27. その他の動画生成比較例 主観評価でもVGANを上回るリアルさを達成 VGANで生成した動画 リアルFlowから生成 潜在変数から生成 提案手法で生成した動画

  28. Motion and Content decomposed GAN (MoCoGAN) TGANに近い思想のGenerator+2種のDiscriminator • Motionの乱数 1

    … を生成―RNN→潜在変数 • Contentの潜在変数 と合わせて各フレームを生成 • 共著者の一部は先の静止画生成GANでも共著者 [Tulyakov+, CVPR 2018]
  29. 実験結果:表情と太極拳での主観評価 • 両データセットでVGANやTGANを上回る • 表情データセットでの動画生成例 太極拳データセットでの例は次のページで掲載

  30. その他の生成例 • 太極拳の動画データセット – 本論文で新規に収集 – 動きと人の見た目がある程度制限されている • その他:同じMotionでContentを変えた例

  31. GANによる動画生成 まとめ • 種々の性質を分離した生成モデルが鍵 – 前景 vs. 背景 – 動作

    vs. 見た目 – 人に限れば姿勢モデルも有望 Everybody Dance Now [Chan+, 2018] • まだまだ萌芽的な試み – リアル動画との見分けが容易についてしまう – 再生時間も短い • モデルの複雑性 • メモリ容量などのハードウェア制約 – 評価ベンチマークも模索中の段階
  32. GANによるドメイン適応

  33. ドメイン適応 本講演:Unsupervised domain Adaptation • Source Domain: 教師付きデータ • Target

    Domain: 認識させたいデータだが教師データが全く無い • Target Domainの一部に教師データがある場合… 半教師付き学習との組合せ ビデオ ゲーム 実世界
  34. 共通するアプローチ • ドメインのズレを敵対的学習で克服する – 商品の背景 – 構図のバリエーション – 照明条件 –

    … • 物体は識別できるけど • どちらのドメインの画像かはわからない ような特徴量を抽出できればよい
  35. Deep Domain Confusion (DDC) • Sourceドメインの識別エラーを最小化 • ドメイン間の分布の重なりを最大化 [Tzeng+, arXiv

    2014]
  36. DDCのネットワークアーキテクチャ • Classification LossとDomain Lossの最適化 • Domain Loss: – Maximum

    Mean Discrepancy (MMD) – Classification Lossとの重みづけ 和を最適化 Source の 特徴量平均 Target の 特徴量平均
  37. Office データセットによる実験 • 共通する商品かつ撮影条件の 異なる3つのドメイン • 提案手法: Domain Confusionにより性能が大幅に向上

  38. 定性的な結果:特徴量の分布 Adaptation前 同じ「モニター」でも ドメイン(緑/青)によって 分布が異なる

  39. 定性的な結果:特徴量の分布 Adaptation後 ドメインによらず「モニター」の分布が一致!

  40. Deep Adaptation Networks (DAN) • Multiple Kernel MMD (ML-MMD)によって ドメイン間の分布を重ねる

    • DDCに比べて – 複数のレイヤー で分布を重ねる – 線形の距離→ Multiple Kernelの利用 • Officeデータセット上でDDCを超える性能 [Long+, ICML 2015]
  41. Domain Adversarial Neural Networks (DANN) • Deep Adaptation Networks (DAN)

    と名前が紛らわしい • Domain Adversarial Neural Networks という名前はジャーナル版 [Ganin+, JMLR 2016] で登場 • GANと同様の思想で ドメインに依らない特徴量の抽出を敵対的学習 – GAN: サンプリングした潜在空間に基づく生成データ vs. 実際に存在するデータ – DANN: Source ドメインから抽出した特徴量 vs. Target ド メインから抽出した特徴量 [Ganin+Lempitsky, ICML 2015]
  42. DANNネットワークアーキテクチャ • ドメインに依らない特徴量を抽出したい • クラス識別をしたい • ドメイン識別をしたい

  43. 敵対的学習とその • ドメイン識別ロス をめぐる敵対的学習 – ドメイン識別をしたい は を最小化したい – ドメインに依らない特徴量を抽出したい

    は を最大化したい • 問題点: の勾配に対して – は勾配降下したい一方で は勾配上昇したい – と の接続関係から勾配を逆向きに進めない
  44. Gradient Reversal Layerの導入 陽な関数の形では書けないけど、とにかく • 順伝搬の時は何もせず • 逆伝搬の時は勾配の符号を反転する レイヤーを導入する 続く2モジュールで同時に降下/上昇できる

  45. 実験結果 • Office データセット • 文字データセット 特徴量分布の変化 SYN NUMBERS(赤点) →SVHN(青点)

    Adapt
  46. Adversarial Discriminative Domain Adaptation DANNと同様にドメイン識別器を敵対的学習 [Tzeng+, CVPR 2017]

  47. DANNに対する問題意識 • 共通のネットワークで 2つのドメインから特徴 抽出するのは ✓パラメータ数を削減できるのが良い ×異なるドメインの特徴量抽出を同時にやるのは 無理がある • Gradient

    Reversal Layerは ✓GANの目的関数に忠実ではある ×学習初期に勾配を消失させることで Discriminatorの更新がとまりやすい
  48. ADDAでは • それぞれのドメインで異なるCNNにより特 徴量を抽出 Source ドメインのCNNはPre-trainingしておく • Gradient ReversalではなくGANで一般的な inverted

    labelに対する損失を用いる ( :Target 特徴量 : ドメイン識別)
  49. 実験結果 Officeと文字データセットでState-of-the-art

  50. Maximum Classifier Discrepancy (MCD) ここまでの手法はドメインを一致させようと しているが… • ドメイン全体の分布を一致させても クラスごとの分布は一致しないのでは [Saito+,

    CVPR 2018]
  51. Maximum Classifier Discrepancy (MCD) ここまでの手法はドメインを一致させようと しているが… • ドメイン全体の分布を一致させても クラスごとの分布は一致しないのでは •

    ドメインの一致ではなくクラス識別面の一致では [Saito+, CVPR 2018]
  52. Maximum Classifier Discrepancy (MCD) 0. Source(点線)とTarget(実線)で2クラス識別

  53. Maximum Classifier Discrepancy (MCD) 1. 2クラス識別器を2つ用意する Sourceで訓練する識別面は ・点線部分は横切らない ・実線部分は横切るかもしれない この斜線部分(Discrepancy

    Region) をなくしたい
  54. Maximum Classifier Discrepancy (MCD) 2. 出来るだけ多くのDiscrepancyをあぶりだす 識別面のみ更新

  55. Maximum Classifier Discrepancy (MCD) 3. Discrepancyが減るように特徴量を学習 特徴量抽出のみ更新

  56. Maximum Classifier Discrepancy (MCD) 収束するまで 2. と 3. を繰り返す

  57. 実験結果 文字データセットでState-of-the-art

  58. 実験結果 画像のセマンティックセグメンテーション

  59. Adversarial Dropout Regularization (ADR) ここまでの手法はドメインを一致させようと しているが… • ドメイン全体の分布を一致させても クラスごとの分布は一致しないのでは •

    ドメインの一致ではなくクラス識別面の一致では [Saito+, ICLR 2018] …あれ、さっき聞いた気がするぞ?
  60. 実はMCDのDropoutによる改良版 この2つの識別器を 直接学習: MCD Dropoutで生成: 提案手法

  61. 学習はMCDと同様

  62. 実験結果 文字データセットでState-of-the-art

  63. 実験結果 画像のセマンティックセグメンテーション

  64. その他の機械学習へのGANの応用 通常のRNNによる系列生成モデル学習では… • 学習時:Teacher forcing – 入力は − 1番目までの 教師データ

    • テスト時:Free running – 入力は − 1番目までで 自身が推定したデータ テスト時の生成系列が学習時から外れだすと エラーが蓄積し続ける(Exposure Bias)
  65. その他の機械学習へのGANの応用 解決策:Professor Forcing [Goyal+, NIPS 2016] Teacher forcingかFree Runningかわからない状態変数 を出すようにRNNを学習

  66. GANによるドメイン適応 まとめ 本講演:Unsupervised domain Adaptation • Source Domain: 教師付きデータ •

    Target Domain: 認識させたいデータだが教師データが全く無い • ドメインのズレを敵対的学習で克服する共通の アプローチ ビデオ ゲーム 実世界