Contrastive learning (대조 학습)

2023. 10. 6. 09:58IT

Contrastive Learning

 

self-superviesed representation learning 중에서 가장 유망한 방식

유사한 이미지가 저차원 공간에서 서로 가깝게, 동시에 다른 이미지는 서로 멀리 떨어져 있도록 저차원 공간에서 이미지를 인코딩하는 방법을 모델이 학습하는 것

장점은 레이블 없는 데이터를 사용하여 모델을 학습할 수 있고,

레이블링 비용이 많이 드는 경우와 데이터셋 규모가 클 경우에 굉장히 유용하고 새로운 클래스가 들어와도 언제든 대응이 가능하고 일반적인 feature 표현이 가능

단점은 데이터 증강(Data Augmentation)에 중점을 두고 있기 때문에 데이터 증강이 어려운 경우 성능저하 발생

(출처: https://www.blossominkyung.com/deeplearning/contrastive-learning)

Contrastive Learning 학습 방법

 - Data Augmentation

   : 머신러닝의 핵심인 데이터 확보를 위해 원본 데이터를 유사하게 가공하여 데이터를 증가시키는 것

     이미지인 경우, crop, rotate, contrast, invert, flip으로 새로운 이미지 생성

 ( 출처: https://wikidocs.net/137910)

 

Supervised Contrastive Learning 훈련 절차

 1. Supervised contrastive loss를 최적화하여 이미지를 표현으로 인코딩하는 인코더를 학습

 2. 인코더를 고정하고 학습된 표현을 받아 클래스 레이블을 출력하는 선형 레이어를 추가

 

 

반응형

'IT' 카테고리의 다른 글

React를 위한 VSCode Visual Studio Code 설치하기  (0) 2023.11.19
Open AI CLIP (Contrastive Language-Image Pre-training)  (1) 2023.10.06
flutter BuildContext  (0) 2023.07.16
flutter App bar icon button  (0) 2023.07.16
flutter - named argument  (0) 2023.07.16