알고리즘·논문: 대표 방법 – Contrastive Learning

ㅁ 대표 방법

ㅇ 정의:
서로 다른 데이터 샘플을 비교하여 유사한 것은 가깝게, 다른 것은 멀리 떨어뜨리도록 학습하는 자기지도학습 방법. 주로 임베딩 공간에서의 거리(metric)를 최소화/최대화하는 방식으로 동작.

ㅇ 특징:
– 라벨 없이 데이터 간 유사도를 학습.
– 데이터 증강(augmentation)을 통해 positive/negative 쌍을 생성.
– 대규모 배치와 메모리 뱅크를 활용하여 negative 샘플 다양성 확보.
– 대표적인 손실 함수로 InfoNCE, NT-Xent 등이 있음.

ㅇ 적합한 경우:
– 라벨이 부족하지만 데이터 양이 많은 경우.
– 이미지, 음성, 텍스트 등 다양한 모달리티에서 표현 학습이 필요한 경우.
– 다운스트림 과제(분류, 검색 등)에 강력한 일반화 성능이 필요한 경우.

ㅇ 시험 함정:
– Contrastive Learning은 항상 라벨이 필요하다고 오해하는 경우 → X
– Positive pair는 반드시 동일한 원본 데이터에서만 생성된다고 생각하는 경우 → X (유사한 의미의 다른 데이터도 가능)
– Negative 샘플이 많을수록 항상 성능이 향상된다고 단정 → X (quality가 더 중요)

ㅇ 시험 대비 “패턴 보기” 예시:
– “Contrastive Learning은 데이터 간 유사도를 학습하기 위해 라벨 정보를 활용한다.” → X
– “Contrastive Learning에서는 데이터 증강을 통해 positive/negative 쌍을 만든다.” → O
– “InfoNCE는 Contrastive Learning에서 자주 사용되는 손실 함수이다.” → O
– “Negative 샘플 수가 많으면 항상 성능이 향상된다.” → X

ㅁ 추가 학습 내용

Contrastive Learning의 핵심 수식인 InfoNCE Loss는 positive pair 간의 유사도를 최대화하고, 같은 배치 내의 다른 샘플(negative pair)과의 유사도를 최소화하는 방식으로 정의된다. 직관적으로는, 같은 의미를 가지는 데이터 표현은 가깝게, 다른 의미를 가지는 데이터 표현은 멀게 학습하도록 유도한다.

대표 구현 방법들의 주요 차이점은 다음과 같다.
SimCLR: 메모리 뱅크 사용 안 함, 모멘텀 인코더 없음, predictor 없음, 대규모 배치 필요
MoCo: 메모리 뱅크(큐) 사용, 모멘텀 인코더 사용, predictor 없음, 상대적으로 작은 배치 가능
BYOL: negative pair 사용하지 않음, 모멘텀 인코더 사용, predictor 있음
SimSiam: negative pair 사용하지 않음, 모멘텀 인코더 없음, predictor 있음

변형 기법으로는 hard negative mining(학습 난이도 높은 negative를 선택해 성능 향상), multi-view contrastive learning(다양한 뷰를 활용해 표현 일반화), supervised contrastive learning(레이블 정보를 사용해 positive/negative 정의)을 들 수 있다. 각 기법은 기존 방식 대비 데이터 효율성, 성능, 계산량에서 장단점이 있다.

Temperature 하이퍼파라미터는 로짓을 스케일링하여 softmax 분포의 날카로움을 조절한다. 값이 작으면 유사도 차이에 더 민감해지고, 크면 완만해진다. 배치 크기는 negative 샘플 수에 직접 영향을 주어 성능에 중요한 역할을 하며, 일반적으로 배치가 클수록 성능이 향상되지만 계산 자원이 더 필요하다.

답글 남기기

Your email address will not be published. Required fields are marked *.

*
*