컴퓨터비전

Self-Supervised Learning과 Unsupervised Learning의 차이점

수디sudy 2025. 2. 18. 15:32

1. Self-Supervised Learning (자기 지도 학습)

📌 개념:

  • 사람이 라벨을 달지 않아도, 데이터에서 자동으로 라벨을 생성하여 학습하는 방법
  • 보통 일부 데이터 특성을 예측하는 프리텍스트(pretext) 태스크를 설정하여 모델을 훈련한 후, 그 모델을 다른 실제 태스크(다운스트림 태스크)에 활용

📌 특징:
라벨 없이도 지도학습처럼 훈련 가능
프리텍스트 태스크를 설정하여 데이터에서 정보를 학습
다운스트림(task-specific) 문제 해결을 위한 사전 학습(pre-training)으로 활용

📌 예시:

  1. 언어 모델 (NLP)
    • GPT, BERT 같은 모델이 대표적
    • 단어 일부를 가리고 나머지 단어를 통해 예측하는 "Masked Language Model(MLM)" 방식
    • 예: "I love [MASK] coffee" → "[MASK]"를 "drinking"으로 예측
  2. 컴퓨터 비전 (CV)
    • 이미지의 일부를 가린 후 원래 이미지를 복원하도록 학습 (예: MAE, SimCLR, MoCo)
    • 예: 퍼즐 조각을 섞어 놓고 원래 위치를 예측하도록 학습

 


 

2. Unsupervised Learning (비지도 학습)

📌 개념:

  • 라벨 없이 데이터의 숨겨진 패턴을 찾는 기법
  • 대표적으로 클러스터링(Clustering), 차원 축소(Dimensionality Reduction) 등의 방법이 있음

📌 특징:
데이터에서 구조를 학습하지만, 명확한 정답(라벨)이 없음
탐색적 데이터 분석, 이상 탐지(Anomaly Detection) 등에 유용
일반적으로 지도학습처럼 특정 태스크를 위한 예측 모델을 만들지는 않음

📌 예시:

  1. 클러스터링 (Clustering)
    • K-means, DBSCAN, Hierarchical Clustering 등을 이용하여 데이터 그룹을 자동으로 찾음
    • 예: 고객 데이터를 그룹화하여 마케팅 타겟 세그먼트 만들기
  2. 차원 축소 (Dimensionality Reduction)
    • PCA(주성분 분석), t-SNE, UMAP 같은 방법을 활용하여 데이터의 중요한 특징만 남김
    • 예: 고차원 이미지 데이터를 저차원 특징 벡터로 변환하여 시각화

 


 

3. Self-Supervised Learning vs. Unsupervised Learning 차이점

구분Self-Supervised LearningUnsupervised Learning

목적 프리텍스트 태스크를 학습하여 다운스트림 태스크 성능 향상 데이터의 패턴을 찾거나 그룹화
라벨 없음 (하지만 데이터에서 자동 생성) 없음
학습 방식 프리텍스트 태스크 설정 후 학습 데이터 내 패턴을 직접 탐색
출력 결과 사전 학습된 모델 (추후 fine-tuning 가능) 클러스터링 결과 또는 저차원 표현
대표 알고리즘 BERT, GPT, SimCLR, MoCo, MAE K-means, PCA, t-SNE, DBSCAN

 

 


 

4. 쉽게 이해하는 비유

  • Unsupervised Learning: 학생이 교재(데이터)를 보면서 스스로 패턴을 찾는 것 (어떤 개념이 중요할지 알아냄)
  • Self-Supervised Learning: 교사가 문제(프리텍스트 태스크)를 만들어서 학생이 풀도록 유도하는 것 (문제를 해결하며 학습)

 


 

결론

🔹 Self-Supervised Learning프리텍스트 태스크를 설정하여 모델을 학습한 후, 다른 태스크에 활용하기 위한 사전학습(Pre-training) 기법
🔹 Unsupervised Learning데이터의 구조를 직접 분석하는 방법으로, 주로 클러스터링이나 차원 축소에 사용

👉 Self-Supervised Learning은 지도학습과 비지도학습의 중간 지점에 있는 개념으로 볼 수 있다