long8v / PTIR

Paper Today I Read
19 stars 0 forks source link

[23] Bootstrap Your Own Latent: A New Approach to Self-Supervised Learning #25

Open long8v opened 2 years ago

long8v commented 2 years ago
image

paper, code

Introduction

Bootstrap* Your Own Latent(BYOL)은 online network, target network 두 네트워크가 상호작용하고 서로 학습하도록 설계되었다. 한 이미지를 어그멘테이션 시킨 것을 online network에 넣어서 같은 이미지를 다르게 어그멘테이션 시킨 것을 target network에 넣었을 때의 표현을 나타내도록 학습한다. 동시에 우리는 online 네트워크의 slow-moving average로 target 네트워크를 학습시킨다. 현재 SOTA 모델들은 negative pair를 사용하지만, BYOL은 이 없이 새로운 SOTA를 달성하였다.

*bootstrap은 ML용어가 아니라 그 자체의 뜻인 to improve your situation or become more successful, without help from others or without advantages that others have로 쓰였다.

image

BYOL

image image

한 이미지에 대해 어그멘테이션 시킨 \nu, \nu'를 만들고 각각의 네트워크를 태운다. 이후 online의 마지막 prediction의 output을 target의 projection 결과와 MSE를 구한다.

image

이후 다시 online network에 어그멘테이션 된 \nu, \nu' 반대로 넣고, loss를 구한다. 그리고 loss를 합한뒤 \theta에 대해서만 minimize를 한다.

image

Implementation details

Result

Ablation

image

simCLR과 비교해봤을 때 batch_size를 줄이고 augmentation을 줄임에 따라 성능 하락이 덜했다.

image

moving average를 사용하는 것이 의미가 있었다.

image

target netork를 두는 것이 의미가 있었다.

long8v commented 2 years ago

https://docs.google.com/presentation/d/1JG_V2WCnbu5uUhjoaPXEotBMPb5zqfNxW0MBV5t9mro/edit#slide=id.p