>100 Views
March 10, 17
スライド概要
2017/3/10
Deep Learning JP:
http://deeplearning.jp/seminar-2/
DL輪読会資料
輪読 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.
Abstract 教師なし学習で,変換を可能にするGAN ▸ 2つの関連した異なるドメインSとTを考えた時に, ▸ S→Tの変換を可能とする生成関数Gを学習したい ▸ その際に,表現関数fは変更しないようにする ▸ 学習データは教師なし ▸ 各ドメインにあるデータで成り立つが,関連付けはされていない ▸ Domain Transfer Network (DTN)の提案 ドメインS ドメインT ▸ 3種類の項による損失関数 ▸ MNIST⇄SVHN,Facescrub(CelebA) dataset⇄Emoji 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がその次元を固定するべき
実験 ネットワークの可視化 256 ▸ R の標準基底ベクトル ▸ つまりone-hotベクトルをgに入力
実験 スタイル変換 ▸ スタイル変換をやってもうまくいっていない(画像c) ▸ 一方でDTNはうまくいってる(画像d) ▸ スタイル変換の高速版を使って,sを元画像,tを変換後の画像にして,DTNを使 う
まとめ 議論と制約 ▸ 今回は不可逆なモデルだった ▸ S->TとT->Sを同時に行うことは難しい ▸ もしSVHN→MNISTモデルを逆にした場合(顔も) ▸ 後者のドメインでもfが効果的であるように明示的に ドメイン適応もできるが,必要がないことがわかっている ▸ fの適応は,DのDownstreamの応用によって 暗黙的に行われる ▸ 教師なしドメイン変換は有能 ▸ ドメイン適応などで有効性を示した