Self-Supervised Learning
self-supervised learning이 수동 라벨링의 필요성을 없애는 방식을 살펴봅니다. Ultralytics YOLO26을 향상하는 생성 및 대조 SSL 방법을 알아봅니다.
자기지도 학습(SSL)은 외부에서 사람이 제공하는 라벨에 의존하지 않고 데이터 자체에서 감독 신호를 생성하여 시스템이 데이터를 이해하도록 학습하는 머신러닝 패러다임입니다. 전통적인 **지도 학습**에서는 모델에 "고양이" 또는 "개"와 같이 라벨이 지정된 이미지 등의 대규모 수동 주석 데이터가 필요하며, 이러한 데이터를 생성하려면 많은 비용과 시간이 듭니다. SSL은 모델이 입력 데이터에서 숨겨지거나 누락된 부분을 예측해야 하는 "프리텍스트 작업"을 생성하여 이러한 병목을 우회하며, 이를 통해 객체 탐지 및 분류와 같은 복잡한 작업에 필요한 기본 구조와 특징을 스스로 학습합니다.
자기지도 학습의 핵심 메커니즘#
SSL의 기본 아이디어는 데이터의 일부를 마스킹하거나 숨긴 다음, **신경망(NN)**이 해당 부분을 복원하거나 동일한 데이터의 서로 다른 뷰 간 관계를 예측하도록 하는 것입니다. 이 과정은 풍부한 범용 표현을 생성하며, 이러한 표현은 이후 특정 다운스트림 애플리케이션에 맞게 미세 조정할 수 있습니다.
SSL에는 두 가지 주요 접근 방식이 있습니다.
- 생성 방법: 모델이 빈 부분을 채우기 위해 픽셀이나 단어를 생성하도록 학습합니다. **자연어 처리(NLP)**의 고전적인 예로는 문장에서 다음 단어를 예측하는 작업이 있습니다. 컴퓨터 비전에서는 **마스크 오토인코더(MAE)**와 같은 기법이 이미지의 무작위 패치를 가리고 모델이 누락된 픽셀을 복원하도록 하여 시각적 맥락을 "이해"하도록 합니다.
- 대조 학습: 이 방법은 모델이 유사한 데이터 포인트와 서로 다른 데이터 포인트를 구별하도록 학습합니다. 이미지에 크롭, 색상 지터링 또는 회전과 같은 데이터 증강 기법을 적용하면, 모델은 이러한 변형된 버전이 동일한 객체를 나타낸다는 것을 학습하고(양성 쌍), 다른 이미지는 서로 다른 객체로 취급합니다(음성 쌍). **SimCLR**과 같은 인기 프레임워크는 이 원리에 크게 의존합니다.
실제 적용 사례#
자기지도 학습은 다양한 도메인에서 강력한 **파운데이션 모델**을 구축하기 위한 핵심 요소가 되었습니다. 방대한 양의 비라벨 데이터를 활용할 수 있어 확장성이 매우 높습니다.
- 의료 영상: 전문가가 라벨링한 의료 스캔을 확보하는 일은 어렵고 비용이 많이 듭니다. SSL을 사용하면 모델이 라벨이 없는 수천 개의 X선 또는 MRI 스캔으로 사전 학습하여 일반적인 해부학적 특징을 학습할 수 있습니다. 그런 다음 이 사전 학습 모델을 소수의 라벨링된 예제로 미세 조정하여 종양 탐지 또는 질병 진단에서 높은 정확도를 달성할 수 있습니다.
- 자율 주행: 자율 주행 자동차는 매일 테라바이트 규모의 동영상 데이터를 생성합니다. SSL을 사용하면 이러한 시스템이 프레임 단위의 주석 없이 원시 동영상에서 시간적 동역학과 공간적 이해를 학습할 수 있습니다. 이는 미래 프레임이나 객체의 움직임을 예측하여 차선 탐지 및 장애물 회피 성능을 향상하는 데 도움이 됩니다.
SSL과 관련 용어의 구분#
SSL과 **비지도 학습**을 구분하는 것이 중요합니다. 두 방법 모두 라벨이 없는 데이터를 활용하지만, 비지도 학습은 일반적으로 특정 예측 작업 없이 숨겨진 패턴이나 그룹(클러스터링)을 찾는 데 중점을 둡니다. 반면 SSL은 데이터 구조 자체에서 라벨을 자동으로 생성하여 학습 과정을 지도 학습 작업으로 구성합니다. 또한 **반지도 학습**은 소량의 라벨링된 데이터와 대량의 비라벨 데이터를 결합하는 반면, 순수한 SSL은 미세 조정이 이루어지기 전에 비라벨 데이터셋에서 전적으로 자체 라벨을 생성합니다.
Ultralytics에서 사전 학습된 가중치 활용하기#
Ultralytics 생태계에서 **YOLO26**과 같은 모델은 ImageNet 또는 **COCO**와 같은 대규모 데이터셋에서 사전 학습 단계 중 SSL과 유사한 원리를 통합하는 고급 학습 전략을 통해 큰 이점을 얻습니다. 이를 통해 사용자가 특정 작업에 모델을 배포할 때 특징 추출기가 이미 견고한 상태를 갖추게 됩니다.
사용자는 **Ultralytics Platform**을 사용하여 이러한 강력한 사전 학습 표현을 활용하고 자체 커스텀 데이터셋에 맞게 모델을 미세 조정할 수 있습니다.
다음은 사전 학습된 Ultralytics YOLO26 모델을 불러오고, 초기 대규모 학습에서 학습된 특징을 활용하여 새 데이터셋에 대한 미세 조정을 시작하는 간단한 예제입니다.
from ultralytics import YOLO
# Load a pre-trained YOLO26 model (weights learned from large-scale data)
model = YOLO("yolo26n.pt")
# Fine-tune the model on a specific dataset (e.g., COCO8)
# This leverages the robust feature representations learned during pre-training
results = model.train(data="coco8.yaml", epochs=50, imgsz=640)SSL의 미래#
Meta AI 및 **Google DeepMind**와 같은 주요 연구소의 연구자들이 이러한 기법을 계속 개선함에 따라, SSL은 **생성형 AI**와 컴퓨터 비전에서 가능한 범위를 넓히고 있습니다. SSL은 라벨링된 데이터에 대한 의존도를 낮춤으로써 고성능 AI에 대한 접근성을 확대하고 있으며, 소규모 팀도 야생동물 보전 또는 **산업 검사**와 같은 틈새 애플리케이션을 위한 정교한 모델을 구축할 수 있도록 합니다.









