342 Views
March 15, 19
スライド概要
2019/03/15
Deep Learning JP:
http://deeplearning.jp/seminar-2/
DL輪読会資料
DEEP LEARNING JP [DL Seminar] High-Fidelity Image Generation with Fewer Labels Hiromi Nakagawa, Matsuo Lab https://deeplearning.jp
書誌情報 • タイトル – High-Fidelity Image Generation with Fewer Labels • 著者 – Mario Lucic, Michael Tschannen, Marvin Ritter, Xiaohua Zhai, Olivier Bachem, Sylvain Gelly – Google Brain • 投稿 – 2019/03/06 @ arXiv • 概要 – Semi-supervised/Self-supervised Learningを活用したconditional-GANの機構を整理・導入 – BigGANの10~20%程度の少ラベルデータでも同等以上の精度で画像を生成できる手法を提案 2
Agenda 1. Introduction 2. Related Work 3. Proposed Method 4. Experiments 5. Conclusion 3
1. Introduction GANを用いたHigh-Fidelityな画像生成の発展 GANを用いたHigh-Fidelity(高精細)な画像生成は、近年の様々な工夫により発展してきた • 大規模モデルの利用 – BigGAN [Brock+ ICLR‘19] – SPN(自己回帰モデル) [Menick+ ICLR’19] • アーキテクチャの改良 – SAGAN [Zhang+ CVPR’18] – Self Modulation [Chen+ ICLR'19] – StyleGAN [Karras+ 18.12] • 正則化 – SNGAN [Miyato+ ICLR'18] 4
1. Introduction ラベルデータと画像生成の質 • 既存のHigh-Fidelityな画像の生成には、大量のラベルあり(Labeled)データが必要 – 例:BigGAN – ラベルの持つ情報が高品質な画像の生成を助けている • しかし、実際にはラベルのない(Unlabeled)データのほうが多い – ラベルづけはコストが高い上に、ミスもある • 本研究ではSemi-supervised & Self-supervised Learningを活用し、 少ラベルでもSoTAのモデルを上回る画像を生成できる手法を提案 – 貢献1:自然画像生成のタスクにおいて、必要なラベルの量を削減する多様な手法を調査・提案 – 貢献2:Un/Semi-supervisedな画像生成でSoTA(10%でBigGANと同じ、20%で上回る) – 貢献3:コード公開( https://github.com/google/compare_gan ) 5
Agenda 1. Introduction 2. Related Work 3. Proposed Method 4. Experiments 5. Conclusion 6
2. Related Work High-Fidelity GANs on ImageNet BigGAN • Large Scale GAN Training for High Fidelity Natural Image Synthesis [Brock+ ICLR’19] • SAGAN [Zhang+ ICLR’18]をベースにしたスケーラブルなアーキテクチャ x 大規模計算資源(TPU v3 x 128+ core) • – バッチサイズやチャネルを大きくする→入力の多様性が増えてmode collapseしにくい&学習の(現実的な)速度も速い – PGGANのように逐次的に解像度を上げる必要もなく、直接512x512を生成可能 様々な性能向上の工夫 – Shared Embedding – Hierarchical Latent Spaces – Truncated Trick – Orthogonal Regularization • Gはconditional Batch Norm [De Vries+ NIPS’17]でラベルの条件付け • DはProjection Discriminator [Miyato+ ICLR’18]でラベルの条件付け 2018/10/05 西村さんの発表 [DL輪読会]Large Scale GAN Training for High Fidelity Natural Image Synthesis 7
2. Related Work High-Fidelity GANs on ImageNet Conditional Batch Norm • Modulating early visual processing by language [De Vries+ NIPS’17] • 元はVisual Question Answeringの文脈で提案 • 任意のモデルの出力をベースにBatch Normを行う 8
2. Related Work High-Fidelity GANs on ImageNet Projection Discriminator • cGANs with Projection Discriminator [Miyato+ ICLR’18] • cGANとして従来用いられてきたのはACGAN [Odena+ ICML’17] – DはReal/Fakeの識別と画像のクラス分類の2つのロスを最適化→多クラスでの学習が困難 • クラス条件ベクトルyを線形写像→Dの出力(φ)と内積を取り、Dの出力を変換(ψ)したものと足し合わせ • 以下2つを1つのAdversarial Lossで定義可能 – Dの入力画像のReal/Fake – Dの入力画像のクラス情報に基づくReal/Fake • ACGANから大きく精度改善 • SAGANやBigGANのDのベース 9
2. Related Work Self-supervised Learning • 教師なし特徴表現学習 – 目的タスク(target task)に有効なデータの特徴表現を、 ラベルフリーな疑似タスク(pretext task)を事前に解くことで獲得 • Self-Supervised Learning – 中でも、自動で生成できる教師信号を用いてpretext taskを定義するもの • 代表的なPretext taskの例 識別系 再構成系 その他 生成モデル系 • Context Prediction • Context Encoder • Counting ※基本的にSelf-supervised Learning と言われない • Jigsaw • Colorization • Noise as Target • VAE系 • Jigsaw++ • Split-Brain • Instance • GAN系 • Rotation • Spot Artifact Source: Self-supervised Learning による特徴表現学習 | cvpaper.challenge Discrimination 10
2. Related Work Self-supervised Learning • 識別系:教師なしデータxに対応する、自動で得られるカテゴリtを定義して教師ありの識別を学習 Context Prediction [Doersch+ ICCV'15] Jigsaw [Noroozi+ ECCV’16] 画像を3x3に分割して2つのパッチの相対位置を8クラス分類 パッチをランダムな順に入力し、正しい順列をクラス識別 Rotation [Gidaris+ ICLR'18] Jigsaw++ [Noroozi + CVPR’18] 画像の回転推定(SoTA & 実装が簡単) 一部のパッチを他の画像のパッチに置き換える Source: Self-supervised Learning による特徴表現学習 | cvpaper.challenge 11
2. Related Work
Self-supervised Learning
•
再構成系:x={x1,x2}の一部を観測できている状態でxまたはx2を推定
Context Encoder [Pathak+ CVPR'16]
Colorization [Zhang+ ECCV’16]
欠損画像の補完を回帰で学習
グレースケール画像(L)の色付け(ab)(量子化したab空間の識別)
Split-Brain [Zhang+ CVPR’17]
Spot Artifact [Wu + CVPR’18]
ネットワークをチャネル方向に2分割し、L⇔abのアンサンブル
特徴マップ上で欠損させた画像の補完
Source: Self-supervised Learning による特徴表現学習 | cvpaper.challenge
12
2. Related Work Self-supervised Learning • その他 Counting [Noroozi+ ICCV’17] Noise as Target [Bojanowski+ ICML’17] Instance Discrimination [Wu+ CVPR'18] 分割画像と元画像を同じCNNに入力し、 元画像の出力特徴=全分割画像の出力特徴の和 となるような制約をかける 一様にサンプリングしたtarget vectorsに 各画像からの出力を1v1に対応させ、近づける (特徴ベクトルを特徴空間上に一様に分散) 各画像インスタンスを1つのクラスとして識別、 各画像の特徴ベクトルが超球上に まばらに散るような埋め込みになる Source: Self-supervised Learning による特徴表現学習 | cvpaper.challenge 13
2. Related Work Self-supervised Learning • 最新動向:データ構造に依存しない手法の成功 Deep Cluster [Caron+ ECCV’18] CNNの中間特徴を元にk-meansクラスタリング →クラスタを擬似ラベルとして識別問題を学習 Deep INFORMAX [Devon Hjelm++ ICLR’19] 入力xと特徴ベクトルzの相互情報量を 最大化するように学習 (x, z)のペアのpos-neg識別をするDをつけて end-to-endに学習するだけでI(x;z)の下限を最大化 Source: Self-supervised Learning による特徴表現学習 | cvpaper.challenge CPC [Oord+ 18.07] 系列情報においてある時点での特徴ベクトルc_t と先の入力x_t+1の相互情報量を最大化 DがN個のペアから1つのpositiveペアを識別する Nクラス分類問題を解くことでIの下限を最大化 14
2. Related Work Self-supervised Learning • • Self-Supervised Generative Adversarial Networks [Chen+ CVPR'19] – NN→破滅的忘却、GANでも、Gの生成分布が動的に変化していくため、Dが学習初期の識別境界を忘れて学習が不安定になる – ラベルがある場合はラベルの条件付けである程度回避できるが、ラベルがないときでもSelf-supervisedに解決したい – Dは画像の回転の判定を真データのみから学習することで安定化 – Self-supervised LearningをDの学習に反映させた点で、本研究のベース(同じグループ) Revisiting Self-Supervised Visual Representation Learning [Kolesnikov+ CVPR'19] – タスクだけでなく、CNNのアーキテクチャも考慮しながら、 Self-supervised Learningの多様な手法を検証 – 教師ありの相対的な精度に完全に比例するわけではない – 特に、Self-Supervised LearningではSkip-Connectionがあることが重要 – アーキテクチャによってタスクの相性の善し悪しがある – CNNのフィルタを増やすことに依る表現の質の向上の幅が、教師ありよりも大きい 15
Agenda 1. Introduction 2. Related Work 3. Proposed Method 4. Experiments 5. Conclusion 16
3. Proposed Method Incorporating the labels • cGANにおけるラベルの意味合い – Supervised Learning:人のラベル付けをDの学習に使う – Self-Supervised Learning:自分で推論したラベルをDの学習に使う • DにはProjection Discriminatorでラベル情報を渡す ෩ 𝑥 + 𝑃(𝐷 ෩ 𝑥 , 𝑦) と表す( 𝑃 は線形写像) – Dを表現学習を行う ෩ 𝐷 と線形分類器の 𝑐𝑟/𝑓 に分解し、𝐷(𝑥, 𝑦) = 𝑐𝑟/𝑓 (𝐷 • Gにはclass-conditional Batch Norm [Dumoulin+ ICLR’17, De Vries+ NIPS’17] でラベル情報を渡す 本研究では、3つのアプローチを検証 Projection Discriminatorを用いた基本的なcGANの構造 • Pre-trained approaches • Co-training approaches • Self-supervision during GAN training 17
3. Proposed Method Pre-trained approaches • Unsupervised clustering-based method(CLUSTERING) – 特徴抽出器 𝐹 を教師なし表現学習でSoTAの画像の回転を予測するタスクでSelf-Supervisedに学習 • [Gidaris+ ICLR'18] Unsupervised Representation Learning by Predicting Image Rotations • [Kolesnikov+ CVPR'19] Revisiting Self-Supervised Visual Representation Learning – 学習した表現をk-Meansでクラスタリング(𝑐𝐶𝐿 )し、得られたラベルを疑似ラベルとしてGANを訓練 – つまり、 𝑦ො𝐶𝐿 = 𝑐𝐶𝐿 (𝐹(𝑥)) をラベルとしてGANを訓練 CLUSTERING • Semi-supervised method(S2GAN) – 表現学習時に少量のラベル識別器(𝑐𝑆 2𝐿 )を入れてそのロスも最適化 – GANの学習時は特徴抽出器 𝐹 と 𝑐𝐶𝐿 だけがCLUSTERINGと異なる 18
3. Proposed Method Co-training approaches • ラベルの情報をGANの訓練と同時に学習する • Unsupervised method(SINGEL LABEL / RANDOM LABEL) – ラベル情報を除去 – SINGLE LABEL:全サンプルに同じクラスラベルを付与し、Projection Layerを除去 – RANDOM LABEL:ラベルなし実画像にランダムにラベルを付与 • 学習可能かつ 𝑧 以外のrandomnessを加えられるからGの学習に良いらしい • fakeデータに対するラベル付けもDの学習に良いらしい S2GAN-CO • Semi-supervised method(S2GAN-CO) – ෩ 𝐷 の特徴表現から少ラベルの分類を行う線形分類器 𝑐𝐶𝑇 を導入 – GANと同時に学習 19
3. Proposed Method Self-Supervision during GAN training • Pre-training / Co-training approachesでは、 𝐹 の良い表現を得るためにSelf-/Semi-Supervised Learningを用いた • Discriminator自体も分類器→補助タスクが役に立つはず • 同様に回転を予測するタスクでGANの学習時もDをSelf-Supervision – [Chen+ CVPR‘19] Self-Supervised GANs で学習が安定化することが実証されている – 学習が進むに連れてGの生成分布が動的に変わる場合に、Dが学習初期の識別境界を忘却しないように働く 20
Agenda 1. Introduction 2. Related Work 3. Proposed Method 4. Experiments 5. Conclusion 21
4. Experiments Experimental Settings • アーキテクチャ&ハイパラ – 基本的にはBigGAN [Brock+ ICLR’19] と同じ – Orthogonal InitializationとTruncation Trickは使わない – 128x128x3にリサイズした画像をバッチサイズ2048で学習(TPU v3 x 128 core) • データセット – ImageNet(#class=1K, #training=1.3M, #test=50K) • 評価指標 – FID(Fréchet Inception Distance):低いほどよい – IS(Inception Score):高いほどよい 22
4. Experiments Experimental Settings • 比較手法 23
4. Experiments Experimental Settings • 比較手法 BigGAN(再現実装) FID 8.4 IS 75.0 Baseline (Supervised) cf. BigGAN (19/02/25) Unsupervised FID 7.5 IS 166.5 Semi-Supervised Self-Supervised 24
4. Experiments Results: Unsupervised Approaches • BigGANと比べると、完全な教師なしは分が悪い • が、既存の教師なしのSoTA(FID=33)よりは良い – [Chen+ CVPR’19] Self-Supervised GANs SS:Self-supervisionをGANの訓練中に行ったもの BigGAN FID 8.4 IS 75.0 25
4. Experiments Results: Semi-supervised Approaches • 20%のラベルを使うと、BigGANに匹敵する精度 • 同時学習(*-CO)は事前学習より精度は悪いが、 同数のラベルを使うBigGAN-k%より学習は安定 BigGAN FID 8.4 IS 75.0 • 少量のラベルでも、完全な教師なしより大幅に改善 – 2.5%でもFID=13.6, IS=46.3となった 26
4. Experiments Results: Self-supervision during GAN training • GANの訓練中もDにSelf-Supervisionの補助タスクを与えたもの • 10%でBigGANに匹敵、20%でBigGANを越えSoTAを達成 27
4. Experiments Results: • 少ラベルでも高画質な画像を生成可能 S3GAN(ラベル10%, 256x256):潜在空間でinterpolation 28
4. Experiments Results: • 少ラベルでも高画質な画像を生成可能 S3GAN(ラベル10%, 256x256):1つのクラスから多様な画像を生成 29
Agenda 1. Introduction 2. Related Work 3. Proposed Method 4. Experiments 5. Conclusion 30
5. Conclusion • 画像生成におけるSoTAのGANモデル(BigGAN)において、 必要なラベルデータの数を削減する方法を多面的に検討し実証 • 近年発展が進むSemi-supervised / Self-Supervised Learningを活用することでSoTAを達成 • Future Work – より大きく多様なデータセットにも適用できるかの検証 – 他のSemi-supervised / Self-Supervised Learningの手法の検証 – 他の深層生成モデルでの検証 31
おまけ • • Hierarchical Autoregressive Image Models with Auxiliary Decoders [De Fauw+ 19.03] – 同日2019/03/06にarXivに投稿された、自己回帰モデルベースの画像生成の論文 – Jeffrey De Fauw, Sander Dieleman, Karen Simonyan(DeepMind) GANベースと比べた自己回帰モデルベースの手法の特徴 – – • • localなtextureやdetailを捉えるのに優れている • GANのようにMode Collapseに陥らない Cons:structureやlarge-scale coherenceが苦手 • アーキテクチャレベルの帰納バイアスの問題 • 尤度最大化により生じる問題 既存の解決策:局所的な情報を取り除く – • Pros: Glow [Kingma+ NIPS’18], SPN + Multidimensional Upscaling [Menick+ ICLR’19] 提案手法:Auxiliary Decoderで入力表現を学習し、それをAR priorに適用する2stage型 32
参考文献 • 論文 [Bojanowski+ ICML'17] Unsupervised Learning by Predicting Noise [Brock+ ICLR’19] Large Scale GAN Training for High Fidelity Natural Image Synthesis [Caron+ ECCV’18] Deep Clustering for Unsupervised Learning of Visual Features [Chen+ ICLR'19] On Self Modulation for Generative Adversarial Networks [Chen+ CVPR'19] Self-Supervised Generative Adversarial Networks [Devon Hjelm+ ICLR’19] Learning deep representations by mutual information estimation and maximization [De Vries+ NIPS'17] Modulating early visual processing by language [Doersch+ ICCV’15] Unsupervised Visual Representation Learning by Context Prediction [Gidaris+ ICLR'18] Unsupervised Representation Learning by Predicting Image Rotations [Kolesnikov+ CVPR'19] Revisiting Self-Supervised Visual Representation Learning [Noroozi+ ECCV'16] Unsupervised Learning of Visual Representations by Solving Jigsaw Puzzles [Noroozi+ ICCV'17] Representation Learning by Learning to Count [Noroozi+ CVPR’18] Boosting Self-Supervised Learning viaKnowledge Transfer [Miyato+ ICLR'18] cGANs with Projection Discriminator [Mundhenk+ CVPR'18] Improvements to context based self-supervised learning [Oord+ 18.07] Representation Learning with Contrastive Predictive Coding [Pathak+ CVPR’16] Context encoders: Feature learning by inpainting [Wu+ CVPR’18] Self-Supervised Feature Learning by Learning to Spot Artifacts [Wu+ CVPR'18] Unsupervised Feature Learning via Non-Parametric Instance Discrimination [Zhang+ ECCV’16] Colorful Image Colorization [Zhang+ CVPR'17] Split-brain Autoencoders: Unsupervised Learning by Cross-channel Prediction [Zhang+ CVPR’18] Self-Attention Generative Adversarial Networks • 記事 [DL輪読会]Large Scale GAN Training for High Fidelity Natural Image Synthesis Self-supervised Learning による特徴表現学習 | cvpaper.challenge 33