SlideShare a Scribd company logo
1 of 33
Download to read offline
©2018 ARISE analytics
2018/09/21
担当: 堀越
Deep Clustering for Unsupervised Learning of
Visual Features
©2018 ARISE analytics 2
概要
タイトル: Deep Clustering for Unsupervised Learning of Visual Features
著者: Mathilde Caron, Piotr Bojanowski, Armand Joulin, Matthijs Douze
https://arxiv.org/abs/1807.05520
一言で言うと
すごい点
感想
CNNで特徴抽出してK-meansを繰り返す
教師なしでもCNNで特徴抽出ができる
DeepClusterを使って教師なしで pre-training → 少量の画像で
fine-tuning というやり方は現実の問題でも使えそう
モチベーション 学習データへのラベルづけが大変なので教師なしでやりたい
©2018 ARISE analytics 3
Motivation
背景:
CNNは画像認識において非常に重要な技術になっている。その中で、オープンな大規模データセットで
あるImageNetは非常に大きな役割を果たした。
しかしながら、近年では様々な新手法が提案されているにも関わらず、そのパフォーマンスは上げどまっ
ている。ImageNetでは、SOTAな手法のパフォーマンスを評価しきれていないのではないか?
目的:
ImageNetより大きなデータセットを、コストをかけずに作りたい。
©2018 ARISE analytics 4
ImageNetとは
ImageNet
- 画像1,400万枚、2万クラス以上
ILSVRC2012
ImageNetのサブセット
- 1,000 クラス
- 学習用データ: 120万枚
- 検証用データ: 5万枚
- 評価用データ: 10万枚
©2018 ARISE analytics 5
ImageNetの限界
ConvNets and ImageNet Beyond Accuracy: Understanding Mistakes and
Uncovering Biases (Stock et al. 2017)
https://arxiv.org/abs/1711.11443
Top: Performance evolution of various
CNN architectures on ImageNet.
Bottom: Some images sampled from
the Internet and misclassified by a
ResNet-101.
Some test samples misclassified by a ResNet-101 (first row)
and a Densenet-161(second row).
The predicted class is indicated in red, the ground truth in
black and in parenthesis. All those examples gathered more
than four (4 or 5) positive answers over 5 on AMT. Note that
no adversarial noise has been added to the images.
©2018 ARISE analytics 6
Deep Learningを用いたクラスタリング手法
(既存研究)
©2018 ARISE analytics 7
Deep Learningを用いたクラスタリング手法
https://arxiv.org/abs/1801.07648
COIL20: Columbia University Image Library
Clustering with Deep Learning: Taxonomy and New Methods (Aljalbout et al.
2018)
Modified in red
(Aljalbout et al. 2018)
Splitting GAN
(Grinblat et al. 2017)
GAN
Critic
output
Wasserstein
loss
k-Means
loss
Pretraining
and
fine tuning
k-Means
©2018 ARISE analytics 8
Encoder / Decoderを使う方法
https://arxiv.org/abs/1511.06335
Unsupervised Deep Embedding for Clustering Analysis (Xie et al. 2015)
Encoder / Decoderで学習した表現について、クラスタのKL情報量を最小にするようクラスタリングす
る
Deep Embedded Clustering (DEC)
©2018 ARISE analytics 9
クラスタリングのステップをDLへ組み込む方法
https://arxiv.org/abs/1604.03628
Joint Unsupervised Learning of Deep Representations and Image Clusters
(Yang et al. 2016)
階層的クラスタリングの併合を周期的プロセスと見立てて、RCNNを学習する
Joint Unsupervised Learning (JULE)
©2018 ARISE analytics 10
CNNの表現を使う方法
https://arxiv.org/abs/1705.07091
CNN-Based Joint Clustering and Representation Learning with Feature Drift
Compensation for Large-Scale Image Data (Hsu et al. 2016)
ミニバッチ単位で、CNNの学習とk-meansを繰り返す
©2018 ARISE analytics 11
GANを使う方法
https://arxiv.org/abs/1709.07359
Class-Splitting Generative Adversarial Networks (Grinblat et al. 2017)
Critic (Discriminator)の最終層の表現をクラスタリングし、クラスタのラベルでGeneratorを学習さ
せる
©2018 ARISE analytics 12
Deep Clustering for Unsupervised Learning of
Visual Features
©2018 ARISE analytics 13
概要
学習データとなる画像をCNNで教師なし学習させ、その最終層の表現をクラスタリングする。学習の際
の正解データとして、前Epochでのクラスタのラベルを用いる (pseudo-labeling)
©2018 ARISE analytics 14
定式化
• Given a training set X = {x1, x2, ..., xn} of N images.
• each image xn is associated with a label yn in {0, 1}^k.
• This label represents the image’s membership to one of k possible
predefined classes.
• Fθ is a convnet mapping, where θ is the set of corresponding parameters.
• The features fθ(xn) produced by the convnet, and clusters them into k
distinct groups based on a geometric criterion.
• It jointly learns a d*k centroid matrix C and the cluster assignments yn
of each image n by solving the following problem.
©2018 ARISE analytics 15
実装
- Standard AlexNet architecture
- Five convolutional layers with 96, 256, 384, 384 and 256 filters.
- Three fully connected layers.
- Remove the Local Response Normalization layers and use batch
normalization.
- For the clustering, features are PCA-reduced to 256 dimensions, whitened
and l2-normalized.
Image Transformation
- Sobel Filtering
Data Augmentation
- Random horizontal flips
- Crops of random sizes
and aspect ratios
Preprocessing CNN Clustering
http://nocotan.github.io/chainer/2017/08/04/chainercnn-copy.html
PCA
256
k-meansAlexNet
©2018 ARISE analytics 16
実装上の工夫: 前処理
オブジェクトの分類には色よりもエッジの情報が重要だが、生の画像で学習させると最初のレイヤーが色
情報を抽出してしまう。
→画像にSobel Filterをかけ、エッジを抽出しておく
Filters from the first layer of an
AlexNet trained on unsupervised
ImageNet on raw RGB input (left) or
after a Sobel filtering (right).
©2018 ARISE analytics 17
実装上の工夫: クラスタリング
Empty clusters:
• 空のクラスタができた場合、空でないクラスタをランダムに選び、そのセントロイドをわずかにずらして二
つのクラスタを作る
Trivial parametrization:
• クラスタの偏りを防ぐため、学習データを pseudo-labelのが一様分布からサンプリングする
or
• 損失関数をクラスタの大きさの逆数で重み付けする
©2018 ARISE analytics 18
評価
a) クラスタと真のラベルとの相互情報量
b) あるEpochと直前のEpochのクラスタの相互情報量
c) クラスタ数 k の影響
©2018 ARISE analytics 19
評価
a) クラスタと真のラベルとの相互情報量
真のラベルとクラスタのラベルがどの程度一致しているかを示す。真のラベルは学習時には使っていない
が、学習が進むにつれクラスタのラベルは真のラベルに近づいている
©2018 ARISE analytics 20
評価
b) あるEpochと直前のEpochのクラスタの相互情報量
Epoch ごとにCNNを学習→k-meansでクラスタリングしたラベルで再学習を繰り返すため、クラスタの
中身は順次入れ替わっていく。Epochが進んでいくと、クラスタの中身の入れ替わりが少なくなっていく
= クラスタが安定していく。
とはいえ、0.8程度で上げどまるため、少なくない割合の画像はEpochのたびに別のクラスタに割り当て
られることになる。もっとも、実用上はこれでもそれほど問題なく、単一のモデルに収束していく (ホン
ト?)
©2018 ARISE analytics 21
評価
c) クラスタ数 k の影響
クラスタ数 k を対数スケールで変更した時、ImageNetで300Epoch学習した後、別のデータセット*
でのmAPを調べる。最良のパフォーマンスは k=10,000の時に得られた。
真のクラス数(1,000)よりもある程度 大きなクラスタ数を選ぶのが良さそう
* Pascal VOC 2007のバリデーションセット, 20クラス
©2018 ARISE analytics 22
Q&A
• そもそも学習できるの?
• 処理時間はどれくらい?
• どの程度良い表現を学習している?
• 別のデータセットでも使える?
• 別のモデルでも使える?
• 別のクラスタリングアルゴリズムは使える?
• 他のタスクにも使える?
©2018 ARISE analytics 23
そもそも学習できるの?
A. できる
Deep Learningでは、学習データのラベルをランダム化しても、訓練誤差が0にできることが知られてい
る。同じように、ランダムなセントロイドによるクラスタを初期値として学習を始めても、中間層では徐々
に適切な表現を学習していく?
Understanding Deep Learning Requires Rethinking Generalization (Zhang et al.
2016)
Randomization tests.
...we train several standard architectures on a copy of the data where the
true labels were replaced by random labels. Our central finding can be
summarized as:
Deep neural networks easily fit random labels.
More precisely, when trained on a completely random labeling of the true
data, neural networks achieve 0 training error.
©2018 ARISE analytics 24
処理時間はどれくらい?
A. 以下の環境で12日くらい
- 500エポック
- Pascal P100
- 市場価格100万円くらい?
全体の1/3くらいは k-means にかかる時間
→クラスタリングの際に全データをForwardする必要があるため、、通常の学習の1.5倍以上の時間が
かかる?
©2018 ARISE analytics 25
どの程度良い表現を学習している?
A. CNNの各層で、他の教師なしと比べて良い表現を学習している
評価方法:
教師なしでpre-trainingしたCNNの各層について、それぞれの直後に線形分類器をおいてfine-
tuningした場合のaccuracyを評価 (パフォーマンスがよければ、その層はより良い表現を学習できて
いるはず)
MIT Places database
http://places.csail.mit.edu/
©2018 ARISE analytics 26
どの程度良い表現を学習している?
深いレイヤーほどより大きな特徴を捉えている。が、畳み込みの最終層のフィルタのいくつかは、それまで
の層で捉えた特徴を捉え直しているだけに見えるものもある (下段)
©2018 ARISE analytics 27
どの程度良い表現を学習している?
最終層のフィルタを見ると、あるフィルタは何らかのクラス、もしくはパターンに対応していそう
©2018 ARISE analytics 28
別のデータセットでも使える?
A. 使える
評価方法:
ImageNetは各クラスの画像数が均等になっており、DeepClusterに有利なデータである。
この影響を検証するため、YFCC100M*からランダムに選択した100万枚の画像について、その
accuracyを検証した
Yahoo Flickr Creative Commons 100 Millionデータセット。クラスに大きな偏りがある
©2018 ARISE analytics 29
別のモデルでも使える?
A. 使える
教師ありの場合と同じように、より深いモデルを使うとパフォーマンスは向上する
評価方法:
ImageNetのデータを利用して教師なしでpre-trainingしたモデルを元に、PASCAL VOC 2007
のデータでfine-tuningした際のmAPを評価
©2018 ARISE analytics 30
別のクラスタリングアルゴリズムは使える?
A. 使える
PIC (Power Iteration Clustering) を試したところ、大規模なデータセットについてパフォーマンス
がよかった
評価方法:
行のデータを利用して教師なしでpre-trainingしたモデルを元に、列のデータでfine-tuningした際の
accuracyを評価
©2018 ARISE analytics 31
他のタスクにも使える?
A. 使える
評価方法:
ImageNetを利用して教師なしで学習したモデルを元に、列のデータで画像検索した際のmAPを評
価
http://www.robots.ox.ac.uk/~vgg/data/oxbuildings/
http://www.robots.ox.ac.uk/~vgg/data/parisbuildings/
©2018 ARISE analytics 32
まとめ
タイトル: Deep Clustering for Unsupervised Learning of Visual Features
著者: Mathilde Caron, Piotr Bojanowski, Armand Joulin, Matthijs Douze
https://arxiv.org/abs/1807.05520
一言で言うと
すごい点
感想
CNNで特徴抽出してK-meansを繰り返す
教師なしでもCNNで特徴抽出ができる
DeepClusterを使って教師なしで pre-training → 少量の画像で
fine-tuning というやり方は現実の問題でも使えそう
モチベーション 学習データへのラベルづけが大変なので教師なしでやりたい
©2018 ARISE analytics 33
GitHub実装
https://github.com/facebookresearch/deepcluster

More Related Content

What's hot

Disentanglement Survey:Can You Explain How Much Are Generative models Disenta...
Disentanglement Survey:Can You Explain How Much Are Generative models Disenta...Disentanglement Survey:Can You Explain How Much Are Generative models Disenta...
Disentanglement Survey:Can You Explain How Much Are Generative models Disenta...
Hideki Tsunashima
 

What's hot (20)

[DL輪読会]Neural Ordinary Differential Equations
[DL輪読会]Neural Ordinary Differential Equations[DL輪読会]Neural Ordinary Differential Equations
[DL輪読会]Neural Ordinary Differential Equations
 
[DL輪読会]Revisiting Deep Learning Models for Tabular Data (NeurIPS 2021) 表形式デー...
[DL輪読会]Revisiting Deep Learning Models for Tabular Data  (NeurIPS 2021) 表形式デー...[DL輪読会]Revisiting Deep Learning Models for Tabular Data  (NeurIPS 2021) 表形式デー...
[DL輪読会]Revisiting Deep Learning Models for Tabular Data (NeurIPS 2021) 表形式デー...
 
モデルアーキテクチャ観点からのDeep Neural Network高速化
モデルアーキテクチャ観点からのDeep Neural Network高速化モデルアーキテクチャ観点からのDeep Neural Network高速化
モデルアーキテクチャ観点からのDeep Neural Network高速化
 
深層生成モデルと世界モデル
深層生成モデルと世界モデル深層生成モデルと世界モデル
深層生成モデルと世界モデル
 
強化学習アルゴリズムPPOの解説と実験
強化学習アルゴリズムPPOの解説と実験強化学習アルゴリズムPPOの解説と実験
強化学習アルゴリズムPPOの解説と実験
 
生成モデルの Deep Learning
生成モデルの Deep Learning生成モデルの Deep Learning
生成モデルの Deep Learning
 
12. Diffusion Model の数学的基礎.pdf
12. Diffusion Model の数学的基礎.pdf12. Diffusion Model の数学的基礎.pdf
12. Diffusion Model の数学的基礎.pdf
 
[DL輪読会]相互情報量最大化による表現学習
[DL輪読会]相互情報量最大化による表現学習[DL輪読会]相互情報量最大化による表現学習
[DL輪読会]相互情報量最大化による表現学習
 
【DL輪読会】ViT + Self Supervised Learningまとめ
【DL輪読会】ViT + Self Supervised Learningまとめ【DL輪読会】ViT + Self Supervised Learningまとめ
【DL輪読会】ViT + Self Supervised Learningまとめ
 
Transformer メタサーベイ
Transformer メタサーベイTransformer メタサーベイ
Transformer メタサーベイ
 
深層学習の数理
深層学習の数理深層学習の数理
深層学習の数理
 
[DL輪読会]Dense Captioning分野のまとめ
[DL輪読会]Dense Captioning分野のまとめ[DL輪読会]Dense Captioning分野のまとめ
[DL輪読会]Dense Captioning分野のまとめ
 
Disentanglement Survey:Can You Explain How Much Are Generative models Disenta...
Disentanglement Survey:Can You Explain How Much Are Generative models Disenta...Disentanglement Survey:Can You Explain How Much Are Generative models Disenta...
Disentanglement Survey:Can You Explain How Much Are Generative models Disenta...
 
[DL輪読会]GLIDE: Guided Language to Image Diffusion for Generation and Editing
[DL輪読会]GLIDE: Guided Language to Image Diffusion  for Generation and Editing[DL輪読会]GLIDE: Guided Language to Image Diffusion  for Generation and Editing
[DL輪読会]GLIDE: Guided Language to Image Diffusion for Generation and Editing
 
【メタサーベイ】Video Transformer
 【メタサーベイ】Video Transformer 【メタサーベイ】Video Transformer
【メタサーベイ】Video Transformer
 
ドメイン適応の原理と応用
ドメイン適応の原理と応用ドメイン適応の原理と応用
ドメイン適応の原理と応用
 
SSII2022 [TS1] Transformerの最前線〜 畳込みニューラルネットワークの先へ 〜
SSII2022 [TS1] Transformerの最前線〜 畳込みニューラルネットワークの先へ 〜SSII2022 [TS1] Transformerの最前線〜 畳込みニューラルネットワークの先へ 〜
SSII2022 [TS1] Transformerの最前線〜 畳込みニューラルネットワークの先へ 〜
 
[DL輪読会]Glow: Generative Flow with Invertible 1×1 Convolutions
[DL輪読会]Glow: Generative Flow with Invertible 1×1 Convolutions[DL輪読会]Glow: Generative Flow with Invertible 1×1 Convolutions
[DL輪読会]Glow: Generative Flow with Invertible 1×1 Convolutions
 
[DL輪読会]Flow-based Deep Generative Models
[DL輪読会]Flow-based Deep Generative Models[DL輪読会]Flow-based Deep Generative Models
[DL輪読会]Flow-based Deep Generative Models
 
PRML学習者から入る深層生成モデル入門
PRML学習者から入る深層生成モデル入門PRML学習者から入る深層生成モデル入門
PRML学習者から入る深層生成モデル入門
 

Similar to 【論文読み会】Deep Clustering for Unsupervised Learning of Visual Features

Similar to 【論文読み会】Deep Clustering for Unsupervised Learning of Visual Features (20)

Large Scale GAN Training for High Fidelity Natural Image Synthesis
Large Scale GAN Training for High Fidelity Natural Image SynthesisLarge Scale GAN Training for High Fidelity Natural Image Synthesis
Large Scale GAN Training for High Fidelity Natural Image Synthesis
 
Triplet Lossによる Person Re-identification
Triplet Lossによる Person Re-identificationTriplet Lossによる Person Re-identification
Triplet Lossによる Person Re-identification
 
Generative Adversarial Networks (GAN) @ NIPS2017
Generative Adversarial Networks (GAN) @ NIPS2017Generative Adversarial Networks (GAN) @ NIPS2017
Generative Adversarial Networks (GAN) @ NIPS2017
 
グラフデータ分析 入門編
グラフデータ分析 入門編グラフデータ分析 入門編
グラフデータ分析 入門編
 
Ocha 20191204
Ocha 20191204Ocha 20191204
Ocha 20191204
 
CNNの構造最適化手法(第3回3D勉強会)
CNNの構造最適化手法(第3回3D勉強会)CNNの構造最適化手法(第3回3D勉強会)
CNNの構造最適化手法(第3回3D勉強会)
 
[DL輪読会]Imagination-Augmented Agents for Deep Reinforcement Learning / Learnin...
[DL輪読会]Imagination-Augmented Agents for Deep Reinforcement Learning / Learnin...[DL輪読会]Imagination-Augmented Agents for Deep Reinforcement Learning / Learnin...
[DL輪読会]Imagination-Augmented Agents for Deep Reinforcement Learning / Learnin...
 
Deep learningの概要とドメインモデルの変遷
Deep learningの概要とドメインモデルの変遷Deep learningの概要とドメインモデルの変遷
Deep learningの概要とドメインモデルの変遷
 
ICLR2018におけるモデル軽量化(ICLR2018読み会@ PFN)
ICLR2018におけるモデル軽量化(ICLR2018読み会@ PFN)ICLR2018におけるモデル軽量化(ICLR2018読み会@ PFN)
ICLR2018におけるモデル軽量化(ICLR2018読み会@ PFN)
 
Generative Adversarial Networks (GAN) の学習方法進展・画像生成・教師なし画像変換
Generative Adversarial Networks (GAN) の学習方法進展・画像生成・教師なし画像変換Generative Adversarial Networks (GAN) の学習方法進展・画像生成・教師なし画像変換
Generative Adversarial Networks (GAN) の学習方法進展・画像生成・教師なし画像変換
 
CVPR 2011 ImageNet Challenge 文献紹介
CVPR 2011 ImageNet Challenge 文献紹介CVPR 2011 ImageNet Challenge 文献紹介
CVPR 2011 ImageNet Challenge 文献紹介
 
ディープラーニング入門 ~ 画像処理・自然言語処理について ~
ディープラーニング入門 ~ 画像処理・自然言語処理について ~ディープラーニング入門 ~ 画像処理・自然言語処理について ~
ディープラーニング入門 ~ 画像処理・自然言語処理について ~
 
Icml2018読み会_overview&GANs
Icml2018読み会_overview&GANsIcml2018読み会_overview&GANs
Icml2018読み会_overview&GANs
 
20190804_icml_kyoto
20190804_icml_kyoto20190804_icml_kyoto
20190804_icml_kyoto
 
AIがAIを生み出す?
AIがAIを生み出す?AIがAIを生み出す?
AIがAIを生み出す?
 
[DL輪読会]Deep Face Recognition: A Survey
[DL輪読会]Deep Face Recognition: A Survey[DL輪読会]Deep Face Recognition: A Survey
[DL輪読会]Deep Face Recognition: A Survey
 
Seeing Unseens with Machine Learning -- 
見えていないものを見出す機械学習
Seeing Unseens with Machine Learning -- 
見えていないものを見出す機械学習Seeing Unseens with Machine Learning -- 
見えていないものを見出す機械学習
Seeing Unseens with Machine Learning -- 
見えていないものを見出す機械学習
 
Nips20180127
Nips20180127Nips20180127
Nips20180127
 
ブースティング入門
ブースティング入門ブースティング入門
ブースティング入門
 
Bridging between Vision and Language
Bridging between Vision and LanguageBridging between Vision and Language
Bridging between Vision and Language
 

More from ARISE analytics

More from ARISE analytics (20)

【第3回生成AIなんでもLT会資料】_動画生成AIと物理法則_v0.2.pptx
【第3回生成AIなんでもLT会資料】_動画生成AIと物理法則_v0.2.pptx【第3回生成AIなんでもLT会資料】_動画生成AIと物理法則_v0.2.pptx
【第3回生成AIなんでもLT会資料】_動画生成AIと物理法則_v0.2.pptx
 
【第3回】生成AIなんでもLT会 2024_0304なんでも生成AI_sergicalsix.pptx
【第3回】生成AIなんでもLT会 2024_0304なんでも生成AI_sergicalsix.pptx【第3回】生成AIなんでもLT会 2024_0304なんでも生成AI_sergicalsix.pptx
【第3回】生成AIなんでもLT会 2024_0304なんでも生成AI_sergicalsix.pptx
 
めんどうな環境構築とはおさらば!Dockerの概要と使い方
めんどうな環境構築とはおさらば!Dockerの概要と使い方めんどうな環境構築とはおさらば!Dockerの概要と使い方
めんどうな環境構築とはおさらば!Dockerの概要と使い方
 
【論文レベルで理解しよう!】​ 欠測値処理編​
【論文レベルで理解しよう!】​ 欠測値処理編​【論文レベルで理解しよう!】​ 欠測値処理編​
【論文レベルで理解しよう!】​ 欠測値処理編​
 
【論文レベルで理解しよう!】​ 大規模言語モデル(LLM)編​
【論文レベルで理解しよう!】​ 大規模言語モデル(LLM)編​【論文レベルで理解しよう!】​ 大規模言語モデル(LLM)編​
【論文レベルで理解しよう!】​ 大規模言語モデル(LLM)編​
 
【論文読み会】Signing at Scale: Learning to Co-Articulate Signs for Large-Scale Pho...
【論文読み会】Signing at Scale: Learning to Co-Articulate  Signs for Large-Scale Pho...【論文読み会】Signing at Scale: Learning to Co-Articulate  Signs for Large-Scale Pho...
【論文読み会】Signing at Scale: Learning to Co-Articulate Signs for Large-Scale Pho...
 
Hierarchical Metadata-Aware Document Categorization under Weak Supervision​ (...
Hierarchical Metadata-Aware Document Categorization under Weak Supervision​ (...Hierarchical Metadata-Aware Document Categorization under Weak Supervision​ (...
Hierarchical Metadata-Aware Document Categorization under Weak Supervision​ (...
 
教師なしGNNによるIoTデバイスの異常通信検知の検討
教師なしGNNによるIoTデバイスの異常通信検知の検討教師なしGNNによるIoTデバイスの異常通信検知の検討
教師なしGNNによるIoTデバイスの異常通信検知の検討
 
【論文読み会】Pyraformer_Low-Complexity Pyramidal Attention for Long-Range Time Seri...
【論文読み会】Pyraformer_Low-Complexity Pyramidal Attention for Long-Range Time Seri...【論文読み会】Pyraformer_Low-Complexity Pyramidal Attention for Long-Range Time Seri...
【論文読み会】Pyraformer_Low-Complexity Pyramidal Attention for Long-Range Time Seri...
 
【論文読み会】Analytic-DPM_an Analytic Estimate of the Optimal Reverse Variance in D...
【論文読み会】Analytic-DPM_an Analytic Estimate of the Optimal Reverse Variance in D...【論文読み会】Analytic-DPM_an Analytic Estimate of the Optimal Reverse Variance in D...
【論文読み会】Analytic-DPM_an Analytic Estimate of the Optimal Reverse Variance in D...
 
【論文読み会】Autoregressive Diffusion Models.pptx
【論文読み会】Autoregressive Diffusion Models.pptx【論文読み会】Autoregressive Diffusion Models.pptx
【論文読み会】Autoregressive Diffusion Models.pptx
 
【論文読み会】BEiT_BERT Pre-Training of Image Transformers.pptx
【論文読み会】BEiT_BERT Pre-Training of Image Transformers.pptx【論文読み会】BEiT_BERT Pre-Training of Image Transformers.pptx
【論文読み会】BEiT_BERT Pre-Training of Image Transformers.pptx
 
【論文読み会】PiCO_Contrastive Label Disambiguation for Partial Label Learning.pptx
【論文読み会】PiCO_Contrastive Label Disambiguation for Partial Label Learning.pptx【論文読み会】PiCO_Contrastive Label Disambiguation for Partial Label Learning.pptx
【論文読み会】PiCO_Contrastive Label Disambiguation for Partial Label Learning.pptx
 
【論文読み会】Deep Reinforcement Learning at the Edge of the Statistical Precipice
【論文読み会】Deep Reinforcement Learning at the Edge of the Statistical Precipice【論文読み会】Deep Reinforcement Learning at the Edge of the Statistical Precipice
【論文読み会】Deep Reinforcement Learning at the Edge of the Statistical Precipice
 
【論文読み会】Alias-Free Generative Adversarial Networks(StyleGAN3)
【論文読み会】Alias-Free Generative Adversarial Networks(StyleGAN3)【論文読み会】Alias-Free Generative Adversarial Networks(StyleGAN3)
【論文読み会】Alias-Free Generative Adversarial Networks(StyleGAN3)
 
【論文読み会】On the Expressivity of Markov Reward
【論文読み会】On the Expressivity of Markov Reward【論文読み会】On the Expressivity of Markov Reward
【論文読み会】On the Expressivity of Markov Reward
 
【論文読み会】MAUVE: Measuring the Gap Between Neural Text and Human Text using Dive...
【論文読み会】MAUVE: Measuring the Gap Between Neural Text and Human Text using Dive...【論文読み会】MAUVE: Measuring the Gap Between Neural Text and Human Text using Dive...
【論文読み会】MAUVE: Measuring the Gap Between Neural Text and Human Text using Dive...
 
【論文読み会】Moser Flow: Divergence-based Generative Modeling on Manifolds
【論文読み会】Moser Flow: Divergence-based Generative Modeling on Manifolds【論文読み会】Moser Flow: Divergence-based Generative Modeling on Manifolds
【論文読み会】Moser Flow: Divergence-based Generative Modeling on Manifolds
 
Counterfaual Machine Learning(CFML)のサーベイ
Counterfaual Machine Learning(CFML)のサーベイCounterfaual Machine Learning(CFML)のサーベイ
Counterfaual Machine Learning(CFML)のサーベイ
 
【論文読み会】Self-Attention Generative Adversarial Networks
【論文読み会】Self-Attention Generative  Adversarial Networks【論文読み会】Self-Attention Generative  Adversarial Networks
【論文読み会】Self-Attention Generative Adversarial Networks
 

【論文読み会】Deep Clustering for Unsupervised Learning of Visual Features

  • 1. ©2018 ARISE analytics 2018/09/21 担当: 堀越 Deep Clustering for Unsupervised Learning of Visual Features
  • 2. ©2018 ARISE analytics 2 概要 タイトル: Deep Clustering for Unsupervised Learning of Visual Features 著者: Mathilde Caron, Piotr Bojanowski, Armand Joulin, Matthijs Douze https://arxiv.org/abs/1807.05520 一言で言うと すごい点 感想 CNNで特徴抽出してK-meansを繰り返す 教師なしでもCNNで特徴抽出ができる DeepClusterを使って教師なしで pre-training → 少量の画像で fine-tuning というやり方は現実の問題でも使えそう モチベーション 学習データへのラベルづけが大変なので教師なしでやりたい
  • 3. ©2018 ARISE analytics 3 Motivation 背景: CNNは画像認識において非常に重要な技術になっている。その中で、オープンな大規模データセットで あるImageNetは非常に大きな役割を果たした。 しかしながら、近年では様々な新手法が提案されているにも関わらず、そのパフォーマンスは上げどまっ ている。ImageNetでは、SOTAな手法のパフォーマンスを評価しきれていないのではないか? 目的: ImageNetより大きなデータセットを、コストをかけずに作りたい。
  • 4. ©2018 ARISE analytics 4 ImageNetとは ImageNet - 画像1,400万枚、2万クラス以上 ILSVRC2012 ImageNetのサブセット - 1,000 クラス - 学習用データ: 120万枚 - 検証用データ: 5万枚 - 評価用データ: 10万枚
  • 5. ©2018 ARISE analytics 5 ImageNetの限界 ConvNets and ImageNet Beyond Accuracy: Understanding Mistakes and Uncovering Biases (Stock et al. 2017) https://arxiv.org/abs/1711.11443 Top: Performance evolution of various CNN architectures on ImageNet. Bottom: Some images sampled from the Internet and misclassified by a ResNet-101. Some test samples misclassified by a ResNet-101 (first row) and a Densenet-161(second row). The predicted class is indicated in red, the ground truth in black and in parenthesis. All those examples gathered more than four (4 or 5) positive answers over 5 on AMT. Note that no adversarial noise has been added to the images.
  • 6. ©2018 ARISE analytics 6 Deep Learningを用いたクラスタリング手法 (既存研究)
  • 7. ©2018 ARISE analytics 7 Deep Learningを用いたクラスタリング手法 https://arxiv.org/abs/1801.07648 COIL20: Columbia University Image Library Clustering with Deep Learning: Taxonomy and New Methods (Aljalbout et al. 2018) Modified in red (Aljalbout et al. 2018) Splitting GAN (Grinblat et al. 2017) GAN Critic output Wasserstein loss k-Means loss Pretraining and fine tuning k-Means
  • 8. ©2018 ARISE analytics 8 Encoder / Decoderを使う方法 https://arxiv.org/abs/1511.06335 Unsupervised Deep Embedding for Clustering Analysis (Xie et al. 2015) Encoder / Decoderで学習した表現について、クラスタのKL情報量を最小にするようクラスタリングす る Deep Embedded Clustering (DEC)
  • 9. ©2018 ARISE analytics 9 クラスタリングのステップをDLへ組み込む方法 https://arxiv.org/abs/1604.03628 Joint Unsupervised Learning of Deep Representations and Image Clusters (Yang et al. 2016) 階層的クラスタリングの併合を周期的プロセスと見立てて、RCNNを学習する Joint Unsupervised Learning (JULE)
  • 10. ©2018 ARISE analytics 10 CNNの表現を使う方法 https://arxiv.org/abs/1705.07091 CNN-Based Joint Clustering and Representation Learning with Feature Drift Compensation for Large-Scale Image Data (Hsu et al. 2016) ミニバッチ単位で、CNNの学習とk-meansを繰り返す
  • 11. ©2018 ARISE analytics 11 GANを使う方法 https://arxiv.org/abs/1709.07359 Class-Splitting Generative Adversarial Networks (Grinblat et al. 2017) Critic (Discriminator)の最終層の表現をクラスタリングし、クラスタのラベルでGeneratorを学習さ せる
  • 12. ©2018 ARISE analytics 12 Deep Clustering for Unsupervised Learning of Visual Features
  • 13. ©2018 ARISE analytics 13 概要 学習データとなる画像をCNNで教師なし学習させ、その最終層の表現をクラスタリングする。学習の際 の正解データとして、前Epochでのクラスタのラベルを用いる (pseudo-labeling)
  • 14. ©2018 ARISE analytics 14 定式化 • Given a training set X = {x1, x2, ..., xn} of N images. • each image xn is associated with a label yn in {0, 1}^k. • This label represents the image’s membership to one of k possible predefined classes. • Fθ is a convnet mapping, where θ is the set of corresponding parameters. • The features fθ(xn) produced by the convnet, and clusters them into k distinct groups based on a geometric criterion. • It jointly learns a d*k centroid matrix C and the cluster assignments yn of each image n by solving the following problem.
  • 15. ©2018 ARISE analytics 15 実装 - Standard AlexNet architecture - Five convolutional layers with 96, 256, 384, 384 and 256 filters. - Three fully connected layers. - Remove the Local Response Normalization layers and use batch normalization. - For the clustering, features are PCA-reduced to 256 dimensions, whitened and l2-normalized. Image Transformation - Sobel Filtering Data Augmentation - Random horizontal flips - Crops of random sizes and aspect ratios Preprocessing CNN Clustering http://nocotan.github.io/chainer/2017/08/04/chainercnn-copy.html PCA 256 k-meansAlexNet
  • 16. ©2018 ARISE analytics 16 実装上の工夫: 前処理 オブジェクトの分類には色よりもエッジの情報が重要だが、生の画像で学習させると最初のレイヤーが色 情報を抽出してしまう。 →画像にSobel Filterをかけ、エッジを抽出しておく Filters from the first layer of an AlexNet trained on unsupervised ImageNet on raw RGB input (left) or after a Sobel filtering (right).
  • 17. ©2018 ARISE analytics 17 実装上の工夫: クラスタリング Empty clusters: • 空のクラスタができた場合、空でないクラスタをランダムに選び、そのセントロイドをわずかにずらして二 つのクラスタを作る Trivial parametrization: • クラスタの偏りを防ぐため、学習データを pseudo-labelのが一様分布からサンプリングする or • 損失関数をクラスタの大きさの逆数で重み付けする
  • 18. ©2018 ARISE analytics 18 評価 a) クラスタと真のラベルとの相互情報量 b) あるEpochと直前のEpochのクラスタの相互情報量 c) クラスタ数 k の影響
  • 19. ©2018 ARISE analytics 19 評価 a) クラスタと真のラベルとの相互情報量 真のラベルとクラスタのラベルがどの程度一致しているかを示す。真のラベルは学習時には使っていない が、学習が進むにつれクラスタのラベルは真のラベルに近づいている
  • 20. ©2018 ARISE analytics 20 評価 b) あるEpochと直前のEpochのクラスタの相互情報量 Epoch ごとにCNNを学習→k-meansでクラスタリングしたラベルで再学習を繰り返すため、クラスタの 中身は順次入れ替わっていく。Epochが進んでいくと、クラスタの中身の入れ替わりが少なくなっていく = クラスタが安定していく。 とはいえ、0.8程度で上げどまるため、少なくない割合の画像はEpochのたびに別のクラスタに割り当て られることになる。もっとも、実用上はこれでもそれほど問題なく、単一のモデルに収束していく (ホン ト?)
  • 21. ©2018 ARISE analytics 21 評価 c) クラスタ数 k の影響 クラスタ数 k を対数スケールで変更した時、ImageNetで300Epoch学習した後、別のデータセット* でのmAPを調べる。最良のパフォーマンスは k=10,000の時に得られた。 真のクラス数(1,000)よりもある程度 大きなクラスタ数を選ぶのが良さそう * Pascal VOC 2007のバリデーションセット, 20クラス
  • 22. ©2018 ARISE analytics 22 Q&A • そもそも学習できるの? • 処理時間はどれくらい? • どの程度良い表現を学習している? • 別のデータセットでも使える? • 別のモデルでも使える? • 別のクラスタリングアルゴリズムは使える? • 他のタスクにも使える?
  • 23. ©2018 ARISE analytics 23 そもそも学習できるの? A. できる Deep Learningでは、学習データのラベルをランダム化しても、訓練誤差が0にできることが知られてい る。同じように、ランダムなセントロイドによるクラスタを初期値として学習を始めても、中間層では徐々 に適切な表現を学習していく? Understanding Deep Learning Requires Rethinking Generalization (Zhang et al. 2016) Randomization tests. ...we train several standard architectures on a copy of the data where the true labels were replaced by random labels. Our central finding can be summarized as: Deep neural networks easily fit random labels. More precisely, when trained on a completely random labeling of the true data, neural networks achieve 0 training error.
  • 24. ©2018 ARISE analytics 24 処理時間はどれくらい? A. 以下の環境で12日くらい - 500エポック - Pascal P100 - 市場価格100万円くらい? 全体の1/3くらいは k-means にかかる時間 →クラスタリングの際に全データをForwardする必要があるため、、通常の学習の1.5倍以上の時間が かかる?
  • 25. ©2018 ARISE analytics 25 どの程度良い表現を学習している? A. CNNの各層で、他の教師なしと比べて良い表現を学習している 評価方法: 教師なしでpre-trainingしたCNNの各層について、それぞれの直後に線形分類器をおいてfine- tuningした場合のaccuracyを評価 (パフォーマンスがよければ、その層はより良い表現を学習できて いるはず) MIT Places database http://places.csail.mit.edu/
  • 26. ©2018 ARISE analytics 26 どの程度良い表現を学習している? 深いレイヤーほどより大きな特徴を捉えている。が、畳み込みの最終層のフィルタのいくつかは、それまで の層で捉えた特徴を捉え直しているだけに見えるものもある (下段)
  • 27. ©2018 ARISE analytics 27 どの程度良い表現を学習している? 最終層のフィルタを見ると、あるフィルタは何らかのクラス、もしくはパターンに対応していそう
  • 28. ©2018 ARISE analytics 28 別のデータセットでも使える? A. 使える 評価方法: ImageNetは各クラスの画像数が均等になっており、DeepClusterに有利なデータである。 この影響を検証するため、YFCC100M*からランダムに選択した100万枚の画像について、その accuracyを検証した Yahoo Flickr Creative Commons 100 Millionデータセット。クラスに大きな偏りがある
  • 29. ©2018 ARISE analytics 29 別のモデルでも使える? A. 使える 教師ありの場合と同じように、より深いモデルを使うとパフォーマンスは向上する 評価方法: ImageNetのデータを利用して教師なしでpre-trainingしたモデルを元に、PASCAL VOC 2007 のデータでfine-tuningした際のmAPを評価
  • 30. ©2018 ARISE analytics 30 別のクラスタリングアルゴリズムは使える? A. 使える PIC (Power Iteration Clustering) を試したところ、大規模なデータセットについてパフォーマンス がよかった 評価方法: 行のデータを利用して教師なしでpre-trainingしたモデルを元に、列のデータでfine-tuningした際の accuracyを評価
  • 31. ©2018 ARISE analytics 31 他のタスクにも使える? A. 使える 評価方法: ImageNetを利用して教師なしで学習したモデルを元に、列のデータで画像検索した際のmAPを評 価 http://www.robots.ox.ac.uk/~vgg/data/oxbuildings/ http://www.robots.ox.ac.uk/~vgg/data/parisbuildings/
  • 32. ©2018 ARISE analytics 32 まとめ タイトル: Deep Clustering for Unsupervised Learning of Visual Features 著者: Mathilde Caron, Piotr Bojanowski, Armand Joulin, Matthijs Douze https://arxiv.org/abs/1807.05520 一言で言うと すごい点 感想 CNNで特徴抽出してK-meansを繰り返す 教師なしでもCNNで特徴抽出ができる DeepClusterを使って教師なしで pre-training → 少量の画像で fine-tuning というやり方は現実の問題でも使えそう モチベーション 学習データへのラベルづけが大変なので教師なしでやりたい
  • 33. ©2018 ARISE analytics 33 GitHub実装 https://github.com/facebookresearch/deepcluster