자기 지도 학습(Self-Supervised Learning)
완전 정복
정답이 없는 데이터로 어떻게 모델을 학습시킬까? — 콘트라스트 학습 & 오토인코더
딥러닝 모델을 학습시키려면 X(입력)와 Y(정답)가 모두 필요합니다. 그런데 만약 정답 Y가 없다면? 현실에서는 데이터는 많지만 사람이 일일이 라벨을 붙인 "정답이 있는 데이터"는 굉장히 적은 경우가 대부분입니다.
이번 11주차에서는 정답이 없는 상황에서도 모델이 스스로 학습할 수 있게 만드는 자기 지도 학습(Self-Supervised Learning, SSL) 방법론을 다룹니다. SSL은 오늘날 GPT, BERT, MAE 같은 대형 모델들이 모두 의존하고 있는 핵심 기법이에요.
§1복습 — 학습의 종류
자기 지도 학습을 이해하려면 먼저 신경망 학습의 큰 그림을 짚고 가야 합니다. 학습 목표에 따라 신경망 학습은 크게 세 가지로 나뉩니다.
입력 X와 정답 Y가 모두 주어진다. "이 이미지는 강아지", "이 문장은 긍정" 같은 명시적 라벨로 학습.
정답이 없는 상태에서 데이터 간 관계성이나 유용한 학습 신호를 정의해 학습.
환경과 상호작용하며 보상(reward)을 최대화하는 방향으로 학습.
§2자기 지도 학습이란?
데이터 내의 숨겨진 구조나 관계성을 모델이 발견하도록
임의의 지도(레이블)를 스스로 생성하여 모델을 학습한다."
자기 지도 학습(SSL)은 비지도 학습의 한 종류입니다. 비지도 학습은 비지도 학습인데, 그 앞에 "자기(Self)"가 붙은 이유는 모델이 스스로 자신을 감독(supervise)한다는 의미예요. 사람이 라벨을 안 붙여줘도, 모델이 데이터 자체에서 Y가 될 만한 정보를 끄집어내서 학습 신호로 사용합니다.
예시 — 회전 예측(Rotation Prediction)
가장 초창기 SSL 방법 중 하나입니다. 같은 이미지를 0°, 90°, 180°, 270°로 회전시킨 뒤, 모델에게 "이 이미지는 몇 도 회전됐는지 맞춰봐"라고 학습시킵니다.
여기서 핵심은 회전 각도라는 라벨은 사람이 안 붙여도 자동으로 생성된다는 점입니다. 모델은 이 문제를 풀기 위해 어쩔 수 없이 "이미지의 정상적인 방향이 어떤 건지"를 학습해야 하고, 이 과정에서 이미지에 대한 일반적인 이해력이 길러집니다.
자기 지도 학습의 특징
수동으로 라벨을 붙일 필요가 없어 대규모 데이터 활용 가능.
데이터 자체의 구조나 관계성을 발견하도록 유도.
다양한 다운스트림 태스크에 적용 가능한 범용 표현 학습.
SSL은 마치 수능 보기 전 도서관에서 다양한 책을 읽는 것과 같습니다. 정답이 붙어 있는 모의고사 한 권만으로는 부족하니까, 다양한 책을 읽으며 한국어 문법, 문맥 해석 능력, 기초 상식을 쌓아두는 거죠. 그러면 막상 시험을 풀 때 훨씬 적은 문제집으로도 일반화가 잘 됩니다.
§3표현(Representation) 학습
자기 지도 학습의 동의어로 비지도 표현 학습(Unsupervised Representation Learning)이라는 용어가 자주 쓰입니다. 여기서 "표현"이란 도대체 뭘까요?
표현 벡터의 위치
딥러닝 모델은 입력 → 여러 층 → 출력의 구조를 가집니다. 한글을 영어로 번역하는 모델을 예로 들어볼게요. 모델은 한글을 받자마자 영어로 "슉" 변환하는 게 아니라, 여러 레이어를 거치면서 점점 추상화된 숫자 벡터로 데이터를 가공합니다.
좋은 표현(Good Representation)이란 무엇일까요? 강아지/고양이 분류 문제에서, 표현 벡터를 숫자 공간에 펼쳐봤을 때 강아지끼리 모여 있고 고양이끼리 모여 있다면 좋은 표현입니다. 반대로 강아지와 고양이가 뒤섞여 있다면 나쁜 표현이고요.
§4사전학습(Pre-training)과 파인튜닝
자기 지도 학습의 주된 목적은 사전학습(Pre-training)입니다. 본 게임에 들어가기 전 기본 실력을 쌓는 단계예요.
두 가지 핵심 용어
| 용어 | 의미 | 예시 |
|---|---|---|
| Pretext Task | 사전학습 단계에서 모델이 푸는 가짜 과제 | 회전 각도 맞추기, 마스킹된 픽셀 복원, 옆 단어 예측 |
| Downstream Task | 실제로 풀고 싶은 본 과제 | 강아지/고양이 분류, 감정 분석, 번역 |
학습 시나리오
-
1
대규모 비라벨 데이터로 사전학습: 라벨이 없는 10만 장의 이미지로 Pretext Task(예: 회전 예측)를 풀며 모델을 학습. 이 과정에서 이미지에 대한 일반적인 표현이 학습됩니다.
-
2
마지막 분류 레이어 교체: Pretext Task용 출력 레이어를 떼어내고, 다운스트림 태스크(예: 강아지/고양이 분류)에 맞는 새 분류 레이어로 교체.
-
3
소량의 라벨 데이터로 미세조정: 라벨이 있는 10장 정도의 데이터로 모델 전체 또는 분류 레이어만 추가 학습.
문제집 1권에 정답지가 있고, 정답 없는 자유 도서 10만 권이 있는 상황을 생각해보세요. 곧장 1권만 푸는 것보다, 먼저 10만 권을 다양하게 읽고 → 마지막에 1권을 풀면 훨씬 좋은 점수가 나옵니다. 이게 사전학습 + 파인튜닝의 핵심 아이디어예요.
§5리니어 프로빙 vs 파인튜닝
사전학습이 끝나고 다운스트림 태스크로 옮길 때, 두 가지 방법이 있습니다:
| 방법 | 학습 범위 | 특징 | 용도 |
|---|---|---|---|
| Linear Probing | 마지막 선형 분류기 1개 층만 | 표현 벡터까지는 고정(freeze), 그 위에 분류기만 학습 | 표현의 품질 자체를 엄밀하게 평가 |
| Fine-tuning | 모든 가중치 | 사전학습 가중치를 초기값으로 사용, 전체 다시 학습 | 실전에서 가장 많이 사용 |
§6콘트라스트 학습 (Contrastive Learning)
"어떤 학습 신호를 만들면 좋을까?"에 대한 첫 번째 유명한 답이 대조 학습(Contrastive Learning)입니다.
다른 의미를 가지는 데이터는 다른 표현을 생성해야 한다!"
핵심 아이디어 — Pull & Push
Positive Pair vs Negative Pair
예: 같은 강아지 사진을 크롭한 두 조각. 표현 공간에서 당겨야 함.
예: 강아지 사진과 고양이 사진. 표현 공간에서 밀어내야 함.
데이터 증강(Augmentation) — 의미를 유지한 채 변형
같은 이미지에서 두 개의 다른 뷰를 만들기 위해 사용되는 변환 함수들:
- Crop & Resize — 일부분만 잘라내고 크기 조정
- Flip — 좌우 반전
- Color Distortion — 색상 채도/밝기 변형
- Rotation — 90°, 180°, 270° 회전
- Cutout — 일부 영역을 회색으로 가리기
- Gaussian Noise / Blur — 노이즈나 블러 효과
- Sobel Filtering — 윤곽(shape)만 남기기
§7SimCLR — 이미지에서의 대표 사례
대조 학습의 가장 유명한 구현체가 SimCLR(Simple Contrastive Learning of Representations)입니다. Google Research의 Ting Chen 등이 ICML 2020에서 발표했어요.
SimCLR 학습 과정
-
1
하나의 이미지 샘플 $s$를 준비. 두 개의 변환 함수 $t \sim \mathcal{T}$, $t' \sim \mathcal{T}$를 샘플링.
-
2
$t$와 $t'$을 $s$에 각각 적용해서 두 개의 뷰 $x = t(s)$, $y = t'(s)$ 생성.
-
3
동일한 인코더 $f_e(\cdot)$를 통과시켜 표현 벡터 $h_x$, $h_y$ 획득.
-
4
프로젝션 헤드 $f_p(\cdot)$를 추가로 통과시켜 최종 벡터 $z_x$, $z_y$ 생성.
-
5
코사인 유사도 기반 손실 함수로 학습 (NT-Xent loss).
여기서 $\tau$는 온도(temperature) 파라미터이고, 분자는 positive pair의 유사도, 분모는 모든 negative pair까지 포함한 유사도의 합입니다.
놀라운 결과 — 지도학습과 거의 동등
§8SimCSE — 자연어에서의 대조 학습
자연어 처리(NLP) 분야에서도 비슷한 시도가 있었습니다. SimCSE(Simple Contrastive Learning of Sentence Embeddings)는 문장 임베딩을 대조 학습으로 만드는 방법입니다.
자연어 증강의 어려움
이미지는 회전이나 크롭을 해도 "강아지는 여전히 강아지"임이 명확합니다. 그런데 자연어는 어떨까요?
- 마스킹(Masking): 단어 일부를 [MASK]로 치환 — 하지만 의미가 크게 바뀔 수 있음
- 셔플링(Shuffling): 단어 순서 변경 — 문법적으로 어색해짐
- 단어 치환: 동의어로 바꾸기 — 미묘하게 다른 뉘앙스
그래서 SimCSE는 단순 증강 대신 NLI(Natural Language Inference) 데이터셋의 라벨을 활용합니다:
| 관계 | 예시 | 처리 |
|---|---|---|
| Entailment (함의) | "Two dogs are running." → "There are animals outdoors." | Positive pair (당기기) |
| Contradiction (모순) | "Two dogs are running." → "The pets are sitting on a couch." | Negative pair (밀어내기) |
§9오토인코더 (Autoencoder)
대조 학습은 강력하지만 단점도 있습니다 — 같은 뿌리/다른 뿌리를 명확히 구분하기 어렵거나(False Negative), 계산 비용이 크다는 점이에요. 그래서 최근에는 오토인코더 방식이 더 많이 사용됩니다.
모델은 가장 의미를 잘 나타내는 표현을 학습한다!"
대조 학습의 한계점
다른 샘플이지만 같은 클래스인 경우(예: 푸들 vs 포메라니안). 둘 다 강아지인데 밀어내버림.
전체 샘플에 대한 표현 벡터를 모두 계산해야 손실 함수를 정의할 수 있음.
크롭으로 강아지/고양이가 다른 뷰에 들어가면 학습이 꼬일 수 있음.
오토인코더의 작동 원리
-
1
입력 변형: 원본 이미지에 약간의 손상을 가함 (마스킹, 노이즈 추가 등).
-
2
인코더 통과: 손상된 입력을 인코더로 압축해 표현 벡터 $z$ 생성.
-
3
디코더 통과: $z$를 디코더에 넣어 원본을 복원(reconstruct).
-
4
복원 손실: 복원된 이미지와 원본 이미지의 차이를 최소화하도록 학습.
§10MAE & MLM — 마스킹으로 학습하기
MAE (Masked Autoencoder) — 이미지
Kaiming He 등이 2021년 발표한 MAE는 이미지를 작은 패치로 나눈 후 75%를 마스킹하고, 남은 25%만으로 원본 이미지를 복원하는 방식입니다. 마스킹 비율이 굉장히 공격적이라 처음 보면 놀랍죠.
학습 길이의 효과
또 다른 관찰은 학습을 길게 할수록 평가 성능이 계속 좋아진다는 점이에요. 100, 200, 400, 800, 1600 에폭으로 늘려가며 실험했는데 과적합이 일어나지 않고 계속 성능이 향상되었습니다. 일반적인 지도 학습에서는 과적합이 일어나는데 SSL은 안 일어나는 거죠.
MLM (Masked Language Models) — 자연어
자연어 분야에서는 MLM이 표준 사전학습 방식입니다. BERT가 대표적이에요. 입력 문장의 일부 토큰을 [MASK]로 가리고, 모델이 원래 단어를 맞추도록 학습합니다.
"How are [MASK] doing today?"라는 문장에서 [MASK]에 들어갈 단어로 "you"를 예측하도록 학습합니다. 이 과정에서 BERT는 문맥 이해 능력을 자연스럽게 습득해요.
핵심 정리 — 11주차 자기 지도 학습
- 자기 지도 학습(SSL)은 정답이 없는 데이터에서 모델이 스스로 라벨을 만들어 학습하는 방법이다.
- 표현(Representation)이란 모델 중간 은닉층의 출력값으로, 좋은 표현이 좋은 성능을 만든다.
- SSL의 주된 목적은 사전학습(Pre-training)이며, 대규모 비라벨 데이터로 일반적인 패턴을 학습한다.
- 사전학습 후 Linear Probing(마지막 층만)이나 Fine-tuning(전체 재학습)으로 다운스트림 태스크에 적용.
- 콘트라스트 학습: 같은 의미는 당기고(Pull), 다른 의미는 밀어낸다(Push). 대표 모델은 SimCLR, SimCSE.
- 오토인코더: 손상된 데이터를 압축하고 복원하는 과정에서 좋은 표현을 학습. 대표 모델은 MAE, BERT(MLM).
- MAE 실험에서 75% 마스킹이 최적이며, 학습을 길게 해도 과적합이 일어나지 않는다는 점이 인상적.
- SSL은 GPT, BERT, CLIP, MAE 등 현대 대형 모델의 사전학습 기반이며, 라벨 부족 시대의 핵심 해결책이다.
- T. Chen et al., A Simple Framework for Contrastive Learning of Visual Representations, ICML 2020 — SimCLR 원논문
- K. He et al., Masked Autoencoders Are Scalable Vision Learners, CVPR 2022 — MAE 원논문
- T. Gao et al., SimCSE: Simple Contrastive Learning of Sentence Embeddings, 2022
- Goodfellow, Bengio, Courville, Deep Learning, MIT Press, 2016 — 표현 학습 개념의 교과서적 정의