AI: Contrastive/Self-supervised 학습 – negative sample
ㅁ Contrastive/Self-supervised 학습
1. negative sample
ㅇ 정의:
Contrastive learning에서 anchor 데이터와 다른 클래스로 간주되는 샘플로, representation space에서 anchor와 멀어지도록 학습시키는 데 사용되는 데이터.
ㅇ 특징:
– 주어진 anchor와 의미적으로 다른 데이터.
– InfoNCE loss, triplet loss 등에서 distance를 크게 만드는 역할.
– 실제 라벨이 없어도 데이터 증강이나 batch 내 다른 샘플을 활용해 생성 가능.
– false negative(같은 클래스지만 다른 것으로 잘못 인식) 발생 가능.
ㅇ 적합한 경우:
– 이미지, 오디오, 텍스트 등에서 self-supervised representation 학습 시.
– 레이블링 비용이 높거나 불가능한 경우.
ㅇ 시험 함정:
– negative sample은 항상 다른 클래스의 데이터라는 보장이 없음 → false negative 가능성.
– batch 크기가 작으면 negative sample 다양성이 떨어져 학습 성능 저하.
– hard negative mining과 혼동.
ㅇ 시험 대비 “패턴 보기” 예시:
– O: “Contrastive learning에서 negative sample은 anchor와 representation space에서 멀어지도록 학습시키는 데이터이다.”
– X: “negative sample은 항상 다른 클래스의 데이터이므로 false negative가 발생하지 않는다.”
ㅁ 추가 학습 내용
시험 대비를 위해 정리한 내용은 다음과 같다.
1. Hard negative와 False negative의 구분
– Hard negative: 모델이 구분하기 어려운 부정 샘플로, 학습에서 난이도를 높여 성능 향상에 기여할 수 있음
– False negative: 실제로는 양성 관계이지만 잘못 부정 샘플로 분류된 경우로, 학습에 혼란을 줄 수 있음
2. Batch size와 negative sample 다양성의 관계
– Batch size가 클수록 한 번의 학습에서 확보할 수 있는 negative sample의 수와 다양성이 증가
– 다양성이 높을수록 표현 학습의 일반화 성능이 향상될 수 있음
3. Negative sample pool 확장 방법
– Memory bank: 과거 mini-batch에서 추출한 feature를 저장해 negative sample로 활용
– Momentum encoder: 가중치를 천천히 업데이트하는 별도의 인코더를 사용해 안정적인 feature를 생성하고 negative pool을 확장
4. Negative sample 없이 학습하는 방법
– BYOL, SimSiam 등은 positive pair만을 사용하며, collapse를 방지하는 구조적 설계로 학습을 진행
5. InfoNCE loss와 temperature 파라미터
– InfoNCE loss는 positive pair의 유사도를 높이고, negative pair의 유사도를 낮추는 목적 함수
– Temperature 파라미터는 로짓 스케일을 조절하여 softmax의 분포를 제어하고 학습 안정성에 영향을 미침
6. Negative sampling 전략의 영향
– Negative sample의 선택 방식은 학습의 안정성과 수렴 속도에 직접적인 영향을 미침
– 적절한 전략은 빠른 수렴과 높은 성능을 가능하게 함