SqueezeNet은 2016년에 출시된 이미지 분류를 위한 심층 신경망이다. DeepScale, 캘리포니아 대학교 버클리, 스탠포드 대학교의 연구자들이 개발했다. 주요 설계 목표는 경쟁력 있는 정확도를 유지하면서 더 적은 매개변수를 가진 더 작은 신경망을 만드는 것이었다. 가장 우수한 성능의 SqueezeNet 모델은 ImageNet 분류에서 AlexNet과 동일한 정확도를 달성했지만, AlexNet의 240MB 매개변수 파일보다 510배 작은 5MB로 크기를 줄였다.
SqueezeNet의 아키텍처는 "파이어 모듈"에 의존하는데, 이는 채널 수를 줄이기 위한 스퀴즈 레이어(1x1 합성곱)와 특징 맵을 늘리기 위한 확장 레이어(1x1 및 3x3 합성곱의 혼합)를 결합한다. 이 설계는 기존의 합성곱 신경망에 비해 매개변수 수를 획기적으로 줄인다. 이 모델은 AlexNet의 압축 버전이 아니라 완전히 별개의 아키텍처로, ImageNet 검증 데이터셋에서 유사한 정확도를 달성한다.
버전 역사
SqueezeNet은 원래 2016년 2월 22일에 Caffe 딥러닝 프레임워크 기반으로 출시되었다. 곧이어 오픈소스 커뮤니티가 다른 프레임워크로 포팅했다. 2016년 2월 26일에 Eddie Bell이 Chainer용 포팅을, 2016년 3월 2일에 Guo Haria가 Apache MXNet용 포팅을, 2016년 6월 3일에 Tammy Yang이 Keras용 포팅을 출시했다. 2017년에는 Baidu, Xilinx, Imagination Technologies, Synopsys를 포함한 기업들이 스마트폰, FPGA, 맞춤형 프로세서와 같은 저전력 플랫폼에서 SqueezeNet을 시연했다. 2018년 기준으로 SqueezeNet은 PyTorch, Apache MXNet, Apple CoreML과 같은 프레임워크에 기본으로 포함되어 있으며, TensorFlow용 타사 구현도 제공된다.
다른 네트워크와의 관계
AlexNet
SqueezeNet은 원래 "SqueezeNet: AlexNet 수준의 정확도를 50배 적은 매개변수와 0.5MB 미만의 모델 크기로 달성"이라는 논문에서 설명되었다. AlexNet은 240MB의 매개변수를 가지는 반면, SqueezeNet은 단 5MB만 가진다. 이 작은 크기는 SqueezeNet을 컴퓨터 메모리에 쉽게 적재하고 네트워크를 통해 전송할 수 있게 한다. 그러나 SqueezeNet은 AlexNet의 압축 버전이 아니라 완전히 다른 심층 신경망 아키텍처이다. 둘 다 ImageNet 이미지 분류 검증 데이터셋에서 대략 동일한 정확도를 달성한다.
모델 압축
양자화 및 가지치기와 같은 모델 압축 기법은 훈련 후에 적용할 수 있다. SqueezeNet 논문에서 저자들은 Deep Compression이라는 기법이 매개변수 파일을 5MB에서 500KB로 줄일 수 있음을 입증했다. Deep Compression은 AlexNet 및 VGG와 같은 다른 네트워크에도 적용되었지만, SqueezeNet의 작은 기준 크기는 엣지 배포에 특히 적합하다.
변형
일부 원래 SqueezeNet 팀 구성원은 리소스 효율적인 네트워크 개발을 계속하여 SqueezeNext 및 기타 "스퀴즈" 계열 모델과 같은 변형을 만들었다. 오픈소스 커뮤니티는 또한 SqueezeNet을 이미지의 의미론적 분할 및 스타일 전송을 포함한 다른 응용 분야로 확장했다. 이러한 변형과 적응은 정확도와 매개변수 효율성의 균형을 맞추는 핵심 원칙을 유지한다.