모바일환경에서도 잘 작동할 수 있도록 파라미터와 연산량을 줄이며 성능을 확보한 모델이다.
1. Depthwise Separable Convolution
Xception 에서 언급했던 Depthwise Separable Convolution을 활용하여 연산량과 파라미터를 많이 줄였다
일반적인 conv의 연산량은 다음과 같다
하지만 depth wise conv는 cross channel 연산이 없기때문에 아래의 좌측항이고
그리고 pointwise conv는 Dk가 1이기 때문에 우측항이다
두 항을 더하면 위와 같은 식을 보이는데 Depthwise Separable Convolution의 연산량은 위와 같다고 할 수 있다
일반적인 conv와 비를 구하면 위의 식이 나오는데 mobile net의 경우 Dk=3 이기때문에 8배에서 9배 감소된 연산량을 가질 수 있는것이다.
2.
줄어든 연산량에도 성능이 유지되지않는다면 의미가 없기 때문에 저자는 여러가지 실험을 했다고 한다.
xception에서는 point wise와 depthwise사이에 activation을 두지않았지만
mobilenet에서는 Bn과 activation을 같이 가져가는 것을 확인할 수 있다.
이런 activation은 위치와 유뮤 문제는 밝혀진게 없어 실험으로 확인하는 수 밖에 없다고한다.(이론적 근거가 없다.)
3. Architecture
풀링이 없이 stride로 feature map의 사이즈를 줄이는 것을 확인할 수 있다. (representional bottleneck을 피하기 위해)
resnet이후 논문임에도 불구하고 shortcut 구조(깊이가 깊어져도 학습이 잘됨)가 없다. 일단은 가볍게 하려고 그런 것 같다
'CV > classification' 카테고리의 다른 글
[CV] Mobile Net V2 (0) | 2022.05.04 |
---|---|
[CV] Squeeze Net (0) | 2022.05.04 |
[CV] Xception (0) | 2022.05.03 |
[CV] Inception V2, V3 (0) | 2022.05.03 |
[CV] ResNet (0) | 2022.05.03 |