1. MobileNet 버전별 CIFAR-10 정확도 (Top-1 Accuracy)
CIFAR-10 데이터셋에 대한 MobileNet의 정확도는 "어떻게 학습시키느냐(전이학습 vs 바닥부터 학습)"와 "입력 이미지 크기를 어떻게 처리하느냐"에 따라 결과가 크게 달라집니다.
특히 timm 라이브러리를 사용한다면, ① 라이브러리 모델을 그대로 가져와 미세 조정(Fine-tuning)하는 경우와 ② CIFAR-10 전용으로 구조를 수정하여 학습하는 경우를 나누어 파악하는 것이 중요합니다.
| 모델 버전 | 전이학습 (Fine-tuning)* | 바닥부터 학습 (From Scratch)** | 비고 |
| MobileNet V2 | 88% ~ 91% | 94.0% ~ 94.5% | 가장 널리 벤치마크된 모델. 안정적인 성능. |
| MobileNet V3 Large | 91% ~ 93% | 95.0% ~ 95.5% | V2보다 더 높음. H-Swish 등 최적화된 활성화 함수 덕분. |
| MobileNet V4 | 92% ~ 94% (추정) | 96.0% 이상 (추정) | 최신 모델로 ImageNet 성능 기반 추정치. 가장 효율적. |
> *전이학습 (Fine-tuning): ImageNet 가중치(pretrained=True)를 사용하고, CIFAR-10 이미지를 224x224로 리사이즈(Resize)하여 학습했을 때의 일반적인 수치입니다.
> **바닥부터 학습 (From Scratch): CIFAR-10의 작은 이미지(32x32)에 맞게 모델 초반부의 Stride(보폭)를 줄여서 정보 손실을 막고 처음부터 학습시켰을 때 얻을 수 있는 최대 성능입니다.
2. 정확도 확보를 위한 핵심 기술 이슈
timm 모델을 불러와서 바로 CIFAR-10(32x32 픽셀)을 넣으면 정확도가 기대보다 낮게 나올 수 있습니다. 그 이유는 '해상도 불일치' 때문입니다.
A. 문제점: 특성 맵(Feature Map) 소실
MobileNet은 기본적으로 224x224 크기의 이미지를 입력받아 32배 축소(Downsampling)하도록 설계되어 있습니다.
- 224x224 입력 시: 최종 특성 맵 크기는 7x7 (정상)
- 32x32 입력 시: 최종 특성 맵 크기는 1x1 (정보가 너무 일찍 소실됨)
- 이로 인해 모델이 이미지의 특징을 제대로 학습하지 못하고 정확도가 떨어집니다.
B. 해결 방안 (선택 옵션)
- 옵션 1: 입력 이미지 리사이즈 (가장 쉬운 방법)
- CIFAR-10 이미지를 32x32 → 224x224로 키워서 모델에 넣습니다.
- 장점: timm 모델을 수정 없이 그대로(pretrained=True) 사용하여 90% 이상의 준수한 성능을 빠르게 확보할 수 있습니다.
- 단점: 연산량이 늘어나 학습 속도가 느려집니다.
- 옵션 2: 모델 구조 수정 (최고 성능을 원할 때)
- timm 모델을 불러온 후, 첫 번째 또는 두 번째 Convolution 레이어의 stride를 2에서 1로 변경합니다.
- 이렇게 하면 이미지가 덜 축소되어 작은 이미지에서도 디테일을 유지할 수 있습니다.
- 결과: 위 표의 '바닥부터 학습'에 해당하는 94~95% 수준의 고성능을 얻을 수 있습니다.
3. 결론 및 추천
- 목표가 "빠른 프로토타이핑 및 연합학습 파이프라인 구축"이라면:
- 추천: MobileNet V3 Large + 이미지 리사이즈(224x224) 방식
- 구현이 가장 간단하며 92% 수준의 충분히 높은 정확도를 보장
- 목표가 "엣지 디바이스 배포 및 극한의 효율성"이라면:
- 추천: MobileNet V3 Small 또는 V4 Small + Stride 수정(32x32 입력) 방식
- 모델 크기가 매우 작으면서도 CIFAR-10 데이터 특성에 최적화된 고성능 모델을 만들 수 있음
'인공지능 > 이미지 분류' 카테고리의 다른 글
| MobileNet 버전별 비교 (0) | 2025.12.12 |
|---|---|
| CIFAR-10 모델 성능 분석 및 SOTA 트렌드 가이드 (0) | 2025.12.04 |