Contrastive Learning
머신 러닝에서 대조 학습을 살펴보세요. 자기 지도 데이터를 사용해 Ultralytics YOLO26과 컴퓨터 비전을 위한 강력한 AI 특징을 구축하는 방식을 알아보세요.
대조 학습은 유사한 샘플과 서로 다른 샘플을 비교하여 모델이 데이터를 이해하도록 가르치는 머신 러닝 패러다임입니다. 수작업으로 레이블이 지정된 데이터셋에 크게 의존하는 전통적인 지도 학습과 달리, 대조 학습은 자기 지도 학습 환경에서 자주 사용됩니다. 핵심 아이디어는 간단하면서도 강력합니다. 모델은 관련 항목의 표현(positive pair)을 벡터 공간에서 서로 더 가깝게 끌어당기는 동시에 관련 없는 항목(negative pair)은 더 멀리 밀어내는 방법을 학습합니다. 이 과정을 통해 알고리즘은 방대한 양의 레이블이 지정되지 않은 데이터에서 견고하고 일반화 가능한 특징을 구축할 수 있으며, 이는 인공지능 (AI) 시스템을 확장하는 데 매우 중요합니다.
대조 학습의 작동 원리#
대조 학습의 핵심에는 비교를 통한 학습이라는 개념이 있습니다. 모델은 특정 이미지가 "고양이"라는 사실을 암기하는 대신, 고양이를 촬영한 서로 다른 두 사진이 개 사진과 비교할 때보다 서로 더 유사하다는 것을 학습합니다. 이는 일반적으로 데이터 증강을 통해 달성됩니다. 흔히 "anchor"라고 부르는 입력 이미지는 자르기, 뒤집기 또는 색상 지터링과 같은 기법을 사용하여 서로 다른 두 가지 버전으로 변환됩니다. 이 두 버전이 positive pair를 구성합니다. 그런 다음 배치 내 다른 무작위 이미지(negative sample)와의 거리는 최대화하면서 두 이미지의 임베딩 간 거리는 최소화하도록 모델을 학습합니다.
이 접근 방식은 신경망이 저수준 픽셀 세부 정보보다 고수준 의미적 특징에 집중하도록 돕습니다. 예를 들어 자동차가 빨간색인지 파란색인지, 왼쪽을 향하는지 오른쪽을 향하는지와 관계없이 "자동차"라는 기본 개념은 동일합니다. 이러한 피상적인 변화를 무시함으로써 모델은 시각적 세계를 더 깊이 이해하게 되며, 이는 객체 감지 및 분류와 같은 다운스트림 작업에 큰 도움이 됩니다.
실제 적용 사례#
대조 학습은 최신 AI 애플리케이션의 핵심 기술로 자리 잡았으며, 특히 레이블이 지정된 데이터를 확보하기 어렵거나 비용이 많이 드는 경우에 유용합니다.
-
제로샷 이미지 분류: CLIP (대조 언어-이미지 사전 학습)과 같은 모델은 대조 학습을 사용하여 공유 특징 공간에서 이미지와 텍스트를 정렬합니다. 수백만 개의 이미지-텍스트 쌍으로 학습하면서 모델은 시각적 개념과 자연어 설명을 연결하는 방법을 학습합니다. 이를 통해 제로샷 학습이 가능해집니다. 즉, 모델은 이미지를 텍스트 프롬프트와 단순히 일치시켜 학습 중 한 번도 보지 못한 범주로 이미지를 분류할 수 있습니다.
-
의료 영상의 견고한 사전 학습: 의료 분야에서는 전문가가 레이블을 지정한 의료 스캔을 확보하는 데 많은 비용과 시간이 듭니다. 연구자들은 대규모의 레이블이 지정되지 않은 X-ray 또는 MRI 스캔 데이터베이스에서 모델을 사전 학습하는 데 대조 학습을 사용합니다. 이러한 비지도 사전 학습은 강력한 백본을 생성하며, 소수의 레이블이 지정된 예제로 파인튜닝하여 폐렴이나 종양과 같은 질병을 높은 정확도로 감지할 수 있습니다. 이 기법은 전이 학습을 활용하여 의료 분야의 AI 진단 도구를 개선합니다.
관련 개념 구분하기#
유사한 기법과 대조 학습을 구분하면 머신 러닝 (ML) 분야에서 대조 학습이 수행하는 고유한 역할을 이해하는 데 도움이 됩니다.
- 오토인코더와 비교: 두 방법 모두 비지도 방식이지만, 오토인코더는 입력 데이터를 픽셀 단위로 재구성하여 병목 레이어로 압축하는 것을 목표로 합니다. 반면 대조 학습은 이미지를 재생성하려 하지 않고, 서로 다른 개념을 구분하는 판별적 표현을 학습하는 데만 집중합니다.
- 생성적 적대 신경망과 비교: GAN (생성적 적대 신경망)은 생성기가 가짜 데이터를 만들고 판별기가 이를 감지하려고 하는 구조입니다. 대조 학습은 데이터 생성보다 표현 학습에 집중하므로 검색, 검색 결과 추출 및 분류와 같은 작업에 더 적합합니다.
- Triplet Loss와 비교: 기존의 triplet loss는 anchor, positive, negative sample을 명시적으로 요구합니다. SimCLR 또는 MoCo와 같은 최신 대조 방법은 배치 내에서 특정 손실 함수(예: InfoNCE)를 사용하는 경우가 많으며, 여러 negative sample과 동시에 anchor를 비교하여 이 개념을 일반화합니다.
임베딩을 활용한 실제 예제#
대조 모델을 처음부터 학습하려면 많은 리소스가 필요하지만, 사전 학습된 모델을 사용하여 특징을 쉽게 추출할 수 있습니다. 다음 예제에서는 ultralytics 패키지를 사용하여 모델을 로드하고 이미지의 특징 벡터(임베딩)를 추출하는 방법을 보여 줍니다. 이 임베딩은 대조 사전 학습과 유사한 기법을 통해 학습된 의미적 콘텐츠를 나타냅니다.
from ultralytics import YOLO
# Load a pre-trained YOLO26 classification model
model = YOLO("yolo26n-cls.pt")
# Run inference on an image to get the results
# The 'embed' argument can be used in advanced workflows to extract feature layers
results = model("https://ultralytics.com/images/bus.jpg")
# Access the top predicted class probability
# This prediction is based on the learned feature representations
print(f"Top class: {results[0].names[results[0].probs.top1]}")
print(f"Confidence: {results[0].probs.top1conf:.4f}")풍부하고 의미 있는 특징을 추출할 수 있는 이러한 능력은 최신 컴퓨터 비전 (CV) 시스템을 구축하는 데 대조 학습이 필수적인 이유이며, 효율적인 이미지 검색과 고급 분석을 가능하게 합니다. 이러한 고급 아키텍처의 이점을 활용하는 데이터셋과 커스텀 모델을 관리하기 위해 Ultralytics Platform은 배포 및 모니터링을 위한 간소화된 환경을 제공합니다.









