Prototypical Contrastive Learning of Unsupervised Representations
Junnan Li, Pan Zhou, Caiming Xiong, Steven C.H Hoi, arXiv 2020
PDF, SSL By SeonghoonYu August 11th, 2021
Summary
Clustering + NCE Loss 를 결합하여 self-supervised learning을 수행합니다.
기존의 contrastive learning의 문제점은 instance discrimination을 수행하기 때문에 비슷한 특징을 지닌 instance들을 negative로 정의하여 서로 밀어냈었습니다. 즉, low-level semantics를 포착하여 discriminative task를 수행했습니다.
이 문제점을 해결하기 위하여 해당 논문은 비슷한 특징을 공유하는 instance를 prototype(=clustering)으로 묶어 instance 단위가 아닌 prototype(=clustering) 단위로 contrastive learning을 수행합니다. 따라서 semantic structure of data를 encode 할 수 있고 high level semantics을 포착합니다.
Momentum Encoder의 출력값으로 E-step clustering을 수행합니다. ProtoNCE를 최적화하여 신경망을 M-step update를 합니다.
ProtoNCE Loss는 다음과 같습니다.
NCE Loss와 clustering과 관련된 loss를 MLE로 도출합니다. 자세한 과정은 논문에 나와있습니다(제가 수학을 잘 못해서 설명을 못합니다. 흑흑).
위 식에서 $\phi$는 clustering의 응집도를 측정하는 파라미터 입니다. NCE Loss에서의 temperature과 동일한 역할을 수행합니다.
Experiment
PCL은 MOCO와 동일한 setting으로 구현했고 PCLv2는 MLP를 추가하고 더 강한 augmentation 와 성능을 향상시키는 여러가지를 사용합니다.
t-SNE 시각화입니다.
What I like about the paper
- Clustering을 pseudo label로 활용하는 논문은 자주 봤지만 Contrastive learning으로 사용한 참신한 아이디어
- momentum encoder의 출력값으로 clustering을 수행하기 때문에 초기 수렴이 굉장히 오래 걸릴 것 같다.
my github about what i read
'논문 읽기 > Self-Supervised' 카테고리의 다른 글
[논문 읽기] Tracking Emerges by Colorizing Videos(2018) (0) | 2021.08.16 |
---|---|
[논문읽기] DINO(2021), Emerging Properties in Self-Supervised Vision Transformers (0) | 2021.08.14 |
[논문 읽기] Supervised Contrastive Learning(2020) (0) | 2021.08.10 |
[논문 읽기] AMDIM(2019), Learning Representations by Maximizing Mutual Information Across Views (0) | 2021.08.08 |
[논문 읽기] Contrastive Multiview Coding (0) | 2021.08.06 |