[dl輪読会]unsupervised cross-domain image generation
TRANSCRIPT
輪読2017/3/10
慶應義塾大学 河野 慎
Unsupervised cross-domain image generation▸ Yaniv Taigman, Adam Polyak & Lior Wolf
▸ Facebook AI Research (FAIR)
▸ ICLR2017▸ 7, 6, 7▸ The authors propose a application of GANs to map images to new domains with no
labels. E.g., an MNIST 3 is used to generate a SVHN 3. Ablation analysis is given to help understand the model. The results are (subjectively) impressive and the approach could be used for cross-domain transfer, an important problem. All in all, a strong paper.
書誌情報
教師なし学習で,変換を可能にするGAN▸ 2 つの関連した異なるドメイン S と T を考えた時に,
▸ S→T の変換を可能とする生成関数 G を学習したい▸ その際に,表現関数 f は変更しないようにする▸ 学習データは教師なし
▸ 各ドメインにあるデータで成り立つが,関連付けはされていない▸ Domain Transfer Network (DTN) の提案
▸ 3 種類の項による損失関数▸ MNIST⇄SVHN , Facescrub(CelebA) dataset⇄Emoji
Abstract
ドメイン S ドメイン T
Pix2Pix のアーキテクチャ
DOmain Transfer Network▸ 関数 G について:
▸ 入力関数 f と学習された関数 g で構成されている▸ 複合損失関数について:
▸ 一つめの項( GAN)▸ x∈S や x∈T に関わらず,ターゲットドメインの学習サンプルと見分けがつかないようにする
▸ 二つめの項▸ ソースドメインのすべての x において, ||f(x) - f(G(x))|| が小さくなるようにする
▸ 三つめの項▸ すべての x∈T において, G が恒等写像になるようにする
▸ 今回は視覚的な実験をやっているが, f が NN であるからなんでもできる?▸ e.g. 分類かアイデンティティのキャプチャのためにクロスエントロピー誤差を使う
提案モデル
▸ 人は複数のドメインにあるコンセプトを混ぜることができる▸ 異なるドメイン間で類似点を見つける▸ 一つのドメインから別のドメインに要素を変換する
▸ いくつかの GAN の研究では,同様なことができている▸ 学習データに類似した例を生成▸ 画像の視覚的なスタイルを変換▸ ターゲットドメインにラベルありデータがなくても別のドメインに適応可能な関数
▸ いずれの研究も一般的な類似合成問題?に取り組んでいない▸ ドメイン S と T から分かれているが,ラベルがないサンプル及び知覚関数 f について
▸ G:S→T ただし f(x) ~ f(G(x))▸ という写像を学習する問題
背景〜問題設定
GANに関するサーベイ▸ GAN や DCGAN によって,画像生成(合成)タスクが活発になる
▸ GAN は分布間の等しさを測るツールとして使うことができる [Ganin et al., 2016]▸ DCGAN のネットワーク構造はかなり重要(提案モデルでも応用)
▸ 条件付き GAN▸ 条件に合わせて生成できる▸ D は 2 値分類(本物 / 偽物)ではなく 3 値分類問題をとく [Reed et al., 2016; Brock et al., 2016]
▸ 条件に一致した生成▸ 生成できているが条件に一致していない▸ 全く生成できていない
▸ 提案モデルも 3 値分類問題として扱う(実装上はそんなに気にしなくていいかも?)▸ モデルの中間層から画像を生成してみる
▸ 特徴空間やピクセル空間における損失関数を追加する [Dosvitskiy & Brox 2016]▸ 提案モデルでは,ターゲット領域においてピクセル,ソースドメインにおいては特徴量で損失を計算する
関連研究
Neural style Transferに関する研究▸ 画像の合成 [Gatys et al., 2016, Ulyanov et al., 2016]
▸ 入力画像のコンテンツとスタイルの損失関数を利用▸ 提案モデルではスタイルの損失関数は使っていない
▸ 両方とも教師なし学習で,入力画像の f- 不変性を保ちながら生成する点で一緒▸ あらかじめ決められた知覚的損失関数に頼っていない▸ スタイル変換に使えるがそのためだけではない▸ 先行研究は複製が狙いだが,提案モデルはターゲット空間の分布を考慮している
▸ 顔画像変換において, emoji 変換は顔の別のスタイルなだけと批判されるかも▸ 類似という点において,シャム猫がラブラドールの別のスタイルで書いただけっていうのと似ている
関連研究
そのほかについて▸ コンピュータビジョンの文脈における画像からのスケッチ生成
▸ 多くの系では,画像のエッジや顔の特徴をしっかりと捉えている▸ 一方で,必ず入出力のペアが必要▸ 提案モデルはいらない
▸ 教師なしドメイン適応問題▸ ドメイン S とターゲット空間 Y があって,ラベルなしのドメイン T のデータがあり, h:T→Y の学習▸ サンプル変換問題もドメイン適応を用いることで解決する(逆も然り)▸ サンプル変換→ドメイン適応
▸ f:S→Y を学習した後に, S から T に変換のための入力手法として用いる▸ ドメイン適応→サンプル変換
▸ x∈T から (f(x), x) の訓練例を生成することで, h(T) = {h(x)|x∈T} となる h を学習する?▸ ドメイン適応は f(S) = {f(x)|x∈S} を T に写像するために使えるが, h の学習が難しい
関連研究
ベースラインの問題設定▸ 仮定:
▸ ソース領域 S の分布 DS からサンプリングされた i.i.d のラベルなしデータセット s▸ ターゲット領域 T の分布 DT からサンプリングされた i.i.d のラベルなしデータセット t▸ 領域 S∪T の関数 f▸ 任意の測度 d ,重み α
▸ G : S→T の学習▸ 結合リスクの最小化
提案モデル
ベースラインの問題設定▸ 敵対的リスク
▸ お馴染みの目的関数▸ ターゲット領域のものであるかどうかを D が判定する
▸ f-安定項▸ G のもとで, f が普遍的になるようにする▸ d には MSE やコサイン類似度,ヒンジ損失,トリプレット損失などが適用できる▸ 実験では, MSE を使うことが良いことがわかった
提案モデル
Domain Transfer Network▸ f(x) を G のベースライン表現として扱う
▸ G を合成関数として扱う: G = g ○ f▸ これによって G が RCONST に関係する部分で学習しようとする▸ 多くの応用分野で, f は S のときほど T においても正確ではない?
提案モデル
ここだけであればベースラインと一緒G の中にも追加してあげる
Domain Transfer Network▸ GAN の損失関数を 2 クラス分類問題ではなく, 3 クラス分類問題にする
▸ D1 : G によって s から生成されたもの▸ D2 : G によって T から生成されたもの▸ D3 : T からサンプルされたもの
▸ G の出力がターゲット空間 T にあることを保証する▸ D は 3 クラスを扱い,それゆえに複数の方法で混同しやすいため, GAN の損失関数の役割を 2 つに分ける▸ サンプル x と G(x) は類似させない
提案モデル
Domain Transfer Network▸ G は LGANG以外も使った LG を最小化する
▸ x と G(x) が類似するようにする
▸ x と G(xs) がドメイン S において特徴量 レベルで類似するようにする
▸ G(xt) がドメイン T のサンプルになるようにする▸ G はドメイン T において恒等写像(ドメイン T のみにおけるオートエンコーダとして捉えることも可能)
▸ anisotropic total variation loss: 画像をスムージングするため. z = [zij] = G(x)
提案モデル
数字 : SVHNからMNISTへ▸ SVHN の Extra データセット 531,131個を使用
▸ f の学習と教師なしデータセット s とするため▸ 64→128→256→128(→10) の CNN でまず f を学習させる( Pre-training )▸ DCGAN を参考にした g をさらに組み合わせて学習させる▸ α=β=15, γ=0
▸ 評価 1 : MNIST で学習させた f と同じ構造の NN を使う▸ f の存在が非常に重要▸ 少なくとも LTID, LCONST のどちらかは必要
▸ 評価 2 :ドメイン適応した場合の精度▸ SVHN を MNIST に変換して,元のラベルを利用して近傍法を利用
実験
存在しない数字があった場合の実験▸ ソースドメイン,ターゲットドメインもしくは f の学習時に特定のクラスがない
▸ ターゲットドメインにない<ソースターゲットにない▸ ターゲットドメインにない<両方のドメインにない
▸ ターゲットにない場合,ターゲットにある別の数字に似せようとしてしまう▸ これはあまりよろしくない挙動
実験
顔:写真から Emojiへ▸ 関数 f には DeepFace を利用
▸ 入力画像を 256次元にする▸ 6 ブロック(ストライド 2 の Conv->BN->LeakyReLU )
▸ 関数 g▸ 256次元を 64×64 の RGB にする▸ 5 ブロック( Deconv->BN->ReLU )▸ 各ブロックに 1×1 の Conv を入れる(らしい.計 9 層謎)
▸ LCONST が下がるため▸ α=100,β= 1,γ=0.05▸ 3 エポック▸ 64×64 を高解像度 152×152 にする [Dong et al.,2015]
実験
人間アノテータと比較▸ CelebA から 118個のランダム画像をプロに Emoji にしてもらう
▸ image retrieval タスクにして評価▸ 別に CelebA118個と 100000 のランダム顔画像を使う▸ VGG face CNN descriptor を使う▸ クエリ(人手か G(x) )検索
実験
一人あたりの画像のクオリティ( not 画像 1枚あたり)▸ Facescrub データセットを使う
▸ 各人物 p において,複数の画像 Xp がある▸ G(x) で元画像 x と最も似ているものを選ぶ
実験
個人を特定しない情報の変換▸ 個人を特定する情報以外のものも変換したい
▸ 髪の色や表情など▸ ターゲットドメインにおいて
▸ その次元に様々なデータがあることが大事▸ そうでなければ GAN がその次元を固定するべき
実験
ネットワークの可視化▸ R256 の標準基底ベクトル
▸ つまり one-hot ベクトルを g に入力
実験
スタイル変換▸ スタイル変換をやってもうまくいっていない(画像 c )▸ 一方で DTN はうまくいってる(画像 d )▸ スタイル変換の高速版を使って, s を元画像, t を変換後の画像にして, DTN を使う
実験
議論と制約▸ 今回は不可逆なモデルだった
▸ S->T と T->S を同時に行うことは難しい▸ もし SVHN→MNIST モデルを逆にした場合(顔も)
▸ 後者のドメインでも f が効果的であるように明示的にドメイン適応もできるが,必要がないことがわかっている▸ f の適応は, D の Downstream の応用によって暗黙的に行われる
▸ 教師なしドメイン変換は有能▸ ドメイン適応などで有効性を示した
まとめ