본문 바로가기
인공지능

MobileNet: 모바일을 위한 경량 CNN

by 3in9u 2025. 4. 4.

✅ 개요

  • 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