본문 바로가기
논문 리뷰/CV

[X:AI] MobileNet 논문 리뷰

by hyeon827 2025. 1. 12.

 
논문 원본 : https://arxiv.org/abs/1704.04861

MobileNets: Efficient Convolutional Neural Networks for Mobile Vision Applications

We present a class of efficient models called MobileNets for mobile and embedded vision applications. MobileNets are based on a streamlined architecture that uses depth-wise separable convolutions to build light weight deep neural networks. We introduce tw

arxiv.org

 

 
Abstract

  • MobileNet은 스마트폰이나 IoT 기기처럼 계산 자원이 제한된 환경에서 잘 작동하도록 설계된 딥러닝 모델
  • MobileNet은 Depthwise Separable Convolution을 활용하여 경량의 딥러닝 네트워크 구축
  • 해당 모델에서는 두 가지 간단한 global hyperparameter를 도입하여 latency (지연 시간 = 속도)과 정확도 사이의 균형을 효율적으로 조정할 수 있음 
  • 이를 통해 문제의 제약 조건에 따라 사용자가 적합한 크기의 모델을 선택할 수 있도록 함

 
 

1. Introduction

  • CNN의 일반적인 추세는 더 높은 정확도를 얻기 위해 네트워크를 더 깊고 복잡하게 만드는 것
  • 하지만 정확도를 높이는 이러한 발전이 반드시 네트워크의 크기와 속도 측면에서 효율성을 향상시키는 것은 아님
  • 로봇공학, 자율주행차, 증강현실(AR)과 같은 계산 자원이 제한된 플랫폼에서 빠르게 인식 작업을 수행해야 됨
  • MobileNet 두 가지 hyperparameter 설정을 통해 설계 요구에 맞춰 매우 작고 지연 시간이 낮은 모델을 쉽게 구축할 수 있도록 함
    • 너비 조정 (width multiplier)
    • 해상도 조정 (resolution multiplier)

 
 

2. Prior Work

  • 최근 문헌에서는 작고 효율적인 신경망을 구축하는 데 대한 관심이 증가
  • 이러한 연구는 크게 두 가지 접근 방식으로 나뉨
    • 사전 학습된 모델을 압축하는 방법 (pruning, quantization)
    • 처음부터 작은 모델을 설계하고 학습하는 방법 (SqueezeNet, MobileNet)
    • + Distillation (큰 모델이 작은 모델을 가르쳐 더 효과적으로 학습)
  • MobileNet은 속도와 크기를 모두 고려하여 설계되었는데, 특히 속도(지연 시간)을 최적화하면서도 네트워크를 작게 유지하는 데 초점을 맞췄음 (이전 연구에서는 속도를 고려하지 않음)
  • 이 모델의 핵심은 depthwise separable convolution이라는 기술
  • 이 기술은 복잡한 계산을 단순화해서 속도를 빠르게 하면서도 성능을 유지할 수 있도록 해줌

 
 

3. MobileNet Architecture

 
   3.1 Depthwise Separable Convolution

  • MobileNet은 Depthwise Separable Convolution을 기반으로 설계됨
  • 이는 일반적인 Convolution 연산을 Depthwise Convolution과 1x1 Pointwise Convolution으로 분리하는 방식

 
   일반 Convolution과의 차이점

  • 일반 Convolution : 입력 데이터를 필터링하고 결합하여 새로운 출력 데이터 생성
  • Depthwise Separable Convolution  
    • Depthwise Convolution : 각 입력 채널에 대해 하나의 필터를 적용
    • Pointwise Convolution : 1x1 convolution으로 필터링된 출력을 결합
    • 이 방식은 연산량과 모델 크기를 크게 줄여주며, 정확도 손실을 최소화

 
   수학적 설명

  • 일반적인 합성곱 연산은 다음과 같음
    • 입력 feature map F
      • 크기 : DF x DF x M 
      • DF : 입력 feature map의 너비와 높이 (정사각형 가정)
      • M : 입력 채널 수
    • 출력 feature map G
      • 크기 : DF x DF x N
      • N : 출력 채널 수  
    • 커널(필터) 크기
      • DK x DK (정사각형 가정)
      • ex) 3 x 3 filter 
    • 총 연산량
      • 연산량 = DK x DK x M x N x DF x DF

 
 

  • Depthwise Separable Convolution은 위 연산을 두 단계로 나누어 수행
    • Depthwise Convolution
      • 각 채널에 하나의 필터를 적용
      • 연산량 : DK x DK x M x DF x DF
    • Pointwsie Convolution
      • 1x1 필터로 채널 간 결합 수행
      • 연산량 : M x N x DF x DF
    • 총 연산량
      • DK x DK x M x DF x DF + M X N X DF X DF 

 

 

  • 연산량 비교
    • 출력 채널 N이 많아질수록 1/N은 작아짐
    • 커널 크기 Dk가 클루속 1/ D2K는 작아짐
      • ex) N = 32, DK = 3
      • 비율 ≈ 0.03125 + 0.111 = 0.142
      • 이는 Depthwise Separable Convolution의 연산량이 일반 Convolution의 약 14.2%에 불과하다는 뜻
    • MobileNet은 DK = 3 (3x3 filter) 사용
    • 은 출력 채널 수에 따라 다르지만, 일반적으로 8~9배 적은 연산량으로 처리할 수 있음
    • 이렇게 하면 모델이 훨씬 가볍고 빨라지며, 모바일 기기와 같이 자원이 제한된 환경에서도 딥러닝 모델을 사용할 수 있음 (성능도 유지 -> 필터링과 채널 결합은 일반 Convolution과 방법론만 다를 뿐이지 동일하게 수행) 

 
 
   3.2 Network Structure and Training

  • MobileNet 첫 번째 레이어는 일반 Convolution을 사용
  • 모든 레이어는 Batch Norm과 ReLU 사용
  • 최종 FC Layer에는 활성화 함수가 없으며, Softmax를 통해 분류 작업 수행
  • 네트워크에서 다운샘플링은 다음과 같이 처리
    • Stride를 사용하는 Depthwise Convolution Layer
    • 첫 번째 일반 Convolution Layer
  • 최종적으로 Avearge Pooling을 통해 공간 해상도를 1로 줄인 후 FC Layer로 연결
  • MobileNet은 총 28개의 레이로 구성

 

  • MobileNet은 1×1 포인트 합성곱에 대부분의 연산을 집중
    • 장점: 1×1 합성곱은 고도로 최적화된 행렬 연산(GEMM, General Matrix Multiply)을 사용하여 계산이 빠름
    • 추가 작업 최소화: 1×1 합성곱은 메모리 재정렬(im2col)이 필요 없기 때문에, 기존의 3×3 합성곱보다 효율적
  • MobileNet의 계산 시간의 95%가 1×1 합성곱에서 소비되며, 모델 파라미터의 75%도 1×1 합성곱에 집중되어 있음
  • 나머지 파라미터는 주로 FC Layer에 있음

 
   3.3 Width Multiplier : Thinner Models

  • 기본 MobileNet 아키텍처는 이미 작고 지연이 적지만, 특정 사용 사례나 애플리케이션에서는 더 작은 모델 필요
  • 이를 위해 MobileNet에서는 너비 계수(Width Multiplier) α라는 간단한 매개변수를 도입
  • 이 α는 네트워크의 모든 레이어에서 입력 채널과 출력 채널의 수를 균일하게 줄이는 역할을 함
  • α: 0<α≤10의 값을 가지며, 일반적인 값은 1, 0.75, 0.5, 0.25
    • : 기본 MobileNet 구조 (Baseline Model)
    • : 축소된 MobileNet 구조 (Reduced MobileNet)
  • 입력 채널 수와 출력 채널 수는 각각 다음과 같이 조정
  • 계산 비용
  • 효과
    • 너비 계수 는 연산량과 파라미터 수를 대략  비율로 줄임
    • 를 조정해 모델 크기, 속도, 정확도 간의 균형을 조정할 수 있음
    • 단, 너비 계수를 변경하면 새롭게 모델을 학습시켜야 함

 
 
   3.4 Resolution Multiplier : Reduced Representation

  • 두 번째로 연산 비용을 줄이는 방법은 해상도 계수 (Resolution Multiplier) ρ 사용
  • 이는 입력 이미지의 해상도를 줄여 네트워크 내부의 모든 레이어의 representation 크기를 줄이는 역할을 함
  • ρ : 의 값을 가짐
    • 일반적인 입력 해상도: 
    • : 기본 MobileNet 구조
    • : 축소된 MobileNet 구조
  • 계산 비용
  • 효과:
    • 해상도 계수 는 연산 비용을 대략  비율로 줄임

 
 

4. Experiments

 
   4.1 Model Choices
 

  • Depthwise Separable Convolution의 효과
    • 기존의 Full Convolution과 비교했을 때, 정확도는 1%만 감소했지만, 연산량(Mult-Adds)과 파라미터는 크게 감소
  • 얇은 모델(Width Multiplier) vs 얕은 모델(Less Layers):
    • 얇은 모델이 얕은 모델보다 정확도가 3% 더 높음
    • 얕은 모델을 구현하기 위해 1 크기의 5개 레이어를 제거

 
 
   4.2 Model Shrinking Hyperparameters
 

  • Width Multiplier ()
    • 가 감소할수록 연산량과 파라미터 수가 줄지만, 정확도는 점진적으로 감소
    • 에서 모델 성능 급락
  • Resolution Multiplier ()
    • 입력 이미지 해상도를 줄일수록 연산량 감소와 함께 정확도도 부드럽게 감소
    • 해상도 에서 실험.
  • 결합 효과
    • 를 조합한 16개의 모델에서 정확도와 연산량, 파라미터 간의 로그 선형 관계 확인
    • 와 낮은 해상도 조합에서 정확도 급락

 
 
 
   4.3 Fine Grained Recognition

  • Stanford Dogs Dataset
    • MobileNet을 사용한 세밀한 개 품종 분류에서 기존 모델의 성능에 근접하며, 연산량과 모델 크기를 대폭 감소

 
   4.4 Large Scale Geolocalization

  • PlaNet 재학습
    • MobileNet 기반 PlaNet은 원래 Inception V3 기반 모델보다 4배 작은 파라미터(13M)와 10배 적은 연산량(0.58B Mult-Adds)을 사용
    • 성능은 약간 낮지만 여전히 뛰어난 결과를 유지하며, 기존의 Im2GPS를 능가

 
   4.5 Face Attributes

  • Distillation 기법 활용
    • MobileNet으로 기존 75M 파라미터와 1600M Mult-Adds를 가진 얼굴 속성 분류 모델을 경량화
    • MobileNet 기반 모델은 동일한 성능(mean Average Precision)을 유지하면서 연산량을 1%로 감소

 
 
   4.6 Object Detection

  • COCO 데이터셋에서 Faster-RCNN 및 SSD 프레임워크로 MobileNet 테스트
    • Faster-RCNN: VGG, Inception V2와 비교해 유사한 성능을 유지하면서 계산 복잡도와 모델 크기를 크게 줄임
    • SSD: 300×300 해상도에서 효율적이며, 다른 모델 대비 연산량 감소

 
 4.7 Face Embeddings

  • FaceNet 모델의 경량화
    • MobileNet을 FaceNet으로 학습시키는 Distillation 기법 사용
    • 매우 작은 MobileNet 모델에서도 우수한 얼굴 임베딩 성능을 보여줌

 
 
5. Conclusion
 

  • MobileNet은 Depthwise Separable Convolution을 기반으로 설계된 새로운 모델 아키텍처로, 연산량과 모델 크기를 크게 줄이는 데 초점
  • Width Multiplier와 Resolution Multiplier를 사용하여 더 작고 빠른 MobileNet을 구현 (합리적인 수준에서 정확도 희생)

 

'논문 리뷰 > CV' 카테고리의 다른 글

[X:AI] YOLO 논문 리뷰  (0) 2025.01.28
[X:AI] Faster-RCNN 논문 리뷰  (1) 2025.01.21
[X:AI] DDPM 논문 리뷰  (1) 2024.08.11
[X:AI] BYOL 논문 리뷰  (0) 2024.08.05
[X:AI] NeRF 논문 리뷰  (0) 2024.07.28