Contrastive/Self-supervised 학습: downstream task
ㅁ Contrastive/Self-supervised 학습
ㅇ 정의:
Contrastive/Self-supervised 학습은 레이블이 없는 데이터를 활용하여 데이터의 표현을 학습하는 방법으로, 주로 데이터 간의 유사성과 차이를 비교하는 방식으로 작동한다.
ㅇ 특징:
– 레이블이 없는 대규모 데이터셋으로 학습 가능
– 데이터 표현의 일반화를 높이는 데 유용
– 다양한 downstream task에 활용 가능
ㅇ 적합한 경우:
– 레이블링된 데이터가 부족한 경우
– 데이터의 내재적인 구조를 학습하고자 하는 경우
ㅇ 시험 함정:
– Contrastive 학습과 Self-supervised 학습의 차이를 혼동할 가능성
– 주어진 데이터셋에 적합하지 않은 경우에도 적용하려는 오용
ㅇ 시험 대비 “패턴 보기” 예시:
– O: Contrastive 학습은 서로 다른 데이터 포인트 간의 거리를 최대화하고, 유사한 데이터 포인트 간의 거리를 최소화하는 방식으로 작동한다.
– X: Self-supervised 학습은 항상 레이블이 있는 데이터셋만 활용한다.
================================
1. downstream task
ㅇ 정의:
downstream task는 학습된 표현을 기반으로 수행되는 특정 응용 작업으로, 분류, 회귀, 군집화 등이 포함된다.
ㅇ 특징:
– 학습된 표현의 품질을 평가하는 데 사용
– 특정 도메인 또는 문제에 맞게 모델을 미세 조정 가능
– 대표적인 예로 이미지 분류, 텍스트 감정 분석 등이 있음
ㅇ 적합한 경우:
– 사전 학습된 모델의 성능을 평가하고자 할 때
– 특정 문제를 해결하기 위해 기존 표현을 활용하고자 할 때
ㅇ 시험 함정:
– downstream task와 pretext task의 개념을 혼동
– 특정 task를 일반적인 downstream task로 오인
ㅇ 시험 대비 “패턴 보기” 예시:
– O: downstream task는 사전 학습된 모델을 활용하여 특정 문제를 해결하는 작업이다.
– X: downstream task는 항상 레이블이 없는 데이터를 활용한다.
ㅁ 추가 학습 내용
Contrastive/Self-supervised 학습과 관련된 추가 학습 내용을 정리하면 다음과 같습니다:
1. Pretext Task의 정의와 주요 유형
– Pretext task는 self-supervised 학습에서 데이터를 레이블 없이 학습하기 위해 설계된 임시 과제를 의미하며, 모델이 유용한 표현을 학습하도록 돕는 역할을 한다.
– 주요 유형:
– Jigsaw Puzzle: 이미지 조각을 섞은 후 원래 순서를 예측하도록 학습.
– Rotation Prediction: 이미지 회전 각도를 예측하도록 학습.
– Colorization: 흑백 이미지를 색칠하도록 학습.
– Context Prediction: 이미지 패치 간의 상대적 위치를 예측.
– Contrastive Predictive Coding: 데이터의 시퀀스 간 관계를 예측.
2. Contrastive 학습에서 활용되는 손실 함수와 그 수학적 배경
– Contrastive 학습의 핵심은 유사한 샘플은 가까워지게 하고, 다른 샘플은 멀어지게 하는 것이다.
– InfoNCE Loss:
– InfoNCE는 두 샘플 간의 유사도를 최대화하고, 다른 샘플과의 유사도를 최소화하는 손실 함수이다.
– 수학적 배경은 정보 이론의 mutual information을 기반으로 하며, 샘플 간의 관계를 정량화한다.
– 손실 함수는 다음과 같은 형태를 가진다:
L = -log(exp(sim(q, k+)/τ) / Σ(exp(sim(q, k)/τ))), 여기서 q는 쿼리, k는 키, τ는 온도 매개변수.
– Contrastive 학습의 다른 손실 함수로는 Triplet Loss, Margin Loss 등이 있다.
3. Self-supervised 학습의 최신 동향 및 대표적인 모델
– 최신 동향:
– Negative sample을 사용하는 전통적인 contrastive 학습에서 벗어나, BYOL과 같은 negative sample 없이 학습하는 방법이 등장.
– 데이터 증강 기법을 활용하여 더 강력한 표현 학습.
– Transformer 기반 self-supervised 학습의 확장.
– 대표적인 모델:
– SimCLR: Contrastive 학습을 기반으로 데이터 증강과 InfoNCE 손실을 활용하여 강력한 표현 학습.
– BYOL (Bootstrap Your Own Latent): Negative sample 없이 positive pair만을 사용하여 학습.
– MoCo (Momentum Contrast): 메모리 큐를 활용하여 효율적인 contrastive 학습을 구현.
– DINO: Vision Transformer를 활용한 self-supervised 학습.
4. Downstream Task에서 모델 성능 평가를 위한 주요 지표
– Self-supervised 학습에서 학습된 표현은 다양한 downstream task에서 평가된다.
– 주요 지표:
– Accuracy: 분류 문제에서 올바르게 예측한 샘플의 비율.
– F1-Score: 정밀도(Precision)와 재현율(Recall)의 조화 평균.
– ROC-AUC: 분류기의 성능을 측정하는 곡선 아래 면적.
– Mean Average Precision (mAP): 객체 검출 및 랭킹 문제에서 사용되는 지표.
– Top-k Accuracy: 모델이 k개의 상위 예측 중 하나를 올바르게 맞췄는지 평가.
5. Contrastive/Self-supervised 학습의 실제 응용 사례
– 의료 영상 분석:
– 의료 데이터를 레이블링하는 데 비용이 많이 들기 때문에 self-supervised 학습을 활용하여 효율적으로 모델을 학습.
– X-ray, MRI, CT 이미지에서 feature를 학습하여 진단 및 분류에 활용.
– 추천 시스템:
– 사용자 행동 데이터를 기반으로 self-supervised 학습을 활용하여 추천 품질을 향상.
– 사용자-아이템 관계를 contrastive 학습으로 모델링.
– 자연어 처리:
– 언어 모델에서 self-supervised 학습을 활용하여 텍스트 표현 학습.
– BERT, GPT 등의 모델은 self-supervised 방식을 기반으로 학습.
– 자율 주행:
– 자율 주행 차량의 센서 데이터를 활용하여 객체 검출 및 환경 인식을 강화.
– 라이다(LiDAR) 데이터에서 self-supervised 학습을 통해 표현 학습.