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

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

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

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

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

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

Yoshitaka Ushiku
PRO

August 27, 2018
Tweet

More Decks by Yoshitaka Ushiku

Other Decks in Research

Transcript

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

    View Slide

  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.

    View Slide

  3. 車載画像?
    実はGANで生成された画像
    [Wang+, CVPR 2018]

    View Slide

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

    View Slide

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

    View Slide

  6. 教師データの用意は大変
    • 例:画像のセマンティックセグメンテーション
    – Cityscapes [Cordts+, CVPR 2016]
    – マックスプランク+ダイムラー
    – 25000枚の画像を手で色塗り
    • シミュレーション環境での訓練
    – ビデオゲームの利用 [Richter+, ECCV 2016]
    – 色塗りを自動で処理できる
    – 見た目にはかなり写実的
    • 有望に見えるけど…
    ビデオゲームで訓練しても実世界は
    まったく認識できない!(後述)

    View Slide

  7. 講演内容2:GANによるドメイン適応
    • 教師データ収集が困難→ドメイン適応を検討
    – Source Domain:
    教師データが大量に収集可能だが本来認識させたいデー
    タではない
    – Target Domain:
    認識させたいデータだが教師データの収集が困難
    • GANは○○生成の為だけにあるものではない
    – GAN(敵対的学習を含む)のコンテンツ生成以外の応用例
    – 主にドメイン適応が題材
    実世界の画像 +ドメイン適応
    ラベル
    推定
    ビデオゲームで学習
    ビデオゲームで学習

    View Slide

  8. GANによる動画生成

    View Slide

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

    View Slide

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

    View Slide

  11. 予測結果がぼやけないために
    • 正解画像と生成画像での画素値の差
    – これだけだと生成画像がぼやける原因になる
    – L2でもL1でもぼやけるのは同じ
    • Gradient Difference Loss (GDL)
    – Gradient は画像の画素の勾配を指している
    – 勾配を正解/生成画像間で比較
    – 他の損失関数と併用可能
    正解画像のGradient 生成画像のGradient

    View Slide

  12. 予測結果がぼやけないために
    • Adversarial Loss
    Discriminator
    生成されたか正解画像からサンプリングされたか
    • 最終的な損失関数
    – 画素値の差
    – Gradient Difference Loss
    – Adversarial Loss
    の線形和

    View Slide

  13. Ablation Study
    GDL Adversarial
    L1 L2
    提案手法

    View Slide

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

    View Slide

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

    View Slide

  16. マスクを用いた動画生成モデル
    前景と背景を別々に推定
    • 背景は静止画像
    • 前景とその位置を示す
    マスクを背景と融合
    Discriminator はリアル/生成動画を識別
    • Generatorとともに3D CNNを利用

    View Slide

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

    View Slide

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

    View Slide

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

    View Slide

  20. Temporal GAN (TGAN)
    [Saito+, ICCV 2017]
    VGANが奇妙な動きの動画を生成してしまうのは…
    • 「3D CNNを用いているせい」
    • 「画像の2次元空間と時間の1次元空間は性質が異なる」
    Temporal GAN (TGAN) の提案
    1. 潜在変数0
    をサンプリング
    2. 時系列方向の潜在変数1
    1 … 1
    を生成
    3. 各潜在変数から各時刻のフレームを生成

    View Slide

  21. Singular Value Clipping (SVC)
    • TGANではベースにWGANを採用
    – WGANはDiscriminatorにリプシッツ連続性を
    仮定している
    K-リプシッツ連続性:任意の2点間の差がK以下
    – 重み行列の特異値がすべて1以下であれば
    1-リプシッツ連続性が成立
    • SVC:重み行列の特異値を用いたリプシッツ
    連続性の保証
    1. 毎回重み行列の更新後に特異値分解
    2. 1より大きい特異値を1に変更
    3. 変更された特異値で重み行列を再現

    View Slide

  22. 生成された動画の例

    View Slide

  23. Flow and Texture GAN (FTGAN)
    • VGANでは人間がゴーストのように動く
    – 動画の動き(Flow)とその見た目(Texture)を一緒に
    生成する→複雑な生成モデルが要求される
    • Flow and Texture GAN (FTGAN)
    – 動き(Flow)とその見た目(Texture)を分離して生成
    – 動きに特化したGANによってゴーストを解消
    [Ohnishi+, AAAI 2017]

    View Slide

  24. Flow GAN+Texture GANによる階層的動画生成
    • Flow GAN:VGANと同様
    – ただしBackgroundは不要
    • Texture GAN:U-Net[Ronneberger+, 2015]
    の利用
    – Flowの輪郭を維持する効果を期待
    – VGAN同様にマスク+背景も生成して統合

    View Slide

  25. 評価方法:動画特徴の教師なし学習
    他の動画生成モデルの動画特徴と分離性能を比較
    • VGANやTGANを上回る精度
    • Two streamの教師あり動画分類とも比較:精度差が減少

    View Slide

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

    View Slide

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

    View Slide

  28. Motion and Content decomposed GAN (MoCoGAN)
    TGANに近い思想のGenerator+2種のDiscriminator
    • Motionの乱数 1 … を生成―RNN→潜在変数
    • Contentの潜在変数
    と合わせて各フレームを生成
    • 共著者の一部は先の静止画生成GANでも共著者
    [Tulyakov+, CVPR 2018]

    View Slide

  29. 実験結果:表情と太極拳での主観評価
    • 両データセットでVGANやTGANを上回る
    • 表情データセットでの動画生成例
    太極拳データセットでの例は次のページで掲載

    View Slide

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

    View Slide

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

    View Slide

  32. GANによるドメイン適応

    View Slide

  33. ドメイン適応
    本講演:Unsupervised domain Adaptation
    • Source Domain:
    教師付きデータ
    • Target Domain:
    認識させたいデータだが教師データが全く無い
    • Target Domainの一部に教師データがある場合…
    半教師付き学習との組合せ
    ビデオ
    ゲーム
    実世界

    View Slide

  34. 共通するアプローチ
    • ドメインのズレを敵対的学習で克服する
    – 商品の背景
    – 構図のバリエーション
    – 照明条件
    – …
    • 物体は識別できるけど
    • どちらのドメインの画像かはわからない
    ような特徴量を抽出できればよい

    View Slide

  35. Deep Domain Confusion (DDC)
    • Sourceドメインの識別エラーを最小化
    • ドメイン間の分布の重なりを最大化
    [Tzeng+, arXiv 2014]

    View Slide

  36. DDCのネットワークアーキテクチャ
    • Classification LossとDomain Lossの最適化
    • Domain Loss:
    – Maximum Mean Discrepancy (MMD)
    – Classification Lossとの重みづけ
    和を最適化
    Source の
    特徴量平均
    Target の
    特徴量平均

    View Slide

  37. Office データセットによる実験
    • 共通する商品かつ撮影条件の
    異なる3つのドメイン
    • 提案手法:
    Domain Confusionにより性能が大幅に向上

    View Slide

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

    View Slide

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

    View Slide

  40. Deep Adaptation Networks (DAN)
    • Multiple Kernel MMD (ML-MMD)によって
    ドメイン間の分布を重ねる
    • DDCに比べて
    – 複数のレイヤー
    で分布を重ねる
    – 線形の距離→
    Multiple Kernelの利用
    • Officeデータセット上でDDCを超える性能
    [Long+, ICML 2015]

    View Slide

  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]

    View Slide

  42. DANNネットワークアーキテクチャ
    • ドメインに依らない特徴量を抽出したい
    • クラス識別をしたい
    • ドメイン識別をしたい

    View Slide

  43. 敵対的学習とその
    • ドメイン識別ロス
    をめぐる敵対的学習
    – ドメイン識別をしたい

    を最小化したい
    – ドメインに依らない特徴量を抽出したい

    を最大化したい
    • 問題点:
    の勾配に対して

    は勾配降下したい一方で
    は勾配上昇したい


    の接続関係から勾配を逆向きに進めない

    View Slide

  44. Gradient Reversal Layerの導入
    陽な関数の形では書けないけど、とにかく
    • 順伝搬の時は何もせず
    • 逆伝搬の時は勾配の符号を反転する
    レイヤーを導入する
    続く2モジュールで同時に降下/上昇できる

    View Slide

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

    View Slide

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

    View Slide

  47. DANNに対する問題意識
    • 共通のネットワークで
    2つのドメインから特徴
    抽出するのは
    ✓パラメータ数を削減できるのが良い
    ×異なるドメインの特徴量抽出を同時にやるのは
    無理がある
    • Gradient Reversal Layerは
    ✓GANの目的関数に忠実ではある
    ×学習初期に勾配を消失させることで
    Discriminatorの更新がとまりやすい

    View Slide

  48. ADDAでは
    • それぞれのドメインで異なるCNNにより特
    徴量を抽出
    Source ドメインのCNNはPre-trainingしておく
    • Gradient ReversalではなくGANで一般的な
    inverted labelに対する損失を用いる

    :Target 特徴量 : ドメイン識別)

    View Slide

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

    View Slide

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

    View Slide

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

    View Slide

  52. Maximum Classifier Discrepancy (MCD)
    0. Source(点線)とTarget(実線)で2クラス識別

    View Slide

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

    View Slide

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

    View Slide

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

    View Slide

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

    View Slide

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

    View Slide

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

    View Slide

  59. Adversarial Dropout Regularization (ADR)
    ここまでの手法はドメインを一致させようと
    しているが…
    • ドメイン全体の分布を一致させても
    クラスごとの分布は一致しないのでは
    • ドメインの一致ではなくクラス識別面の一致では
    [Saito+, ICLR 2018]
    …あれ、さっき聞いた気がするぞ?

    View Slide

  60. 実はMCDのDropoutによる改良版
    この2つの識別器を
    直接学習: MCD
    Dropoutで生成: 提案手法

    View Slide

  61. 学習はMCDと同様

    View Slide

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

    View Slide

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

    View Slide

  64. その他の機械学習へのGANの応用
    通常のRNNによる系列生成モデル学習では…
    • 学習時:Teacher forcing
    – 入力は − 1番目までの
    教師データ
    • テスト時:Free running
    – 入力は − 1番目までで
    自身が推定したデータ
    テスト時の生成系列が学習時から外れだすと
    エラーが蓄積し続ける(Exposure Bias)

    View Slide

  65. その他の機械学習へのGANの応用
    解決策:Professor Forcing [Goyal+, NIPS 2016]
    Teacher forcingかFree Runningかわからない状態変数
    を出すようにRNNを学習

    View Slide

  66. GANによるドメイン適応 まとめ
    本講演:Unsupervised domain Adaptation
    • Source Domain:
    教師付きデータ
    • Target Domain:
    認識させたいデータだが教師データが全く無い
    • ドメインのズレを敵対的学習で克服する共通の
    アプローチ
    ビデオ
    ゲーム
    実世界

    View Slide