딥러닝을 통한 보트 이미지 분류: 커스텀 CNN vs MobileNetV2 비교 분석
카테고리
데이터 과학/AI
서브카테고리
인공지능
대상자
- 대상: 딥러닝 초보자 및 이미지 분류 프로젝트 수행자
- 난이도: 중간 (TensorFlow/Keras 기초 지식 필요)
핵심 요약
- MobileNetV2는 이미지넷 사전 학습 덕분에 불균형 데이터셋에서도 높은 일반화 성능을 보임
- 커스텀 CNN은 38,935,370 파라미터로 과적합 발생, GPU 사용 권장
- 이미지 크기 일관성 (224x224) 유지가 성능 비교에 중요
섹션별 세부 요약
1. 데이터셋 구성 및 문제점
- 훈련 폴더: 4,000+ 이미지, 테스트 폴더: 24 클래스 (불균형 분포)
- 일부 클래스는 5장, 다른 클래스는 수백장으로 정확도 편향 발생
- 분류 문제 유형: 다중 클래스 분류 (24개 클래스)
2. 커스텀 CNN 아키텍처 및 훈련
- 아키텍처:
```python
layers.Conv2D(32, (3,3)), layers.MaxPooling2D(), layers.Dropout(0.25)
```
총 38,935,370 파라미터 (148.53MB)
- CPU 사용 시 훈련 시간 1시간 이상 소요 (GPU 사용 권장)
3. MobileNetV2 적용 및 성능
- 이미지넷 사전 학습 모델 사용, 가중치 고정 (
base_model.trainable = False
) - 추가 레이어:
```python
layers.GlobalAveragePooling2D(), layers.Dense(128, 'relu'), layers.Dense(num_classes, 'softmax')
```
- 훈련 시간 단축 및 소수 클래스에도 일반화 성능 우수
4. 모델 평가 및 결론
- 커스텀 CNN: 높은 파라미터 수로 과적합 발생, 소수 클래스 정확도 낮음
- MobileNetV2: 이미지넷 사전 학습 덕분에 소수 클래스에서도 높은 정확도 달성
- 결론: Transfer learning이 불균형 데이터셋에서 우월
결론
- 이미지넷 사전 학습 모델 (예: MobileNetV2) 사용을 불균형 데이터셋 분류 작업에 권장
- GPU 사용 필수 (CPU 사용 시 훈련 시간 1시간 이상 소요)
- 이미지 크기 일관성(224x224) 유지가 모델 성능 비교에 핵심
- 커스텀 CNN은 학습 목적으로 유용하지만, 실무에서는 Transfer Learning이 효율적