본문 바로가기
Computer Vision

Self-Supervised Learning

by pnnote 2024. 6. 14.
반응형

self-supervised learning은 라벨 없이 데이터를 학습하는 방법으로, 데이터 내의 구조나 속성을 활용하여 모델을 학습시킨다. 다양한 방식으로 구현될 수 있으며, 특히 이미지 인식 모델에 사용할 수 있다.

self-supervised learning은 데이터 자체를 사용하여 "가상 라벨"을 생성한다. 이런 가상 라벨은 데이터의 일부분을 이용해 다른 일부분을 예측하는 방식으로 생성된다. 이를 통해 모델이 데이터의 중요한 특성을 학습할 수 있다.


주요 self-supervised learning 방법

Masked Image Modeling (MIM)

이미지의 일부 패치를 마스킹하고, 모델이 마스킹된 부분을 예측하도록 학습하는 방법.
(1) 이미지를 고정 크기의 패치로 나눈다.
(2) 일부 패치를 무작위로 마스킹한다.
(3) 마스킹된 이미지 패치를 모델에 입력으로 주고, 모델이 마스킹된 부분을 예측하도록 한다.
(4) 예측된 값과 실제 마스킹된 패치의 값을 비교하여 모델을 학습시킨다.
예시: BEiT, ViT

 


Contrastive Learning

같은 이미지의 다른 변형(augmentation)을 서로 가깝게, 다른 이미지들은 멀리 위치시키도록 모델을 학습하는 방법.
(1) 이미지를 두 가지 다른 방식으로 변형한다.

(2) 변형된 두 이미지를 각각 모델에 입력으로 주고, 두 이미지의 임베딩을 계산한다.
(3) 같은 이미지에서 생성된 두 임베딩은 가깝게, 다른 이미지에서 생성된 임베딩은 멀리 위치하도록 모델을 학습시킨다.
예시: SimCLR, MoCo

 

Predictive Coding

이미지의 일부를 사용하여 나머지 부분을 예측하도록 학습하는 방법.
(1) 이미지를 작은 패치들로 나눈다.

(2) 일부 패치를 숨기고, 나머지 패치를 사용하여 숨겨진 패치를 예측한다.
예시: CPC (Contrastive Predictive Coding)

 


Autoencoders

입력 이미지를 압축된 표현으로 변환한 후, 원래 이미지를 복원하는 방식으로 학습하는 방법
(1) 이미지를 인코더를 통해 압축된 임베딩으로 변환한다.
(2) 압축된 임베딩을 디코더를 통해 다시 원래 이미지로 복원한다.
(3) 복원된 이미지와 원래 이미지 간의 차이를 최소화하도록 모델을 학습시킨다.
예시: Variational Autoencoders (VAE), dVAE

 

 

위와 같은 방법들로 self-supervised learning을 수행할 수 있다.

self-supervised 방식을 pre-training에도 적용할 수 있는데 라벨링되지 않은 수 많은 이미지에 대해 pre-training하여 이미지의 특징과 패턴을 학습하고, 그 후 down stream task 데이터셋을 학습하는 방식으로 성능을 높일 수 있다.
self-supervised learning 시 장점으로 라벨이 없는 대규모 데이터셋을 효과적으로 활용할 수 있고, 다양한 데이터에서 학습된 특성은 더 잘 일반화되므로, 새로운 데이터나 작업에 대해 더 높은 성능을 발휘할 수 있다. 또한 self-supervised learning을 통해 모델은 데이터의 중요한 특성을 효율적으로 학습할 수 있어, down stream task에서 높은 성능을 보인다.

 

 

반응형