데이터: 데이터 타입 및 변환 – projection head
ㅁ 데이터 타입 및 변환
1. projection head
ㅇ 정의:
딥러닝, 특히 자기지도학습(self-supervised learning)이나 표현학습에서, 인코더가 생성한 임베딩을 다운스트림 태스크에 적합한 표현 공간으로 변환하는 추가 신경망 모듈. 주로 MLP 형태로 구성되며, 원본 특징 벡터를 투영(projection)하여 학습 목표에 맞는 벡터로 변환한다.
ㅇ 특징:
– 인코더와 분리된 모듈로, 학습 시에는 사용되지만 추론 시에는 제거되는 경우가 많음.
– 특징 공간을 변환하여 contrastive loss, clustering loss 등에 최적화.
– 일반적으로 소규모 완전연결층(fully connected layers)과 활성화 함수로 구성.
– 표현의 비선형 변환을 통해 학습 안정성과 성능 향상.
ㅇ 적합한 경우:
– SimCLR, BYOL, MoCo 등 contrastive/self-supervised 학습.
– 임베딩 공간을 태스크별로 재정의해야 하는 경우.
– 인코더 출력이 너무 일반적이어서 특정 손실함수에 맞지 않을 때.
ㅇ 시험 함정:
– projection head는 항상 추론 시에도 사용된다고 착각하기 쉬움 → 실제로는 제거하는 경우 많음.
– 인코더와 projection head를 동일한 개념으로 혼동.
– 단순히 차원 축소만 수행한다고 오해.
ㅇ 시험 대비 “패턴 보기” 예시:
O: “SimCLR에서 인코더 출력 후 projection head를 거쳐 contrastive loss를 계산한다.”
X: “Projection head는 항상 모델 배포 시에도 필수적으로 포함된다.”
ㅁ 추가 학습 내용
Projection head 학습 노트 정리
1. 설계 선택이 성능에 미치는 영향
– 층 수, 활성화 함수, 정규화 기법(BatchNorm, LayerNorm) 적용 여부에 따라 모델 성능이 달라질 수 있음.
– 적절한 조합 선택이 중요.
2. Projection head와 Predictor head의 차이
– BYOL 등 일부 방법에서는 projection head 뒤에 predictor head를 추가.
– Predictor head는 학습 안정화에 기여.
3. 차원 매핑의 목적
– 단순한 차원 축소뿐만 아니라, 학습 목표에 맞게 특징 분포를 재배치하는 역할 수행.
4. 학습 후 제거 이유
– Projection head는 주로 학습 손실 계산에 필요.
– 추론 시에는 제거해도 인코더의 표현 품질에 영향 없음.
5. 다양한 변형
– MLP 외에도 CNN, Transformer block 등을 projection head로 사용 가능.
– 멀티모달 학습에서는 각 모달리티에 특화된 projection head 설계가 중요.