Contrastive Learning
머신러닝에서의 대조 학습(contrastive learning)을 탐구해 보십시오. 이것이 Ultralytics YOLO26와 컴퓨터 비전을 위해 자기지도(self-supervised) 데이터를 사용하여 강력한 AI 특징을 구축하는 방법을 배우십시오.
대조 학습(Contrastive learning)은 모델이 유사한 샘플과 유사하지 않은 샘플을 비교하여 데이터를 이해하도록 가르치는 머신 러닝 패러다임입니다. 수동으로 레이블이 지정된 데이터 세트에 크게 의존하는 전통적인 supervised learning과 달리, 대조 학습은 종종 self-supervised learning 컨텍스트에서 사용됩니다. 핵심 아이디어는 단순하지만 강력합니다. 모델은 관련 항목의 표현(양성 쌍)은 벡터 공간에서 서로 더 가깝게 당기고, 관련 없는 항목의 표현(음성 쌍)은 더 멀리 밀어내도록 학습합니다. 이 프로세스를 통해 알고리즘은 방대한 양의 레이블이 지정되지 않은 데이터로부터 견고하고 일반화 가능한 피처를 구축할 수 있으며, 이는 artificial intelligence (AI) 시스템을 확장하는 데 매우 중요합니다.
대조 학습의 메커니즘#
대조 학습의 핵심에는 비교를 통한 학습이라는 개념이 있습니다. 특정 이미지가 "고양이"라고 암기하는 대신, 모델은 고양이의 서로 다른 두 사진이 각각 개 사진과의 관계보다 서로 더 유사하다는 것을 학습합니다. 이는 일반적으로 data augmentation을 통해 달성됩니다. "앵커"라고 자주 불리는 입력 이미지는 자르기, 뒤집기, 색상 지터링 같은 기법을 사용하여 두 가지 버전으로 변환됩니다. 이 두 버전이 양성 쌍을 형성합니다. 그런 다음 모델은 배치 내의 다른 무작위 이미지(음성 샘플)와의 거리를 최대화하면서 이들의 embeddings 간 거리를 최소화하도록 학습됩니다.
이 접근 방식은 neural network가 저수준 픽셀 세부 정보가 아닌 고수준의 시의적절한 의미론적 피처에 집중하도록 돕습니다. 예를 들어 자동차가 빨간색이든 파란색이든, 왼쪽을 보든 오른쪽을 보든 "자동차"라는 기본 개념은 동일합니다. 이러한 표면적인 변형을 무시함으로써 모델은 시각적 세계에 대한 더 깊은 이해를 발달시키며, 이는 object detection 및 분류 같은 다운스트림 작업에 큰 도움이 됩니다.
실제 애플리케이션 사례#
대조 학습은 특히 라벨링된 데이터를 확보하기 어렵거나 비용이 많이 드는 분야에서 많은 최첨단 AI 애플리케이션의 초석이 되었습니다.
-
제로샷 이미지 분류: CLIP (Contrastive Language-Image Pre-training) 같은 모델은 대조 학습을 사용하여 공유된 피처 공간에서 이미지와 텍스트를 정렬합니다. 수백만 개의 이미지-텍스트 쌍으로 학습함으로써, 모델은 시각적 개념을 자연어 설명과 연결하는 법을 학습합니다. 이를 통해 zero-shot learning이 가능해지며, 모델은 이미지를 텍스트 프롬프트와 매칭하는 것만으로 학습 중에 본 적 없는 카테고리로 이미지를 분류할 수 있습니다.
-
의료 영상 분석을 위한 강력한 사전 학습: 헬스케어 분야에서는 전문가가 레이블을 지정한 의료 스캔을 얻는 데 비용과 시간이 많이 소요됩니다. 연구원들은 대조 학습을 사용하여 레이블이 지정되지 않은 대규모 X선 또는 MRI 스캔 데이터베이스에서 모델을 사전 학습합니다. 이 비지도 사전 학습은 소수의 레이블이 지정된 예제로 미세 조정하여 폐렴이나 종양 같은 질병을 높은 정확도로 감지할 수 있는 강력한 backbone을 생성합니다. 이 기술은 transfer learning을 활용하여 AI in healthcare의 진단 도구를 개선합니다.
관련 개념 구분#
machine learning (ML) 환경에서 대조 학습의 고유한 역할을 이해하려면 유사한 기법과 대조 학습을 구분하는 것이 도움이 됩니다.
- vs. 오토인코더: 둘 다 비지도 방법이지만, autoencoders는 입력 데이터를 픽셀 단위로 재구성하여 병목 레이어로 압축하는 것을 목표로 합니다. 반면 대조 학습은 이미지를 재창조하려 하지 않고 서로 다른 개념을 분리하는 판별적 표현을 학습하는 데만 초점을 맞춥니다.
- vs. 생성적 적대 신경망(GAN): GANs은 가짜 데이터를 생성하는 생성자와 이를 감지하려는 판별자를 포함합니다. 대조 학습은 데이터 생성보다는 표현 학습에 초점을 맞추므로 검색, 리이트리벌, 분류 같은 작업에 더 적합합니다.
- vs. 삼중항 손실(Triplet Loss): 전통적인 삼중항 손실은 앵커, 양성 샘플, 음성 샘플을 명시적으로 요구합니다. SimCLR이나 MoCo 같은 현대의 대조 방법은 배치 내에서 앵커를 여러 음성 샘플과 동시에 비교하며 이를 일반화하며, 종종 InfoNCE와 같은 특정 loss function을 사용합니다.
임베딩을 사용한 실습 예제#
처음부터 대조 모델을 학습하는 것은 리소스 집약적이지만, 사전 학습된 모델을 사용하여 피처를 쉽게 추출할 수 있습니다. 다음 예제는 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}")풍부하고 의미 있는 피처를 추출할 수 있는 이러한 능력 덕분에 대조 학습은 현대 computer vision (CV) 시스템을 구축하는 데 필수적이며, 효율적인 image search와 고급 분석을 가능하게 합니다. 이러한 고급 아키텍처의 혜택을 받는 데이터 세트 관리 및 커스텀 모델 학습을 위해 Ultralytics Platform은 배포 및 모니터링을 위한 간소화된 환경을 제공합니다.






