[논문 정보]
Forrest N. Iandola et al. | arXiv:1602.07360v4 | 2016년 11월
논문명: SqueezeNet: AlexNet-level accuracy with 50x fewer parameters and <0.5MB model size
1. 서론
SqueezeNet은 "정확도를 높이는 것"에 집중하던 2010년대 중반 CNN 연구 흐름에서 약간 다른 질문을 던진 논문이다. 당시 AlexNet, VGG, GoogLeNet, ResNet 계열 연구들은 ImageNet 정확도를 끌어올리는 방향으로 발전하고 있었고, 모델은 점점 깊어지고 복잡해지는 경향이 있었다. 하지만 SqueezeNet 저자들은 같은 정확도를 낼 수 있다면, 파라미터 수가 훨씬 적은 CNN이 실제 시스템에서는 더 큰 가치를 가질 수 있다고 주장한다.
이 논문의 핵심 문제의식은 단순하다. "정확도가 비슷하다면, 왜 굳이 큰 모델을 써야 하는가?" 모델이 작아지면 분산 학습 중 서버 간 통신량이 줄어들고, 클라우드에서 자동차나 모바일 기기로 모델을 배포할 때 전송 비용이 줄어들며, FPGA나 임베디드 장치처럼 메모리가 제한된 하드웨어에 배치하기 쉬워진다. 논문은 이 세 가지 장점을 명시적으로 제시한다.
특히 논문에서 강조하는 예시는 자율주행 차량의 OTA 업데이트다. AlexNet 수준의 모델은 약 240MB의 파라미터를 갖기 때문에, 차량에 주기적으로 새 모델을 배포하려면 상당한 네트워크 전송 비용이 발생한다. 반면 모델 크기를 수 MB 이하로 줄이면 더 자주, 더 부담 없이 모델을 업데이트할 수 있다. 이는 단순한 연구 성능 문제가 아니라 실제 배포 환경에서 중요한 운영 비용 문제다.
또한 FPGA나 ASIC 같은 하드웨어 관점에서도 작은 모델은 매우 중요하다. 논문은 예시로 Xilinx Virtex-7 FPGA의 온칩 메모리가 약 8.5MB 수준임을 언급한다. 모델 파라미터가 이보다 작으면 외부 메모리 접근 없이 온칩 메모리에 모델을 올려 추론할 수 있고, 이는 메모리 대역폭 병목을 줄이는 데 큰 장점이 된다.
SqueezeNet은 이러한 동기에서 출발해, AlexNet 수준의 ImageNet 정확도를 유지하면서 파라미터 수를 50배 줄인 CNN 구조를 제안한다. 나아가 Deep Compression을 적용하면 모델 크기를 0.5MB 미만으로 줄일 수 있으며, 이는 AlexNet 대비 510배 작은 크기다.
이 논문의 중요한 기여는 단순히 작은 네트워크 하나를 제안한 데 그치지 않는다. 저자들은 Fire module이라는 작은 CNN 블록을 설계하고, 이 블록을 조합해 SqueezeNet을 구성한다. 또한 squeeze ratio, 1x1/3x3 필터 비율, bypass connection 등 구조적 선택이 모델 크기와 정확도에 어떤 영향을 주는지 실험적으로 분석한다. 즉, SqueezeNet은 경량 CNN 아키텍처 논문이면서 동시에 CNN 설계 공간을 체계적으로 탐색하려는 시도이기도 하다.
2. 문제 정의
이 논문이 다루는 문제는 다음과 같이 정의할 수 있다. 주어진 정확도 수준을 유지하면서 CNN의 파라미터 수와 저장 크기를 극단적으로 줄일 수 있는가? 기존의 많은 연구는 정확도 향상을 최우선 목표로 삼았지만, SqueezeNet은 "동일한 정확도라면 더 작은 모델이 더 실용적이다" 라는 전제를 세운다.
CNN에서 파라미터 수가 커지는 주요 원인은 convolution filter의 크기와 채널 수다. 예를 들어 3x3 convolution filter는 1x1 filter보다 공간적으로 더 넓은 정보를 볼 수 있지만, 동일한 입력·출력 채널 조건에서는 파라미터 수가 9배 많다. 따라서 3x3 filter를 무분별하게 많이 사용하면 모델 크기가 빠르게 증가한다. 논문은 이 점을 첫 번째 설계 전략으로 정리한다.
또 하나의 문제는 3x3 filter에 들어가는 입력 채널 수다. convolution layer의 파라미터 수는 대략 입력 채널 수 × 출력 필터 수 × 커널 크기에 비례한다. 따라서 3x3 filter 자체의 개수를 줄이는 것뿐 아니라, 3x3 filter가 받아들이는 입력 채널 수를 줄이는 것도 중요하다. SqueezeNet은 이를 위해 squeeze layer를 사용한다.
하지만 모델을 작게 만드는 과정은 단순한 파라미터 삭제 문제가 아니다. 파라미터를 너무 줄이면 표현력이 부족해지고 정확도가 떨어질 수 있다. 따라서 문제는 "파라미터 수를 줄이는 것"과 "정확도를 보존하는 것" 사이의 균형을 찾는 것이다. SqueezeNet은 1x1 convolution, squeeze-expand 구조, late downsampling이라는 세 가지 전략으로 이 균형을 맞추려 한다.
기존 모델 압축 연구는 대체로 이미 학습된 큰 모델을 pruning, SVD, quantization, Huffman coding 등으로 압축하는 방식이었다. SqueezeNet은 이와 달리 처음부터 작은 아키텍처를 설계한다. 이 차이가 중요하다. 압축은 "큰 모델을 줄이는 방법"이고, SqueezeNet은 "작게 태어난 모델을 설계하는 방법"이다.
3. 제안 방법론
SqueezeNet의 핵심 아이디어는 다음 한 문장으로 요약할 수 있다. 3x3 convolution을 가능한 한 1x1 convolution으로 대체하고, 3x3 convolution 앞에는 채널 수를 줄이는 squeeze layer를 배치하여, 정확도를 유지하면서 파라미터 수를 극단적으로 줄인다.
3.1 설계 전략 1: 3x3 filter를 1x1 filter로 대체
첫 번째 전략은 3x3 filter 대신 1x1 filter를 많이 사용하는 것이다. 1x1 filter는 공간적 이웃을 직접 보지는 않지만, 채널 간 조합을 학습할 수 있다. 그리고 3x3 filter보다 파라미터 수가 9배 적다. 따라서 동일한 필터 개수라면 1x1 convolution을 많이 사용하는 구조가 훨씬 가볍다.
이 아이디어는 Network-in-Network, GoogLeNet 계열에서도 사용된 적이 있지만, SqueezeNet은 이를 모델 경량화의 중심 원리로 더 적극적으로 사용한다. 단순히 일부 layer에 1x1 filter를 섞는 것이 아니라, 네트워크 전체 구조를 1x1 중심으로 다시 설계한다.
3.2 설계 전략2: 3x3 filter의 입력 채널 수 감소
두 번째 전략은 3x3 filter가 받는 입력 채널 수를 줄이는 것이다. convolution layer의 파라미터 수는 입력 채널 수에 비례하므로, 3x3 filter를 사용하더라도 그 앞에서 채널 수를 줄이면 전체 파라미터 수를 크게 줄일 수 있다.
이를 위해 SqueezeNet은 Fire module 안에 squeeze layer를 둔다. squeeze layer는 1x1 convolution만으로 구성되며, expand layer로 들어가기 전에 채널 수를 줄이는 병목 역할을 한다. 이렇게 하면 뒤쪽 3x3 convolution이 처리해야 하는 입력 채널 수가 줄어든다.
3.3 설계 전략3: Downsampling을 뒤쪽으로 미루기
세 번째 전략은 네트워크 초반에 feature map 크기를 너무 빨리 줄이지 않는 것이다. 논문은 convolution layer의 activation map 크기가 클수록 더 많은 공간 정보를 보존할 수 있고, 제한된 파라미터 예산 안에서 정확도에 유리할 수 있다고 본다. 그래서 SqueezeNet은 pooling을 비교적 뒤쪽에 배치한다.
이 전략은 단순히 모델 크기를 줄이는 전략은 아니다. 오히려 작은 모델이 정확도를 잃지 않도록 보완하는 전략이다. 즉, 1x1 convolution과 squeeze layer로 파라미터 수를 줄이는 대신, feature map의 공간 해상도를 오래 유지하여 정보 손실을 줄이려는 설계다.
3.4 Fire Module
SqueezeNet의 기본 블록은 Fire module이다. Fire module은 두 부분으로 구성된다.
첫째, squeeze layer가 있다. 이 layer는 1x1 convolution filter만 사용한다. 둘째, expand layer가 있다. expand layer는 1x1 convolution과 3x3 convolution을 함께 사용한다. 논문의 Figure 1은 이 구조를 시각적으로 보여준다.
Fire module에는 세 가지 주요 하이퍼파라미터가 있다.
| 기호 | 의미 |
| s1x1 | squeeze layer의 1x1 filter 개수 |
| e1x1 | expand layer의 1x1 filter 개수 |
| e3x3 | expand layer의 3x3 filter 개수 |
중요한 조건은 s1x1 < e1x1 + e3x3가 되도록 설정한다는 점이다. 즉, squeeze layer가 expand layer보다 더 적은 채널을 출력하도록 만들어 병목을 형성한다. 이 병목이 3x3 convolution의 입력 채널 수를 줄이고, 결과적으로 파라미터 수를 줄인다.
3.5 SqueezeNet 전체 구조

SqueezeNet은 하나의 초기 convolution layer인 conv1으로 시작한다. 그 뒤에 fire2부터 fire9까지 총 8개의 Fire module이 이어지고, 마지막에 conv10 layer가 배치된다. 이후 global average pooling과 softmax를 통해 ImageNet 1000개 클래스를 분류한다.
논문의 Figure 2는 SqueezeNet의 macroarchitecture를 보여준다. 기본 SqueezeNet은 conv1 → fire2~fire9 → conv10 → global avgpool → softmax 흐름을 갖는다. 또한 논문은 여기에 simple bypass, complex bypass를 추가한 변형 구조도 함께 비교한다.
SqueezeNet은 네트워크가 깊어질수록 Fire module의 filter 수를 점진적으로 증가시킨다. 이는 CNN에서 일반적으로 사용하는 설계 방식과 유사하다. 초반에는 저수준 특징을 적은 채널로 추출하고, 후반으로 갈수록 더 많은 채널을 사용해 고수준 특징을 표현한다.
3.6 세부 구현 선택
SqueezeNet은 expand layer에서 1x1과 3x3 convolution 결과의 feature map 크기를 맞추기 위해 3x3 convolution 입력에 1-pixel zero padding을 적용한다. squeeze layer와 expand layer 뒤에는 ReLU를 사용한다. fire9 뒤에는 50% dropout을 적용한다.
또한 SqueezeNet은 fully-connected layer를 사용하지 않는다. 이는 Network-in-Network의 영향을 받은 설계다. CNN에서 fully-connected layer는 파라미터 수가 매우 많기 때문에, 이를 제거하는 것은 모델 크기 축소에 큰 영향을 준다.
Caffe 구현에서는 하나의 expand layer 안에 1x1과 3x3 filter를 동시에 넣을 수 없기 때문에, 저자들은 expand layer를 두 개의 convolution layer로 나누어 구현했다. 하나는 1x1 convolution, 다른 하나는 3x3 convolution이며, 두 결과를 channel dimension에서 concatenate한다. 이는 수학적으로 하나의 layer에 서로 다른 크기의 filter를 넣은 것과 동일하다.
4. 핵심 통찰 및 의의
첫 번째 핵심 통찰은 좋은 모델은 반드시 커야 하는 것이 아니라는 점이다. SqueezeNet은 AlexNet과 동일한 ImageNet Top-5 정확도를 달성하면서 모델 크기를 240MB에서 4.8MB로 줄였다. 이는 단순한 압축 결과가 아니라 아키텍처 자체를 작게 설계한 결과다.
두 번째 통찰은 1x1 convolution의 강력함이다. 1x1 convolution은 공간 정보를 직접 보지는 않지만, 채널 간 조합을 통해 표현력을 유지할 수 있다. SqueezeNet은 1x1 convolution을 적극적으로 사용해 3x3 convolution의 비중을 줄였고, 이로써 파라미터 수를 크게 절감했다.
세 번째 통찰은 병목 구조의 양면성이다. squeeze layer는 3x3 convolution 앞에서 입력 채널 수를 줄여 모델 크기를 줄이는 데 효과적이다. 하지만 squeeze ratio가 너무 낮으면 정보 흐름이 제한되어 정확도가 낮아질 수 있다. 논문의 실험에서도 squeeze ratio를 높이면 정확도가 상승하지만, 모델 크기도 함께 증가한다.
네 번째 통찰은 작은 모델도 추가 압축이 가능하다는 점이다. 작은 모델은 이미 파라미터 수가 적기 때문에 더 이상 압축하기 어렵다고 생각할 수 있다. 하지만 논문은 SqueezeNet에 Deep Compression을 적용해 0.47MB까지 줄이면서 정확도를 유지했다. 이는 아키텍처 경량화와 사후 압축이 서로 배타적인 방법이 아니라, 함께 사용할 수 있는 방법임을 보여준다.
다섯 번째 통찰은 경량 모델 설계에서도 macroarchitecture가 중요하다는 점이다. simple bypass connection은 모델 크기를 늘리지 않으면서 정확도를 높였다. 이는 경량화 연구가 단순히 필터 수를 줄이는 문제에 머무르지 않고, 정보 흐름을 어떻게 설계할 것인가의 문제까지 포함해야 함을 보여준다.
5. 한계점 및 향후 연구
첫 번째 한계는 평가가 주로 ImageNet 분류에 집중되어 있다는 점이다. 논문은 ImageNet-trained CNN이 다양한 downstream task에 활용될 수 있다고 언급하지만, 실제 실험은 주로 ImageNet classification 중심이다. 객체 탐지, segmentation, fine-grained recognition 등에서 SqueezeNet이 어느 정도의 성능을 보이는지는 이 논문만으로 충분히 확인하기 어렵다.
두 번째 한계는 정확도 자체가 최신 대형 모델 대비 높지는 않다는 점이다. SqueezeNet의 목표는 AlexNet-level accuracy였기 때문에, ResNet이나 이후 등장한 EfficientNet, MobileNet 계열과 직접 비교하면 정확도 경쟁력은 제한적일 수 있다. 다만 이 논문이 나온 시점에서는 “AlexNet 수준 정확도를 50배 작은 모델로 달성”했다는 점 자체가 매우 큰 의미를 가진다.
세 번째 한계는 실제 추론 속도와 하드웨어별 효율성에 대한 분석이 제한적이라는 점이다. 모델 크기가 작다고 해서 항상 모든 하드웨어에서 빠른 것은 아니다. 특히 1x1 convolution과 작은 feature map, memory access pattern, framework 최적화 여부에 따라 실제 latency는 달라질 수 있다. 논문도 Deep Compression의 codebook quantization이 일반 CPU/GPU에서 곧바로 이론적 speedup으로 이어지기는 어렵다고 언급한다.
향후 연구 방향으로는 SqueezeNet의 아이디어를 더 다양한 태스크와 하드웨어에 맞게 확장하는 방향이 있다. 실제로 논문 후반부에서는 FPGA 구현 사례와 DSD training을 통한 추가 정확도 향상 사례를 언급한다. 이는 SqueezeNet이 단순한 네트워크 하나가 아니라, 경량 CNN 설계의 출발점으로 활용될 수 있음을 보여준다.
6. 결론
SqueezeNet은 CNN 경량화 연구에서 중요한 전환점을 만든 논문이다. 이전의 많은 연구가 큰 모델을 학습한 뒤 압축하는 방식에 집중했다면, SqueezeNet은 처음부터 작은 구조를 설계함으로써 AlexNet 수준의 정확도를 훨씬 작은 모델로 달성했다. 핵심은 1x1 convolution의 적극적 활용, squeeze-expand 구조, late downsampling, fully-connected layer 제거다.
정량적으로 SqueezeNet은 4.8MB 모델 크기로 AlexNet과 동일한 Top-5 정확도 80.3%를 달성했다. Deep Compression을 적용하면 0.47MB까지 줄어들며, 이는 AlexNet 대비 510배 작은 모델이다. 이 결과는 경량 아키텍처 설계와 압축 기법을 결합하면 매우 작은 모델도 실용적인 정확도를 유지할 수 있음을 보여준다.
이 논문의 의의는 오늘날의 모바일 AI, 온디바이스 AI, 엣지 컴퓨팅 관점에서도 여전히 크다. 모델을 작게 만드는 것은 단순히 저장 공간을 줄이는 문제가 아니라, 배포 비용, 업데이트 주기, 메모리 대역폭, 전력 효율, 실시간 추론 가능성과 직접 연결된다. SqueezeNet은 이러한 관점에서 “정확도만 보는 CNN 설계”에서 “배포 가능한 CNN 설계”로 관심을 확장시킨 대표적인 논문이다.
References
논문 원문: SqueezeNet: AlexNet-level accuracy with 50x fewer parameters and <0.5MB model size
https://arxiv.org/abs/1602.07360
'CV(Computer Vision)' 카테고리의 다른 글
| MobileNetV2 (0) | 2026.06.08 |
|---|---|
| MobileNetV1 (0) | 2026.06.01 |
| DenseNet (Densely Connected Convolutional Networks) (0) | 2026.05.25 |
| ResNet (Deep Residual Learning for Image Recognition) (0) | 2026.05.24 |
| GoogLeNet (Going Deeper with Convolutions) (0) | 2026.05.21 |