최초의 경량화 모델로 알렉스넷과 비슷한 성능을 보인 모델이다.
모델의 구조와 함께 대학 논문답게 여러가지 개념을 잘 정리해준 논문이다.
1. 적은 파라미터의 이점
1) 효율적인 분산 훈련
- 작은 모델이 적은 서버와의 소통으로 빠른 훈련이 가능하다
2) 새로운 모델 배포시에 걸리는 시간이 짧다
- 테슬라의 오토파일럿이나 IOT기기 같은 기기에 업데이트를 배포시에 작은 모델일 수록 배포 및 관리가 쉽다
3) 작은 기기에도 모델을 담을 수 있다.
2. Accuracy를 유지하면서 파라미터를 줄이는 방법
1) 3x3을 1x1conv로 대체해라
- 1x1conv는 3x3conv보다 파라미터가 9배 적다
2) 3x3conv에 들어가는 인풋채널의 수를 줄여라
- 총 파라미터는 (number of input channel) * (number of filter) * (3*3)이다. 3x3conv를 줄이는 것도 중요하지만 인풋채널을 줄이는 것도 중요하다
3) feature맵의 크기를 줄이는 것을 뒤로 미뤄라
- feature맵의 크기는 (1) 인풋데이터의 크기 (2) 구조에서 줄이는 것 두가지 방법으로 줄일 수 있다. 방법(2)로는 conv + stride >1 or pooling 으로 줄이게 된다.
- 저자는 큰 feature map이 좋은 acc를 얻게했다고한다. 실험을 통해서도 늦은 다운샘플이 좋은 성능을 가져왔다 한다.
3. Fire Module

스퀴즈 넷은 위와 같은 fire module로 이루어진 모델이다.
먼저 s1x1개의 1x1conv로 채널을 squeeze한뒤에
각각 e1x1개의 1x1conv와 e3x3개의 3x3conv를 한뒤에 concat하는 구조로 이루어진다.
4. architecture

전체 구조를 보면 bypass (resnet의 그것 skip connection) 을 차용하고 있는데 첫 모델은 bypass를 적용하지않는 경우 두번째 모델은 bypass를 채널이 맞는 경우만 사용한경우 세번째는 conv11으로 채널을 맞춰서 모든 구간에 bypass를 적용한 것이다

두번째 모델이 가장 좋은 성능을 보였다
bypass를 추가한 이유는 Fire Module내에서 repre~ bottleneck 문제가 발생하기 때문입니다. squeeze layer의 파라미터 수는 expand layer보다 작다. 이는 모델을 가볍게 해주지만 정보 손실이 발생한다. 따라서 bypass를 추가하여 정보 손실을 막은것이다.

추가적으로 확인할 점은 avgpool을 활용해서 파라미터를 많이 줄엿다는 점이다.
파라미터는 비슷한 성능을 내는 alex넷과 비교했을 떄 3배가량줄었다.
Deep Compression로 추가로 더 파라미터를 줄일 수 있다고 하는데 이는 추후에 언급하겠다
'CV > classification' 카테고리의 다른 글
[CV] ResNext (0) | 2022.05.04 |
---|---|
[CV] Mobile Net V2 (0) | 2022.05.04 |
[CV] MobileNet (0) | 2022.05.03 |
[CV] Xception (0) | 2022.05.03 |
[CV] Inception V2, V3 (0) | 2022.05.03 |