알고리즘·논문: 대표 방법 – SimCLR
ㅁ 대표 방법
1. SimCLR
ㅇ 정의:
대규모 비라벨 데이터에 대해 데이터 증강과 대조 학습(Contrastive Learning)을 결합하여 시각 표현 학습을 수행하는 자기지도학습 기법. Google Brain에서 제안.
ㅇ 특징:
– 데이터 증강(색상 왜곡, 랜덤 크롭, 가우시안 블러 등)을 강하게 적용하여 같은 이미지의 두 뷰를 생성.
– 동일 이미지의 두 뷰는 임베딩 공간에서 가깝게, 다른 이미지의 뷰는 멀게 학습.
– NT-Xent(Temperature-scaled Cross Entropy) 손실 함수 사용.
– 배치 크기가 클수록 성능이 향상되는 경향.
ㅇ 적합한 경우:
– 라벨 데이터가 거의 없고 대규모 이미지 데이터셋이 존재할 때.
– 사전학습된 시각 표현을 다운스트림 태스크(분류, 탐지 등)에 활용하려 할 때.
ㅇ 시험 함정:
– SimCLR은 지도학습 기반이라고 잘못 표기하는 경우 → X.
– 배치 크기가 작아도 동일한 성능을 낸다고 설명하는 경우 → X.
– 데이터 증강을 사용하지 않는다고 하는 경우 → X.
ㅇ 시험 대비 “패턴 보기” 예시:
O: “SimCLR은 동일 이미지의 두 증강 뷰를 임베딩 공간에서 가깝게 학습한다.”
X: “SimCLR은 레이블 정보를 활용하여 대조 학습을 수행한다.”
O: “SimCLR은 NT-Xent 손실을 사용한다.”
X: “SimCLR은 데이터 증강을 최소화하여 학습 안정성을 높인다.”
ㅁ 추가 학습 내용
SimCLR의 핵심 구성 요소는 다음과 같다.
1. 강력한 데이터 증강
2. 인코더(예: ResNet)
3. 투영 헤드(Projection Head)
4. 대조 손실
투영 헤드는 학습 시 임베딩 품질을 향상시키는 역할을 하며, 실제 다운스트림 태스크에서는 투영 헤드 이전의 표현을 활용한다.
NT-Xent 손실은 온도 파라미터를 사용하여 양성 샘플과 음성 샘플 간의 구분 민감도를 조절한다.
SimCLR v2에서는 더 깊은 네트워크 구조, 더 긴 학습 시간, 더 많은 데이터 사용을 통해 성능을 개선하였다.
시험에서는 MoCo, BYOL 등 다른 대조 학습 기법과의 차이점을 묻는 문제가 나올 수 있으며, 특히 메모리 뱅크 사용 여부와 모멘텀 인코더 사용 여부의 차이를 비교하는 내용이 중요하다.