たけたけブログ

日々の活動をまとめています

📜 TGANに関して

f:id:ritorut18:20201104204017j:plain

どんなもの?

タイトル Temporal Generative Adversarial Nets with Singular Value Clipping
年代 2017/8/18
著者 Masaki Saito / Eiichi Matsumoto / Shunta Saito
URL https://arxiv.org/pdf/1611.06624.pdf
被引用数 201

generatorを二種類用意することで既存手法より良い動画を生成することができるGAN
WGANを参考にして学習時の不安定さの改善にも取り組んだ

先行研究と比べて何がすごい?

既存手法では前景と背景を分けて生成していたがそれでは背景が動的に変化した時に対応することができないと指摘した。
また単純に3Dconvを導入しても時間方向の性質は空間方向の性質とは異なるため良い動画を生成できないと考察した。

技術の手法や肝は?

  1. generatorを二つ準備した点
    単純な入力ノイズから一続きのノイズ(latent variables)を生成するgeneratorを挟み、その一続きのノイズから動画を生成することでより良い動画を生成することができた
  2. WGANを参考に学習時の不安定さを改善した点
    WGANを参考にlossを改良しただけでなく、WGANのハイパーパラメータの不安定さの改善にも取り組んだ

どうやって有効だと検証した?

定量評価

movingMNISTというdatasetを使ってGAM scoreを測定し、比較
UCF-101というdatasetを使ってInception Scoreを測定し、比較
いずれの場合も提案手法(TGAN)が良い結果を示した。またWGANの最適化アルゴリズムであるSVCの有用性も確かめられた

定性評価

3Dconvを使ったGAN(3D model)とVGANと提案手法の三つで比較検証を行った。各datasetごとに多少設定を変えて比較をしている。どの比較項目でも提案手法が一番良い動画を生成すると主張している。

議論はある?

提案したSVCというWGANの最適化アルゴリズムは調整が大変なので最善な改善策とは言えないそう

次に読むべき論文は?

  • MoCoGAN

📜 ざっくり翻訳

Abstract

Generatorを工夫した。
最初のgeneratorである、Temporal Generatorは一つのlatent codeを一続きのlatent code(入力ノイズ)に変換する。
次のgeneratorである、Image Generatorは一続きのlatent codeを動画に変換する。
また、GANの学習時の不安定さをWGANを参考にした構造を取り入れることで改善した。

1. Introduction

依然として動画GANは難しい。
既存の研究は前景と背景を分けて生成していたが、欠点が存在する。
それは、動的に背景が変化した時に対応することができない点

動画GANの単純なアプローチとしては3Dconvを使うことにあるが、時間方向の次元の性質は空間方向の次元の性質とは異なっているためうまく動画を生成することができない。

本研究ではgeneratorを二つ準備することで既存手法よりも良い結果を示すことができた。それがTemporal GeneratorとImage Generatorである。 加えてGANの典型的な問題である学習の不安定さに対しても改善を施した。WGANを参考にしたがハイパーパラメータの部分を更に改良することで安定性を向上させた。

2. Related Works

3. Temporal Generative Adversarial Nets

3.1 Generative Adversarial Nets

一般的なGANのloss関数の説明

3.2 Wasserstein GAN

WGANのloss関数の説明

GANの学習は不安定でパラメータの調整が重要になってくる。これを解決するためにWGANが考えられた。
一般的なGANはJSダイバージェンスを最小化するのだが、WGANではEarth Mover’s distance(EMD)という値を最小化することで学習を進める。著者の実験からWGANは一般的なGANよりロバストであり、mode droppingを避ける傾向にあることがわかっている。
WGANの学習で重要な部分に、K-Lipschitz制約というものがある。discriminatorがK-Lipschitz制約を満たす時にWGANのloss関数が以下の形で表される。

本論文ではこのloss関数を参考に用いる。

3.3 Temporal GAN

提案モデルの説明(下図)

前述したようにTGANは二つのgeneratorからなる。最初のTemporal Generatorでは単一のlatent variable($$z_0$$)を使って一続きのlatent variables($$z_{1}^1 $$,...,

$$z_{1}^T$$)を生成する。

その後Image Generatorで一続きのlatent variablesと単一のlatent variableを使って動画(T個のビデオフレーム)を生成する。
$$z_0$$をImage Generatorにも用いることで生成画像の動作の突然変異を抑制することができるそう。
以上より、TGANのloss関数は、以下の形になる。

xt : datasetのt番目のビデオフレーム
z{1}^t : 生成したt番目のビデオフレームに対応する潜在変数
\theta
{D}, \theta{G_0}, \theta{G_1} : discriminatorD, generatorG_0, G_1のパラメータ

3.4 Network configuration

ネットワークの詳細設定

4. Singular Value Clipping

5. Applications

5.1 Frame interpolation

提案手法の有用性として、隣接したframeの中間frameを生成することができる
TGANは生成したい動画の潜在空間での軌跡を生成するので長期間の動画の生成が可能

5.2 Conditional TGAN

datasetの動画はラベル付されることがあるので対応するために条件付きTGANというものも作成した。CGANのように指定されたラベルに合わせた動画を生成することができる。CGANと似た構造をもち、最初の乱数ベクトル$$z$$を、one-hot表現されたベクトル$$u_l$$と$$z_0$$を合わせたベクトルに替える。
discriminatorの場合は、one-hot表現されたベクトルと同次元のベクトルを用意し識別する動画と合わせて入力する。

6. Experiments

6.1 Datasets

datasetsの説明

6.2 Training Configuration

訓練時の設定について

6.3 Comparative methods

比較するモデルについて

  1. 3D model 一番簡単なモデル。
  2. Video GAN

6.4 Qualitative evaluation

定性評価
まず四つのモデルを比較検証した。moving MNISTというdatasetを利用。
提案手法が一番良い動画を生成することができた。
3D modelが一番悪い結果になったが、時間成分と空間成分は分けて考えた方がいいということが結果から考察できる。
またcとdを比較すると、$$z_0$$を導入することでmode collapseが生じ辛くなっている。

次に実用的なdataset(UCF-101)で検証した。
3D modelはアーチファクトが入りやすくなっている。
VGANは理解不可能な動画になっている。
こういった問題は既存手法では背景が動的である時に対応できないということが考察できる。

また中間frameの補間実験や指定した動画の生成実験をしてTGANの有用性を示している。

6.5 Quantitative evaluation

定量評価
moving MNISTでGAMを計測する。
これはモデルを二つ用意して一方のgeneratorで生成した動画をもう一方のdiscriminatorで真偽判断をするというもの。
1より大きい場合はmodelAの生成動画の方が精度が高いと判断する。(1より小さい場合はmodelBの方が良い動画を生成したと判断する)
提案手法と3Dconvを使った標準的なモデルを比較していずれの場合も提案手法の生成動画が良いという結果となった。

次にInception Score(IS)を計測する。
UCF-101を使用していくつかのモデルのISを測定し比較した。
結果から提案手法が一番いい結果となった。またWGANの最適化アルゴリズムであるSVCの有用性も確かめられた。

7. Summary

​​本論文では、1組の潜在変数(latent variable)を生成しそれを画像に変換することで動画の生成プロセスを定義した。

​​この方法を使うことで、高品質な動画を生成でき自然なフレーム補間を実現した。
​​またWGANの最適化アルゴリズムであるSVCを提案した。