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
書誌情報
1. Introduction
2. Related Work
3. Proposed Method
4. Experiments
5. Conclusion
3
Agenda
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
GANを用いたHigh-Fidelityな画像生成の発展
• 既存の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
1. Introduction
ラベルデータと画像生成の質
1. Introduction
2. Related Work
3. Proposed Method
4. Experiments
5. Conclusion
6
Agenda
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]でラベルの条件付け
7
2. Related Work
High-Fidelity GANs on ImageNet
2018/10/05 西村さんの発表
[DL輪読会]Large Scale GANTraining for High Fidelity Natural Image Synthesis
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
High-Fidelity GANs on ImageNet
• 教師なし特徴表現学習
– 目的タスク(target task)に有効なデータの特徴表現を、
ラベルフリーな疑似タスク(pretext task)を事前に解くことで獲得
• Self-Supervised Learning
– 中でも、自動で生成できる教師信号を用いてpretext taskを定義するもの
• 代表的なPretext taskの例
10
2. Related Work
Self-supervised Learning
Source: Self-supervised Learning による特徴表現学習 | cvpaper.challenge
• Context Prediction
• Jigsaw
• Jigsaw++
• Rotation
• Context Encoder
• Colorization
• Split-Brain
• SpotArtifact
• Counting
• Noise asTarget
• Instance
Discrimination
• VAE系
• GAN系
識別系
※基本的にSelf-supervised Learning
と言われない
再構成系 その他 生成モデル系
• 識別系:教師なしデータxに対応する、自動で得られるカテゴリtを定義して教師ありの識別を学習
11
2. Related Work
Self-supervised Learning
Source: Self-supervised Learning による特徴表現学習 | cvpaper.challenge
Context Prediction [Doersch+ ICCV'15]
画像を3x3に分割して2つのパッチの相対位置を8クラス分類
Rotation [Gidaris+ ICLR'18]
画像の回転推定(SoTA & 実装が簡単)
Jigsaw [Noroozi+ ECCV’16]
パッチをランダムな順に入力し、正しい順列をクラス識別
Jigsaw++ [Noroozi + CVPR’18]
一部のパッチを他の画像のパッチに置き換える
• 再構成系:x={x1,x2}の一部を観測できている状態でxまたはx2を推定
12
2. Related Work
Self-supervised Learning
Source: Self-supervised Learning による特徴表現学習 | cvpaper.challenge
Context Encoder [Pathak+CVPR'16]
欠損画像の補完を回帰で学習
Split-Brain [Zhang+CVPR’17]
ネットワークをチャネル方向に2分割し、L⇔abのアンサンブル
Colorization [Zhang+ ECCV’16]
グレースケール画像(L)の色付け(ab)(量子化したab空間の識別)
SpotArtifact [Wu + CVPR’18]
特徴マップ上で欠損させた画像の補完
• その他
13
2. Related Work
Self-supervised Learning
Source: Self-supervised Learning による特徴表現学習 | cvpaper.challenge
Counting [Noroozi+ ICCV’17]
分割画像と元画像を同じCNNに入力し、
元画像の出力特徴=全分割画像の出力特徴の和
となるような制約をかける
Instance Discrimination [Wu+ CVPR'18]
各画像インスタンスを1つのクラスとして識別、
各画像の特徴ベクトルが超球上に
まばらに散るような埋め込みになる
Noise asTarget [Bojanowski+ ICML’17]
一様にサンプリングしたtarget vectorsに
各画像からの出力を1v1に対応させ、近づける
(特徴ベクトルを特徴空間上に一様に分散)
• 最新動向:データ構造に依存しない手法の成功
14
2. Related Work
Self-supervised Learning
Source: Self-supervised Learning による特徴表現学習 | cvpaper.challenge
Deep Cluster [Caron+ ECCV’18]
CNNの中間特徴を元にk-meansクラスタリング
→クラスタを擬似ラベルとして識別問題を学習
CPC [Oord+ 18.07]
系列情報においてある時点での特徴ベクトルc_t
と先の入力x_t+1の相互情報量を最大化
DがN個のペアから1つのpositiveペアを識別する
Nクラス分類問題を解くことでIの下限を最大化
Deep INFORMAX [Devon Hjelm++ ICLR’19]
入力xと特徴ベクトルzの相互情報量を
最大化するように学習
(x, z)のペアのpos-neg識別をするDをつけて
end-to-endに学習するだけでI(x;z)の下限を最大化
• 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
2. Related Work
Self-supervised Learning
1. Introduction
2. Related Work
3. Proposed Method
4. Experiments
5. Conclusion
16
Agenda
• cGANにおけるラベルの意味合い
– Supervised Learning:人のラベル付けをDの学習に使う
– Self-Supervised Learning:自分で推論したラベルをDの学習に使う
• DにはProjection Discriminatorでラベル情報を渡す
– Dを表現学習を行う 𝐷 と線形分類器の 𝑐 𝑟/𝑓に分解し、𝐷(𝑥, 𝑦) = 𝑐 𝑟/𝑓( 𝐷 𝑥 + 𝑃( 𝐷 𝑥 , 𝑦) と表す( 𝑃 は線形写像)
• Gにはclass-conditional Batch Norm [Dumoulin+ ICLR’17, De Vries+ NIPS’17] でラベル情報を渡す
17
3. Proposed Method
Incorporating the labels
Projection Discriminatorを用いた基本的なcGANの構造
本研究では、3つのアプローチを検証
• Pre-trained approaches
• Co-training approaches
• Self-supervision during GAN training
• 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を訓練
• Semi-supervised method(S2GAN)
– 表現学習時に少量のラベル識別器(𝑐𝑆2
𝐿)を入れてそのロスも最適化
– GANの学習時は特徴抽出器 𝐹 と 𝑐 𝐶𝐿 だけがCLUSTERINGと異なる
18
3. Proposed Method
Pre-trained approaches
CLUSTERING
• ラベルの情報をGANの訓練と同時に学習する
• Unsupervised method(SINGEL LABEL / RANDOM LABEL)
– ラベル情報を除去
– SINGLE LABEL:全サンプルに同じクラスラベルを付与し、Projection Layerを除去
– RANDOM LABEL:ラベルなし実画像にランダムにラベルを付与
• 学習可能かつ 𝑧 以外のrandomnessを加えられるからGの学習に良いらしい
• fakeデータに対するラベル付けもDの学習に良いらしい
• Semi-supervised method(S2GAN-CO)
– 𝐷 の特徴表現から少ラベルの分類を行う線形分類器 𝑐 𝐶𝑇を導入
– GANと同時に学習
19
3. Proposed Method
Co-training approaches
S2GAN-CO
• Pre-training / Co-training approachesでは、 𝐹 の良い表現を得るためにSelf-/Semi-Supervised
Learningを用いた
• Discriminator自体も分類器→補助タスクが役に立つはず
• 同様に回転を予測するタスクでGANの学習時もDをSelf-Supervision
– [Chen+ CVPR‘19] Self-Supervised GANs で学習が安定化することが実証されている
– 学習が進むに連れてGの生成分布が動的に変わる場合に、Dが学習初期の識別境界を忘却しないように働く
20
3. Proposed Method
Self-Supervision during GAN training
1. Introduction
2. Related Work
3. Proposed Method
4. Experiments
5. Conclusion
21
Agenda
• アーキテクチャ&ハイパラ
– 基本的には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
• 比較手法
24
4. Experiments
Experimental Settings
Baseline (Supervised)
Unsupervised
Semi-Supervised
Self-Supervised
BigGAN(再現実装)
FID 8.4
IS 75.0
cf. BigGAN (19/02/25)
FID 7.5
IS 166.5
• BigGANと比べると、完全な教師なしは分が悪い
• が、既存の教師なしのSoTA(FID=33)よりは良い
– [Chen+ CVPR’19] Self-Supervised GANs
25
4. Experiments
Results: Unsupervised Approaches
SS:Self-supervisionをGANの訓練中に行ったもの
BigGAN
FID 8.4
IS 75.0
• 20%のラベルを使うと、BigGANに匹敵する精度
• 同時学習(*-CO)は事前学習より精度は悪いが、
同数のラベルを使うBigGAN-k%より学習は安定
• 少量のラベルでも、完全な教師なしより大幅に改善
– 2.5%でもFID=13.6, IS=46.3となった
26
4. Experiments
Results: Semi-supervised Approaches
BigGAN
FID 8.4
IS 75.0
• GANの訓練中もDにSelf-Supervisionの補助タスクを与えたもの
• 10%でBigGANに匹敵、20%でBigGANを越えSoTAを達成
27
4. Experiments
Results: Self-supervision during GAN training
• 少ラベルでも高画質な画像を生成可能
28
4. Experiments
Results:
S3GAN(ラベル10%, 256x256):潜在空間でinterpolation
• 少ラベルでも高画質な画像を生成可能
29
4. Experiments
Results:
S3GAN(ラベル10%, 256x256):1つのクラスから多様な画像を生成
1. Introduction
2. Related Work
3. Proposed Method
4. Experiments
5. Conclusion
30
Agenda
• 画像生成におけるSoTAのGANモデル(BigGAN)において、
必要なラベルデータの数を削減する方法を多面的に検討し実証
• 近年発展が進むSemi-supervised / Self-Supervised Learningを活用することでSoTAを達成
• Future Work
– より大きく多様なデータセットにも適用できるかの検証
– 他のSemi-supervised / Self-Supervised Learningの手法の検証
– 他の深層生成モデルでの検証
31
5. Conclusion
• Hierarchical Autoregressive Image Models with Auxiliary Decoders [De Fauw+ 19.03]
– 同日2019/03/06にarXivに投稿された、自己回帰モデルベースの画像生成の論文
– Jeffrey De Fauw, Sander Dieleman, Karen Simonyan(DeepMind)
• GANベースと比べた自己回帰モデルベースの手法の特徴
– Pros:
• localなtextureやdetailを捉えるのに優れている
• GANのようにMode Collapseに陥らない
– Cons:structureやlarge-scale coherenceが苦手
• アーキテクチャレベルの帰納バイアスの問題
• 尤度最大化により生じる問題
• 既存の解決策:局所的な情報を取り除く
– 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
参考文献

[DL輪読会]High-Fidelity Image Generation with Fewer Labels

  • 1.
    DEEP LEARNING JP [DLSeminar] High-Fidelity Image Generation with Fewer Labels Hiromi Nakagawa, Matsuo Lab https://deeplearning.jp
  • 2.
    • タイトル – High-FidelityImage 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 書誌情報
  • 3.
    1. Introduction 2. RelatedWork 3. Proposed Method 4. Experiments 5. Conclusion 3 Agenda
  • 4.
    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 GANを用いたHigh-Fidelityな画像生成の発展
  • 5.
    • 既存の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 1. Introduction ラベルデータと画像生成の質
  • 6.
    1. Introduction 2. RelatedWork 3. Proposed Method 4. Experiments 5. Conclusion 6 Agenda
  • 7.
    BigGAN • Large ScaleGAN 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]でラベルの条件付け 7 2. Related Work High-Fidelity GANs on ImageNet 2018/10/05 西村さんの発表 [DL輪読会]Large Scale GANTraining for High Fidelity Natural Image Synthesis
  • 8.
    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
  • 9.
    Projection Discriminator • cGANswith 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 High-Fidelity GANs on ImageNet
  • 10.
    • 教師なし特徴表現学習 – 目的タスク(targettask)に有効なデータの特徴表現を、 ラベルフリーな疑似タスク(pretext task)を事前に解くことで獲得 • Self-Supervised Learning – 中でも、自動で生成できる教師信号を用いてpretext taskを定義するもの • 代表的なPretext taskの例 10 2. Related Work Self-supervised Learning Source: Self-supervised Learning による特徴表現学習 | cvpaper.challenge • Context Prediction • Jigsaw • Jigsaw++ • Rotation • Context Encoder • Colorization • Split-Brain • SpotArtifact • Counting • Noise asTarget • Instance Discrimination • VAE系 • GAN系 識別系 ※基本的にSelf-supervised Learning と言われない 再構成系 その他 生成モデル系
  • 11.
    • 識別系:教師なしデータxに対応する、自動で得られるカテゴリtを定義して教師ありの識別を学習 11 2. RelatedWork Self-supervised Learning Source: Self-supervised Learning による特徴表現学習 | cvpaper.challenge Context Prediction [Doersch+ ICCV'15] 画像を3x3に分割して2つのパッチの相対位置を8クラス分類 Rotation [Gidaris+ ICLR'18] 画像の回転推定(SoTA & 実装が簡単) Jigsaw [Noroozi+ ECCV’16] パッチをランダムな順に入力し、正しい順列をクラス識別 Jigsaw++ [Noroozi + CVPR’18] 一部のパッチを他の画像のパッチに置き換える
  • 12.
    • 再構成系:x={x1,x2}の一部を観測できている状態でxまたはx2を推定 12 2. RelatedWork Self-supervised Learning Source: Self-supervised Learning による特徴表現学習 | cvpaper.challenge Context Encoder [Pathak+CVPR'16] 欠損画像の補完を回帰で学習 Split-Brain [Zhang+CVPR’17] ネットワークをチャネル方向に2分割し、L⇔abのアンサンブル Colorization [Zhang+ ECCV’16] グレースケール画像(L)の色付け(ab)(量子化したab空間の識別) SpotArtifact [Wu + CVPR’18] 特徴マップ上で欠損させた画像の補完
  • 13.
    • その他 13 2. RelatedWork Self-supervised Learning Source: Self-supervised Learning による特徴表現学習 | cvpaper.challenge Counting [Noroozi+ ICCV’17] 分割画像と元画像を同じCNNに入力し、 元画像の出力特徴=全分割画像の出力特徴の和 となるような制約をかける Instance Discrimination [Wu+ CVPR'18] 各画像インスタンスを1つのクラスとして識別、 各画像の特徴ベクトルが超球上に まばらに散るような埋め込みになる Noise asTarget [Bojanowski+ ICML’17] 一様にサンプリングしたtarget vectorsに 各画像からの出力を1v1に対応させ、近づける (特徴ベクトルを特徴空間上に一様に分散)
  • 14.
    • 最新動向:データ構造に依存しない手法の成功 14 2. RelatedWork Self-supervised Learning Source: Self-supervised Learning による特徴表現学習 | cvpaper.challenge Deep Cluster [Caron+ ECCV’18] CNNの中間特徴を元にk-meansクラスタリング →クラスタを擬似ラベルとして識別問題を学習 CPC [Oord+ 18.07] 系列情報においてある時点での特徴ベクトルc_t と先の入力x_t+1の相互情報量を最大化 DがN個のペアから1つのpositiveペアを識別する Nクラス分類問題を解くことでIの下限を最大化 Deep INFORMAX [Devon Hjelm++ ICLR’19] 入力xと特徴ベクトルzの相互情報量を 最大化するように学習 (x, z)のペアのpos-neg識別をするDをつけて end-to-endに学習するだけでI(x;z)の下限を最大化
  • 15.
    • Self-Supervised GenerativeAdversarial 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 2. Related Work Self-supervised Learning
  • 16.
    1. Introduction 2. RelatedWork 3. Proposed Method 4. Experiments 5. Conclusion 16 Agenda
  • 17.
    • cGANにおけるラベルの意味合い – SupervisedLearning:人のラベル付けをDの学習に使う – Self-Supervised Learning:自分で推論したラベルをDの学習に使う • DにはProjection Discriminatorでラベル情報を渡す – Dを表現学習を行う 𝐷 と線形分類器の 𝑐 𝑟/𝑓に分解し、𝐷(𝑥, 𝑦) = 𝑐 𝑟/𝑓( 𝐷 𝑥 + 𝑃( 𝐷 𝑥 , 𝑦) と表す( 𝑃 は線形写像) • Gにはclass-conditional Batch Norm [Dumoulin+ ICLR’17, De Vries+ NIPS’17] でラベル情報を渡す 17 3. Proposed Method Incorporating the labels Projection Discriminatorを用いた基本的なcGANの構造 本研究では、3つのアプローチを検証 • Pre-trained approaches • Co-training approaches • Self-supervision during GAN training
  • 18.
    • Unsupervised clustering-basedmethod(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を訓練 • Semi-supervised method(S2GAN) – 表現学習時に少量のラベル識別器(𝑐𝑆2 𝐿)を入れてそのロスも最適化 – GANの学習時は特徴抽出器 𝐹 と 𝑐 𝐶𝐿 だけがCLUSTERINGと異なる 18 3. Proposed Method Pre-trained approaches CLUSTERING
  • 19.
    • ラベルの情報をGANの訓練と同時に学習する • Unsupervisedmethod(SINGEL LABEL / RANDOM LABEL) – ラベル情報を除去 – SINGLE LABEL:全サンプルに同じクラスラベルを付与し、Projection Layerを除去 – RANDOM LABEL:ラベルなし実画像にランダムにラベルを付与 • 学習可能かつ 𝑧 以外のrandomnessを加えられるからGの学習に良いらしい • fakeデータに対するラベル付けもDの学習に良いらしい • Semi-supervised method(S2GAN-CO) – 𝐷 の特徴表現から少ラベルの分類を行う線形分類器 𝑐 𝐶𝑇を導入 – GANと同時に学習 19 3. Proposed Method Co-training approaches S2GAN-CO
  • 20.
    • Pre-training /Co-training approachesでは、 𝐹 の良い表現を得るためにSelf-/Semi-Supervised Learningを用いた • Discriminator自体も分類器→補助タスクが役に立つはず • 同様に回転を予測するタスクでGANの学習時もDをSelf-Supervision – [Chen+ CVPR‘19] Self-Supervised GANs で学習が安定化することが実証されている – 学習が進むに連れてGの生成分布が動的に変わる場合に、Dが学習初期の識別境界を忘却しないように働く 20 3. Proposed Method Self-Supervision during GAN training
  • 21.
    1. Introduction 2. RelatedWork 3. Proposed Method 4. Experiments 5. Conclusion 21 Agenda
  • 22.
    • アーキテクチャ&ハイパラ – 基本的には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.
  • 24.
    • 比較手法 24 4. Experiments ExperimentalSettings Baseline (Supervised) Unsupervised Semi-Supervised Self-Supervised BigGAN(再現実装) FID 8.4 IS 75.0 cf. BigGAN (19/02/25) FID 7.5 IS 166.5
  • 25.
    • BigGANと比べると、完全な教師なしは分が悪い • が、既存の教師なしのSoTA(FID=33)よりは良い –[Chen+ CVPR’19] Self-Supervised GANs 25 4. Experiments Results: Unsupervised Approaches SS:Self-supervisionをGANの訓練中に行ったもの BigGAN FID 8.4 IS 75.0
  • 26.
    • 20%のラベルを使うと、BigGANに匹敵する精度 • 同時学習(*-CO)は事前学習より精度は悪いが、 同数のラベルを使うBigGAN-k%より学習は安定 •少量のラベルでも、完全な教師なしより大幅に改善 – 2.5%でもFID=13.6, IS=46.3となった 26 4. Experiments Results: Semi-supervised Approaches BigGAN FID 8.4 IS 75.0
  • 27.
  • 28.
  • 29.
  • 30.
    1. Introduction 2. RelatedWork 3. Proposed Method 4. Experiments 5. Conclusion 30 Agenda
  • 31.
    • 画像生成におけるSoTAのGANモデル(BigGAN)において、 必要なラベルデータの数を削減する方法を多面的に検討し実証 • 近年発展が進むSemi-supervised/ Self-Supervised Learningを活用することでSoTAを達成 • Future Work – より大きく多様なデータセットにも適用できるかの検証 – 他のSemi-supervised / Self-Supervised Learningの手法の検証 – 他の深層生成モデルでの検証 31 5. Conclusion
  • 32.
    • Hierarchical AutoregressiveImage Models with Auxiliary Decoders [De Fauw+ 19.03] – 同日2019/03/06にarXivに投稿された、自己回帰モデルベースの画像生成の論文 – Jeffrey De Fauw, Sander Dieleman, Karen Simonyan(DeepMind) • GANベースと比べた自己回帰モデルベースの手法の特徴 – Pros: • localなtextureやdetailを捉えるのに優れている • GANのようにMode Collapseに陥らない – Cons:structureやlarge-scale coherenceが苦手 • アーキテクチャレベルの帰納バイアスの問題 • 尤度最大化により生じる問題 • 既存の解決策:局所的な情報を取り除く – Glow [Kingma+ NIPS’18], SPN + Multidimensional Upscaling [Menick+ ICLR’19] • 提案手法:Auxiliary Decoderで入力表現を学習し、それをAR priorに適用する2stage型 32 おまけ
  • 33.
    • 論文 [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 参考文献