CV - 7. MobileNet

최창우·2023년 1월 4일
0
post-thumbnail

📌목차

1. MobileNet 개요
2. MobileNet 방법론 이해
3. Network 구조

✔️ 기억할용어

  • Depthwise seperable convolutions
  • Pointwise convolutions

📕 MobileNet 개요

논문명 : 2017 - MobileNets: Efficient Convolutional Neural Networks for Mobile Vision Application

앞서 나온 SqueezeNet과 동일하게 성능은 최대한 유지하면서 모델의 크기를 경량화하는데 집중한 모델

  • 모바일, Embedded vision 앱에서 사용하는것을 목적으로 만듦
  • Depth-Wise seperable convolutions 방법론 사용하여 경량화에 성공

📕 MobileNet 방법론 이해

📖 Depthwise seperable convolutions

Depthwise Separable Convolution은
1. Depthwise Convolution 수행한 뒤
2. Pointwise Convolution 을 결합한 것

📖 Depthwise convolutions

  • DK : Kernel 크기
  • M : 채널크기
  • N : Kernel 필터 수
  • 기존 CNN은 입력 이미지에 대해 (채널 통째로) 필터가 연산을 수행
  • Depthwise convolution는 입력 이미지의 각 채널에 대해 3x3 conv 하나의 필터가 연산을 수행하여 하나의 피쳐맵을 생성
  • 입력 채널 수가 N개이면 N개의 피쳐맵을 생성함

📖 Pointwise convolutions

위에서 Depthwise Convolution을 수행하면, 출력 Feature map은 Dk x Dk x M 을 띄게된다. 여기에 1 x 1 x M 의 Kernel Filter을 N개 사용하게되면, Dk x Dk x N 의 Feature map을 갖게된다.

📖 연산량 감소 효과

연산량 감소의 효과를 얻을 수 있다.

  • 표준 Conv의 연산량(가중치 수 아님)
  • Depthwise + Pointwise 연산량(가중치 수 아님)
  • 연산감소량
  • 논문에서는 Dk=3 을 사용했으므로 연산량이 8~9배 가량 줄어듦

📕 Network 구조

우측은 MobileNet의 Network구조이다.

  • 1 x 1 Conv이 위에서 설명한 Pointwise conv이다.

전체 아키텍처는 아래와 같다.

  • Conv dw 가 depthwise & pointwise conv 이다.

📚 Reference

https://deep-learning-study.tistory.com/532
https://greeksharifa.github.io/computer%20vision/2022/02/01/MobileNetV1/
https://sotudy.tistory.com/15
https://velog.io/@woojinn8/LightWeight-Deep-Learning-6.-MobileNet-2-MobileNet%EC%9D%98-%EA%B5%AC%EC%A1%B0-%EB%B0%8F-%EC%84%B1%EB%8A%A5

profile
유능한 개발자가 되고 싶은 헬린이

0개의 댓글