HeYStRanGeR
article thumbnail

(23.05.04)

SSL(self-supervised learning) 논문 리뷰 8탄

Kaiming He 의 논문이다

 

- 논문 제목: Exploring Simple Siamese Representation Learning (CVPR 2021)

- https://arxiv.org/pdf/2011.10566.pdf 


 

Abstract

Siamese networks는 unsupervised visual representation learning의 최신 모델에서 널리 쓰이고 있다.

하나의 image에 대한 두가지 augmentations 사이의 similarity를 최대화한다. 

본 논문에서는 세가지 요소를 없앤 simple Siamese networks를 제안한다. 그 세가지 요소는 아래와 같다.

1. negative sample pairs

2. large batches

3. momentum encoders

collapsing solutions을 막고자 stop-gradient 을 적용하였다.

본 논문에서 제안하는 메소드의 이름은 SimSiam 으로 unsupervised representation learning의 Siamses 아키텍쳐의 역할에 대해 다시생각하게 하는 그런 간단한 baseline이다 !

 

 

Method

 

SimSiam 은 아키텍처 자체도 매우 간단하다!!

 

[SimSiam의 진행과정]

- 하나의 이미지에 대해서 2가지의 augmentation을 적용시켜준다. (x1, x2)

- 동일한 encoder network (f) 에 넣어준다. (encoder network == backbone + projection MLP)

- 한쪽에만 prediction MLP (h)를 적용한다. (p1, z2)

- 다른 한쪽은 stop-gradient operation이 적용된다.

- 둘 사이의 similarity를 최대화하는 방향으로 학습을 진행해준다.

=> 이 방식은 negative pairs가 필요없으며, momentum encoder 또한 필요하지 않다.

 

default backbone으로는 ResNet-50을 사용하였다.

 

siamese architectures와 비교

 

 

Loss function

[negative cosine similarity]

negative cosine similarity를 loss function으로 사용하며, 이를 최소화하는 방향으로 학습한다.

이는 l2-normalized vectors의 mean squared error와 동일하다.

 

 

[symmetrized loss]

각 image마다 정의되는데, total loss는 모든 image에 대한 평균이다. minimum possible value는 -1이다.

 

 

[stop-gradient operation]이 적용된 경우에는 아래의 식으로 적용된다.

첫 term에서 x2에 대한 encoder는 z2로부터 gradient를 받지 못하지만, 두번째 term에는 p2로부터 gradient를 받는다.

 

 

SimSiam pseudocode

 

 

Experiments

728x90
profile

HeYStRanGeR

@HeYStRanGeR

포스팅이 좋았다면 "좋아요❤️" 또는 "구독👍🏻" 해주세요!