대조 학습은 머신 러닝(ML)의 강력한 기술로, 특히 자기 지도 학습(SSL)에서 두드러지게 나타납니다. 꼼꼼하게 레이블이 지정된 데이터에 크게 의존하는 대신, 모델에 유사한 데이터 포인트와 그렇지 않은 데이터 포인트를 구별하도록 학습시켜 의미 있는 표현을 학습합니다. 핵심 아이디어는 간단합니다. 임베딩 공간에서 '유사한' 예제의 표현을 더 가깝게 끌어당기고 '다른' 예제의 표현을 더 멀리 밀어내는 것입니다. 이 접근 방식을 통해 모델은 방대한 양의 레이블이 없는 데이터에서 풍부한 기능을 학습할 수 있으며, 이를 미세 조정을 통해 다양한 다운스트림 작업에 적용할 수 있습니다.
대조 학습의 작동 원리
이 프로세스에는 일반적으로 다음과 같은 단계가 포함됩니다:
- 데이터 증강: 레이블이 지정되지 않은 데이터 요소(예: 이미지)로 시작합니다. 이 데이터 요소의 증강 버전을 두 개 이상 만듭니다. 이러한 증강 버전은 동일한 소스에서 비롯된 것이므로 '포지티브 쌍'을 형성하며, 유사한 것으로 간주해야 합니다. 일반적인 데이터 증강 기법에는 무작위 자르기, 색상 지터링, 회전 또는 노이즈 추가 등이 있습니다.
- 네거티브 샘플링: 데이터 집합(또는 현재 배치)에서 원래 데이터 포인트와 다른 다른 데이터 포인트를 선택합니다. 이렇게 하면 원래 데이터 포인트의 증강과 '네거티브 쌍'을 형성합니다.
- 인코딩: 인코더 신경망(NN)을 통해 양수 및 음수 샘플을 모두 통과시킵니다. 보통 이미지용 컨볼루션 신경망(CNN) 이나 텍스트 또는 이미지용 트랜스포머(비전 트랜스포머(ViT))를 사용합니다. 이 네트워크는 입력 데이터를 임베딩이라고 하는 저차원 표현으로 변환합니다.
- 손실 계산: InfoNCE(노이즈 대비 추정) 또는 삼중 손실과 같은 대비 손실 함수를 적용합니다. 이 함수는 임베딩 사이의 거리를 기준으로 점수를 계산합니다. 양수 쌍의 임베딩은 가깝게(낮은 거리/높은 유사성), 음수 쌍의 임베딩은 멀리(높은 거리/낮은 유사성) 배치하도록 권장합니다.
- 최적화: 확률적 경사 하강(SGD) 또는 아담과 같은 최적화 알고리즘을 사용하여 계산된 손실에 따라 인코더의 가중치를 업데이트하고, 역전파를 통해 학습된 표현의 품질을 반복적으로 개선합니다.
대조 학습과 관련 용어
대조 학습은 다른 ML 패러다임과 다릅니다:
- 지도 학습: 각 데이터 포인트에 대한 명시적인 레이블이 필요합니다(예: '고양이', '개'). 대조 학습은 주로 레이블이 없는 데이터를 사용하여 포지티브/네거티브 페어링을 통해 자체적인 감독 신호를 생성합니다.
- 비지도 학습(클러스터링): K-Means와 같은 방법은 내재된 구조를 기반으로 데이터를 그룹화합니다. 대조 학습은 모델을 명시적으로 훈련하여 유사성이 양/음 쌍으로 정의되는 표현 공간을 생성하고 판별 특징을 학습하는 데 중점을 둡니다.
- 생성 모델: GAN 또는 확산 모델과 같은 모델은 훈련 데이터와 유사한 새로운 데이터를 생성하는 방법을 학습합니다. 대조 학습은 데이터를 생성하는 것이 아니라 판별 표현을 학습하는 데 중점을 둡니다.
실제 애플리케이션
대조 학습은 다른 작업으로 잘 전이되는 표현을 학습하는 데 탁월합니다:
- 컴퓨터 비전 사전 학습: SimCLR 및 MoCo와 같은 모델은 라벨이 지정되지 않은 대규모 이미지 데이터 세트(예: ImageNet)에 대해 사전 학습됩니다. 학습된 기능은 다음과 같은 모델을 사용하여 이미지 분류, 물체 감지 등의 작업을 위해 모델을 미세 조정할 때 성능을 크게 향상시킵니다. Ultralytics YOLO11또는 시맨틱 세분화와 같은 작업을 위해 모델을 조정할 때 성능이 크게 향상됩니다. 예를 들어 일반 이미지에 대한 대비 학습으로 사전 훈련된 모델을 레이블이 적은 데이터로 의료 이미지 분석 이나 위성 이미지 분석과 같은 전문 작업에 맞게 효과적으로 미세 조정할 수 있습니다.
- 자연어 처리(NLP): 고품질의 문장 또는 문서 임베딩을 학습하는 데 사용됩니다. 예를 들어, 동일한 개념을 설명하는 서로 다른 단어의 두 문장(포지티브 쌍)은 비슷한 임베딩이 있어야 하고, 서로 관련이 없는 의미를 가진 문장(네거티브 쌍)은 서로 다른 임베딩이 있어야 한다는 것을 인식하도록 모델을 훈련할 수 있습니다. 이는 시맨틱 검색, 질문 답변, 텍스트 클러스터링에 유용합니다. CLIP 모델은 특히 대조 학습을 사용해 텍스트와 이미지 표현을 연결합니다.
- 추천 시스템: 상호 작용 패턴을 기반으로 사용자 및 항목에 대한 임베딩을 학습합니다.
- 이상 징후 탐지: 정상 데이터가 밀집되어 있는 표현을 학습하여 비정상 데이터 포인트를 식별함으로써 이상값을 더 쉽게 찾아낼 수 있습니다.
혜택과 과제
혜택:
- 라벨 의존성 감소: 라벨이 지정되지 않은 방대한 양의 데이터를 활용하여 비용과 시간이 많이 소요되는 데이터 라벨링의 필요성을 줄입니다.
- 강력한 표현: 순수 감독 방식에 비해 성가신 변형에 더 변하지 않는 특징을 학습하는 경우가 많습니다.
- 효과적인 사전 교육: 특정 다운스트림 작업에 대한 미세 조정을 위한 훌륭한 출발점을 제공하며, 특히 레이블이 지정된 데이터가 제한적인 경우(소수 학습) 더 나은 성능을 이끌어내는 경우가 많습니다.
도전 과제:
- 음성 샘플 선택: 성능은 음성 샘플의 수와 품질에 민감할 수 있습니다. 유익한 음성 샘플을 선택하는 것은 매우 중요하지만 쉽지 않습니다.
- 증강 전략: 데이터 증강 기술의 선택은 모델이 학습하는 불변성에 큰 영향을 미칩니다.
- 계산 비용: 효과적인 학습을 위해서는 종종 큰 배치 크기와 상당한 컴퓨팅 리소스(GPU)가 필요하지만, 이를 완화하기 위한 연구가 진행 중입니다. 이러한 모델을 쉽게 관리하고 훈련할 수 있는 플랫폼은 Ultralytics HUB와 같은 플랫폼입니다. 다음과 같은 프레임워크 PyTorch(공식 사이트) 및 TensorFlow(공식 사이트)와 같은 프레임워크는 대조 학습 방법을 구현하기 위한 도구를 제공합니다.