-
MobileNet V3 - Fine tuningAI-video&image/Classification 2020. 3. 8. 16:19
Definition(MobileNetV1부터 MobileNetV3까지)
1. CNN Convolution
Standard Convolution
커널을 1차원적으로 곱해서 convolution을 수행
2. MobileNet v1
-depthwise convolution(각 채널별 spatial정보만을 이용)
-pointwise convolution(채널간의 weighted linear combination)
-bottleneck Convolution(병목)
기존 BottleNeck
->연산적으로도 효율적, 정보보존으로써도 효율적
3.MobileNetV2
bottleneck structure을 개선
-Inverted residual structure – Expansion layer(충분한 채널수를 확보하기 위해)
-Linear BottleNeck (원래는 relu function이 마지막에 붙는데 여기서는 linear을 이용하고 relu를 안붙임)
-V1에서 포인트 단위 컨볼 루션은 채널 수를 동일하게 유지하거나 두 배로 늘 렸음
-V2에서는 반대로 작동합니다. 채널 수를 더 작게 만듬(프로젝션 레이어)
-V1에서 relu를 붙였을때 정보가 유지되지 않는 경우가 있었음
-V2에서는 relu를 안붙여보니 채널의 차원이 보장이 될수 있다고 함
4. mobilenetv3
-network search하는 방법(자동적으로 최적화)
-AUTOML적인 관점을 사용해서 structure를 searching하고 tuning하는 방법
-block단위에서 최적화(mnasnet과 거의 비슷함, weight값 다르게 줌 -0.07에서 -0.15로 변경:작은 모델에서 드라마틱하게 영향을 받는 경향이 있어서 더 작게 줌)
-layer단위에서 최적화
이 식을 이용하여 target latency가 될때까지 계속 시도해서 최적값을 찾음
하지만 이렇게 찾다보니 expensive layers들이 있음
특히 네트워크의 초반과 마지막 부분이 비효율적임
그래서 Network 하기와 같이 개선함
-Network Improvements
-V2에 있었던 프로젝션 레이어 없앰
-원래 32 필터를 사용했지만 절반인 16필터를 사용함
모바일에서 sigmoid를 쓰기 힘들기 때문에(expensive함) relu와 비슷한 h-swish라는 함수 씀
-Relu만 사용할때보다 Relu함수 반, swish함수 반을 사용하는것이 정확도가 올라감
-두가지 버전이 있음
large 연산속도가 높고 가벼운 모델->정확도가 large에 비해 낮음
small 연산속도가 좀더 낮고 무거운 모델 ->정확도가 large에 비해 낮음
Progress
-Tf Slim 이용(https://github.com/tensorflow/models/tree/master/research)
-parameters
--max_number_of_steps=1000
--batch_size=32
--learning_rate=0.01
--optimizer=rmsprop
--weight_decay=0.00004
Output
MobileNetV3 Loss
Citiation
https://arxiv.org/pdf/1905.02244.pdf
https://www.quantumdl.com/entry/7%EC%A3%BC%EC%B0%A8-MobileNet-ShuffleNet-DenseNet
https://seongkyun.github.io/papers/2019/12/03/mbv3/
https://ettrends.etri.re.kr/ettrends/180/0905180012/34-6_133-144.pdf
https://zhuanlan.zhihu.com/p/79304187
http://machinethink.net/blog/googles-mobile-net-architecture-on-iphone/
https://eli.thegreenplace.net/2018/depthwise-separable-convolutions-for-machine-learning/
https://machinethink.net/blog/mobilenet-v2/
'AI-video&image > Classification' 카테고리의 다른 글
VGG16 - Keras Training / Finetuning 교육때 물어보기 (0) 2020.02.19 Tf-slim fine tuning - VGG16 (Cat & Dog) (0) 2020.02.17 Tensorflow Slim 실행하기-inception_v1 (0) 2020.02.16