본문 바로가기
논문리뷰

SQUEEZENET: AlexNet-level accuracy with 50x fewer parameters and <0.5MB model size

by Park Hyun Kook 2020. 6. 1.

SQUEEZENET: AlexNet-level accuracy with 50x fewer parameters and <0.5MB model size

  Authors: Forrest N. IandolaSong HanMatthew W. MoskewiczKhalid AshrafWilliam J. DallyKurt Keutzer

 

- SqueezeNet AlexNet 동일한 성능을 가지면서 parameter 수를 50배나 줄이고, weight size 0.5MB이하로 줄인 굉장히 light 네트워크이며, 모바일이나 임베디드 환경에서 적합하게 설계되었다. 이는 당시 제안된 네트워크들이 accuracy 높이는 것에 목표를 두어 네트워크가 굉장히 무겁게 설계되었고, 실제로 간단한 CNN architecture AlexNet 또한 라즈베리파이나 스마트폰에 업로드하기 무거웠다는 사실을 확인했다. 따라서 SqueezeNet 적은 파라미터수와 메모리로, 모바일 환경이나 vision application 적합하게 적용될 있다.

- SqueezeNet 8개의 fire module 가지고 있으며 input output에서 각각 1개의 conv 사용한다. Fully connect layer 많은 양의 파라미터를 포함하기 때문에 사용하지 않았다. 대신 global average pooling weight 없이 model size 줄이며 overfitting 방지 하였다.

- 더불어 3x3 conv layer 모두 1x1 conv layer 대체하며, 계산 복잡성을 9 줄였다.

 

- 또한 네트워크 초기 부분에 DownSampling 하게 되면 연산량이 줄어들어 속도가 빨라지지만, 그만큼 정보손실이 크기 때문에 accuracy 감소되어 SqueezeNet DownSampling 늦게 한다.

- Fire module squeeze layer expand layer 구성되며(아래 그림 좌측), squeeze layer에서는 1x1 conv 통해 채널을 압축하고, 다음 Expand layer 통해 1x1 conv 3x3 conv 통해 다시 팽창시킨다. 그래서 input에서 128 channel 들어오면 처음 squeeze layer 통해 128-> 16channel squeeze하고, 다시 1x1 conv에서 16->64 channel  3x3 conv에서 16->64 channel 만들어 2개의 결과를 concat하여 초기 input channel 128 동일하게 ouput channel 만든다. 이러한 방식을 통하여 weight 사이즈를 줄이면서 성능은 AlexNet 동일하거나, 이상인 네트워크를 만들어 있었다.

   

댓글