분류기를 훈련하는 데 augmentations가 필요하지 않습니다!!
Source: Dev.to
번역할 텍스트가 제공되지 않았습니다. 번역이 필요한 전체 내용을 알려주시면 한국어로 번역해 드리겠습니다.
이 블로그의 내용
- 소개
- 분류기 작업하기: 첫 번째 분류기
- 분류기 이해하기: 신뢰할 수 없는 출처
- 실제 연구: 연구
- 결과
소개 경고: 연구부터 바로 시작하고 싶다면 실제 연구와 결과부터 읽으세요.
주요 용어
Binary Referral – 환자를 다른 서비스, 전문의, 혹은 치료 단계로 의뢰해야 하는지에 대한 예/아니오 임상 결정.
Exotropia – 한쪽 또는 양쪽 눈이 코에서 멀리 바깥쪽으로 돌출되는 사시(눈 정렬 이상)의 한 형태. 지속적이거나 간헐적일 수 있으며, 복시, 눈 피로, 깊이 인식 감소를 유발할 수 있다.
Esotropia – 한쪽 또는 양쪽 눈이 코쪽으로 안쪽으로 돌출되는 사시의 일종. 지속적이거나 간헐적이며, 어린이에게 흔하고 모든 연령에서 발생한다.
Resolution – 서로 다른 관찰된 결과 빈도의 상황을 얼마나 잘 구분하는지에 대한 측정. 해상도가 높을수록 모델이 실제 사건 가능성이 다른 경우에 서로 다른 확률을 할당한다.
소개
분류기 성능을 향상시키는 가장 일반적인 방법은 다음과 같습니다:
- 더 많은 데이터 사용
- 사전 학습된 아키텍처 활용
- 증강 기법 적용
이전 글들에서는 AutoAugment, RandAugment, TrivialAugment와 같은 증강 기법과 Cutout, CutMix, MixUp까지 폭넓게 다루며 분류기 훈련에 대해 자세히 서술했습니다.
그 글들에서 저는 종종 초보자들에게 TrivialAugment를 권하거나 생성적 적대 신경망(GAN)을 탐구해 보라고 제안했습니다. 의료 분야에서는 StyleGAN2‑ADA가 눈에 띄었습니다. 제한된 데이터에서도 좋은 성능을 보이며, GAN 기본 개념을 이해하면 비교적 직관적으로 사용할 수 있고, 이전 버전인 StyleGAN 및 StyleGAN2에 비해 강력한 성능을 보여줍니다.
하지만 최근 연구를 통해 이러한 가정 중 일부를 재고하게 되었습니다.
2025 년 6월 – 첫 번째 분류기
6월에 저는 오픈소스 프로젝트에 기여를 시작하고, 챗봇을 공부하며 몇몇 독립 연구 프로젝트를 다듬고 있었습니다. 그때 작은 해커톤에 참가하기 위해 첫 번째 분류기를 만들었습니다—연구 목적이 아니라 해커톤을 위한 것이었습니다. 이 분류기는 예측에 기반해 운동 추천을 제공해야 했기 때문에 프로젝트의 핵심이었으며, 정확도가 매우 중요했습니다.
프로젝트는 성공적으로 완료되고 제출되었습니다. 제가 우승했나요? 아니요, 하지만 분류기 때문이 아니라 의존성 업데이트와 패키지 호환성 문제 때문이었습니다(자세한 내용은 여기에서 다룹니다).
그럼에도 불구하고, 그 경험—좌절, 제한, 작은 승리—은 저를 6개월 동안 분류기에 깊이 파고들게 만들었습니다.
2025 년 7월 – 8월 – 신뢰할 수 없는 출처
몇 주 뒤, 저는 원래 만든 분류기를 다시 살펴보고 LLM을 활용해 개선하려고 시도했습니다. 목표는 5개의 클래스에 각각 100장씩, 총 500장의 이미지만으로 효과적인 분류기를 만드는 최적 전략을 찾는 것이었습니다.
처음에는 모든 것이 순조롭게 진행되었습니다; LLM의 제안 덕분에 모델이 개선되었습니다. 그러나 곧 악명이 높은 하락이 시작되었습니다: 출력 품질이 떨어지고, 변화가 의미 없게 되었으며, 결국 분류기 성능이 악화되었습니다.
“프로그램과 알고리즘”을 공부했음에도 불구하고 저는 계속해서 Ctrl + C와 Ctrl + V를 반복했습니다. 아이러니에 지쳐 스스로에게 물었습니다:
“분류기를 공부하는 게 얼마나 어려울 수 있겠는가?”
TL;DR: 새내기라면 매우 어렵습니다.
저는 오래전에 공부하고 Juggling Multiple Interests에서 블로그로 다룬 CNN에 대한 이해를 다시 정리했습니다. 그리고 증강 기법으로 넘어갔습니다.
LLM에 대한 신뢰가 모순과 뒤로 물러서는 현상 때문에 감소했지만, 기본 정의 정도는 여전히 활용했습니다. 정보가 신뢰할 수 없을 때는 바로 알 수 있었습니다. 결국 저는 결심했습니다:
“원천에서 직접 배우는 것보다 더 좋은 방법이 있을까?”
이 결정은 도전을 동반했습니다: AutoAugment는 상당한 기초 지식을 요구합니다. 하지만 결국 그 가치는 충분했습니다.
그 기간 동안 저는 다음을 배웠습니다:
- AutoAugment가 어떻게 작동하는지
- 계산 요구량 및 제약 조건
- ImageNet, CIFAR‑10, SVHN 등 데이터셋에서의 성능
- 아키텍처, 최적화, GPU 및 CPU 고려 사항
이러한 이해는 자연스럽게 RandAugment로 이어졌습니다—AutoAugment보다 계산 비용이 적은 후속 기법입니다. 동시에 저는 의료·임상 분야에 발을 들였고, 한 가지 질문이 계속 머릿속을 맴돌았습니다:
“임상 환경에서는 어느 것이 더 바람직할까?”
그 단일 질문이 몇 달 동안 제가 진행한 연구의 동기가 되었습니다.
2025 년 6월 – 11월 – 연구
7월 말, 저는 이진 추천이라는 특정 작업을 위한 증강 기법 벤치마크 연구를 독립적으로 시작했습니다.
목표는 증강이 정확하지만 동시에 최적이 아닌 임상 조건에서도 실제로 도움이 되는지를 판단하는 것이었습니다.
이 시점에서 저는 이미 데이터셋‑특화 증강(AutoAugment 등)에 깊이 몰두하고 있었습니다.
RA, TA). 보다 일반적인, 견고성에 초점을 맞춘 증강과 비교하기 위해 Mix 계열인 Cutout, CutMix, MixUp을 포함했습니다.
최종 증강 세트
| 증강 | 유형 |
|---|---|
| AutoAugment | 데이터셋‑특정 |
| RandAugment | 데이터셋‑특정 (가벼운) |
| TrivialAugment | 데이터셋‑특정 (매우 가벼운) |
| Cutout | 일반 견고성 |
| CutMix | 일반 견고성 |
| MixUp | 일반 견고성 |
| Baseline | 증강 없음 |
열악한 조건 시뮬레이션
- 하드웨어: CPU 전용 (GPU 없음)
- 데이터셋 크기: 클래스당 약 100장 이미지 – 스트레스 테스트
- 모델: 데이터 부족을 완화하기 위해 사전 학습된 EfficientNet‑B0, MobileNet‑V2, MobileNet‑V3 (ImageNet 학습)
실용적인 문제가 발생했습니다: 이 모델들은 224 × 224 입력을 필요로 합니다. 자르기는 공간적으로 중요한 의료 특징을 제거하므로 적합하지 않았습니다. 저는 이미지를 정사각형으로 패딩하여 구조를 보존하면서 올바른 224 × 224 입력을 만들었습니다. Grad‑CAM을 통해 모델이 여전히 올바른 영역을 위치시켰음을 확인했습니다.
평가 지표
- 통계 분석
- Brier 점수 분해
- 오즈 비 (및 기타 보정 측정값)
Results
(The results section follows the study description and is presented here for completeness. Continue reading for detailed findings, tables, and visualisations.)
AUC/DeLong Comparisons
I tested using esotropia and exotropia datasets because of their distinct characteristics.
Esotropia
- AutoAugment gave the most consistent results.
- I haven’t yet done a full qualitative analysis, but AutoAugment likely learned policies that emphasized key esotropia features.
Exotropia
- TrivialAugment performed most consistently.
- This suggests that simple random transformations can help stabilize performance.
Underperformer: CutMix
- CutMix consistently underperformed across nearly all seeds and models.
- DeLong’s test (on AUCs) repeatedly indicated worse performance for CutMix compared to the other augmentations.
Brier Decomposition
- MixUp had the most frequent issues with low reliability, followed closely by AutoAugment.
- For resolution, AutoAugment was the most consistent, showing a strong ability to differentiate cases.
The Biggest Takeaway
Across multiple seeds, pretrained models, and the dataset, the baseline performed similarly to the augmented versions on nearly all metrics.
Conclusion: You do not need augmentations to train your classifiers.
With a high‑quality dataset, proper preprocessing, and the right pretrained model, even small datasets can reach strong baselines (e.g., ~0.93 across varied metrics).
If you do choose to use an augmentation, my recommendation is AutoAugment.
추가 읽기
-
Study: Introducing UBAEF
(조금 경고: 부록을 포함한 전체 논문은 131페이지입니다!) -
GitHub Repository: ML‑framework‑s‑taxonomy – 신뢰 구간, 훈련 시간 및 기타 정보를 포함합니다.
다음 번에 또 다른 프로젝트와 함께.
그리고 기억하세요, 때때로 베이스라인 자체가 이미 훌륭합니다.