✅ 개요
- MobileNet은 모바일 및 임베디드 디바이스에서도 딥러닝 추론이 가능하도록 설계된 경량 CNN 구조입니다.
- 주요 목표:
- 연산량 감소
- 모델 크기 축소
- 속도 향상
고성능 GPU 없이도 이미지 분류, 객체 탐지, 얼굴 인식 등 다양한 비전 작업을 수행할 수 있게 도와주는 구조예요.
🧠 핵심 기술: Depthwise Separable Convolution (DSC)
📌 일반적인 Convolution과의 차이
| 항목 | 일반 Convolution | Depthwise Separable Convolution |
| 방식 | 모든 채널에 대해 하나의 필터로 계산 | 두 단계로 나눠서 계산 |
| 단계 수 | 1단계 (Conv) | 2단계 (Depthwise + Pointwise) |
| 계산량 | 많음 | 최대 9배 이상 감소 가능 |
| 연산 효율 | 비효율적 | 매우 효율적 (특히 모바일에 적합) |
🔍 구성 단계
1️⃣ Depthwise Convolution
- 각 채널마다 개별 필터를 적용 (채널 간 상호작용 없음)
- 예: RGB 이미지(3채널)에 3개의 필터가 각각 적용됨
2️⃣ Pointwise Convolution
- 1x1 필터를 사용하여 채널 간 정보를 결합
- Depthwise에서 분리되어 있던 정보를 합쳐줌
📊 계산량 비교 (수식으로)
📎 용어 정리:
- DKD_K: 커널 크기 (보통 3)
- MM: 입력 채널 수
- NN: 출력 채널 수
- DFD_F: feature map 크기 (width = height)
🧱 일반 Convolution:

🧱 Depthwise Separable Conv:

이론적으로 연산량 약 8~9배 절감 가능!
🖼️ 구조 요약 도식 (텍스트 기반)
📦 일반 Conv Layer
- 입력 채널 M → 커널 N개로 한꺼번에 처리 → 출력 채널 N
📦 Depthwise Separable Conv
🔹 Step 1: Depthwise Conv (채널 별로 독립적 처리)
- 채널 1 → 필터 1
- 채널 2 → 필터 2
...
🔹 Step 2: Pointwise Conv (1x1 convolution)
- 채널 간 정보 결합 → 최종 출력 채널 N
📱 MobileNet의 장점 요약
| 장점 | 설명 |
| 💨 연산량 적음 | 경량 구조로 빠른 추론 가능 |
| 📦 파라미터 수 감소 | 모델 크기 작아 저장/전송 용이 |
| ⚡ 실시간 처리 | 모바일, IoT, Edge 기기에서 실시간 가능 |
| 🔧 다양한 응용 | 분류, 탐지, 키포인트 추출 등 |
🔧 실제 코드에서의 적용 예시 (TensorFlow)
import tensorflow as tf
# MobileNetV2 모델 불러오기
model = tf.keras.applications.MobileNetV2(weights='imagenet', input_shape=(224, 224, 3))
model.summary()'인공지능' 카테고리의 다른 글
| XAI란? (Explainable AI) (0) | 2025.04.04 |
|---|---|
| GAN (Generative Adversarial Network) (0) | 2025.04.04 |
| Transformer란? (0) | 2025.04.04 |
| GAN 전체 정리 (0) | 2025.03.31 |
| 전이 학습 (Transfer Learning) (0) | 2025.03.27 |