Data Augmentation
sol-commits Oct 1, 2025
Data Augmentation
- 기존 샘플의 의미(레이블)은 유지한 채 살짝 변형하여 가상의 훈련 예시들을 늘리는 방법
- 일반화 성능을 높이는 가장 실용적인 도구
- 수학적으로는 ERM을 넘어 VRM처럼
원래 샘플 주변의 데이터도 본 것처럼만드는 효과
데이터 증강의 원리
- 핵심 아이디어
: 원래 샘플 주변에도 비슷한 샘플이 더 있을 것이라고 가정하고 입력 x에 작은 변형(노이즈/기하/색상 등)을 가해 가상 샘플 생성. 이렇게 하면 모델이 주변 변화에 스무스해져 일반화가 좋아짐
→ VRM: 훈련점만 보던 ERM에서 한 발 더 나아가, 그 점의 근처까지 학습 대상으로 확장
증강 설계의 2가지 대원칙
레이블 불변(semantic invariance)- 변형 전·후에 정답이 달라지면 안됨
검증/테스트엔 적용 금지- 검증 단계에 증강을 섞으면 매번 다른 입력이 되어 성능 비교가 흔들림
증강
- 기본 증강
| 기하 변형 | 회전, 좌우/상하 뒤집기, 랜덤 크롭/패딩, Affine(이동/스케일/Shear) |
| 광학(색상) 변형 | 밝기, 대비, 채도, 색조 조절, 컬러 지터 |
| 노이즈 주입 | 가우시안, 블러 등 |
| 리사이즈 | 전처리에 가깝고 증강이라기보다 해상도 통일용으로 봄 |
- 마스킹/삭제 증강
| Cutout | 이미지의 일부 패치를 가림 → 모델이 한 군데만 보지 않고 여러 단서를 학습 |
- 섞기 계열(라벨 포함)
- 입력뿐 아니라 라벨도 함께 섞음
| Mixup | • 두 이미지를 선형 블렌딩 • 결정경계가 부드러워져 경계 부근의 모호한 표본에 더 안정적으로 대응 • 선형 블렌딩하는 가중치는 확률분포 beta distribution에서 샘플링 • Beta 분포에서 샘플링하는 이유는, 단순히 한 가지 비율이 아니라 다양한 비율로 샘플을 섞기 위함 • Beta(alpha, alpha) 분포에서 샘플링하는데 alpha가 클수록 lamba가 0.5 근처에 몰려 두 샘플이 반반 섞임 |
| CutMix | • 한 이미지의 패치를 잘라 다른 이미지에 붙임 • 라벨도 면적 비율로 가중 합 • Mixup의 경계 스무딩 + Cutout의 부분 가림 효과를 동시에 노린 것 |
convex combination
: 두 점을 0과 1 사이 가중치로 섞은 것
→ 라벨 불변 증강이 아니라 라벨 변형 증강
- label smoothing
- label smoothing → calibration 개선 효과
- 엄밀히 말하면 입력 증강은 아니지만, VRM의 한 형태로서 “라벨 분포를 희석”한다는 점에서 데이터 증강과 관련 있음
calibration
: 모델이 출력하는 확률이 현실 세계의 실제 정답 확률과 얼마나 잘 일치하는지
- 적대적(Adversarial) 증강
FGSM(fast gradient sign method)Virtual Adversarial Training- consistency regulation의 한 형태
: 손실을 크게 만드는 방향으로 아주 작은 ϵ만큼 이동시켜 교란 생성
: 라벨 없이도 적용 가능
← 입력을 adversarial 방향으로 교란했을 때, 출력 분포가 변하지 않도록 하기 떄무네
supervised learning + data augmentation
- reuse labeled samples to make more sample with label invariant augmentation
semi/self-supervised learning + data augmentation
- use unlabeled samples with label invariant augmentation
- semi-supervised learning 에서의
consistency regularization
같은 입력의 서로 다른 증강 버전이 비슷한 예측을 내야 함
Consistency Regularization
같은 데이터 x를 두가지 다른 방식으로 증강 → T1(x), T2(x)
- 모델 입력이 달라져도 예측 결과가 크게 달라지지 않도록 해야함
→ 강제하는 건 모델 출력의 일관성