논문 리뷰

[논문 리뷰] Learning Efficient Convolution Networks through Network Slimming

컴퓨터비전 LCK 2024. 10. 4. 20:50

안녕하세요 Learning Efficient Convolution Networks through Network Slimming 논문 리뷰 시작하겠습니다.

https://arxiv.org/abs/1708.06519

 

Learning Efficient Convolutional Networks through Network Slimming

The deployment of deep convolutional neural networks (CNNs) in many real world applications is largely hindered by their high computational cost. In this paper, we propose a novel learning scheme for CNNs to simultaneously 1) reduce the model size; 2) decr

arxiv.org

 

1. Abstract & Introduction

Flow-chart of network slimming

 

Network Slimming 기법 제안

Batch normalization 단계에 learnable 파라미터인 scaling factor γ 와 shifting factor β 를 추가적으로 거치게 설정 

손실 함수에 scaling factor γ 을 포함한 L1 정규화 항을 추가하여 학습을 진행한다.

scaling factor γ의 크기가 작은 순서대로 채널 프루닝을 진행한다.

프루닝된 네트워크를 재학습한다.

 

2. Main idea of paper

scaling and shifting factor for network slimming

 

해당 논문에서는 그림과 같이 컨볼루션을 필터를 통과한 output feature map 에서 batch normalization 을 거친 후에 추가적으로 scaling 과 shifting factor를 부여하여 모델이 이를 스스로 학습하게 합니다.

 

loss function for network slimming

손실 함수에 scaling factor γ 을 포함한 L1 정규화 항을 추가하여 학습을 진행합니다. g(γ)= | γ | 로, L1 norm을 의미합니다.

이는 모델 훈련 시 scaling factor γ가 작은 값으로 수렴하게끔 합니다.

람다 값에 따른 γ 분포

우측의 λ=10^(-4)일 때의 γ 분포를 살펴보시면 왼쪽의 λ=0일 때에 비해서 굉장히 고른 분포를 보이고 있다는 것을 확인할 수 있습니다. 이를 통해 학습이 끝났을 때 pruning 할 채널들을 식별 시에 유리하게 만들어 줄 수 있습니다.

 

다음과 같은 훈련 과정을 거쳐 각 특징 맵에서의 γ를 파악하고 작은 순서대로 channel 프루닝을 진행합니다. 이 과정을 반복하여 최종적으로 경량화된 모델을 얻습니다.

 

3. Experiment and Results

CIFAR-10과 CIFAR-100, SVHN 데이터셋으로 실험한 결과를 보여줍니다.

채널 프루닝을 진행한 네트워크에서의 에러율이 baseline 네트워크보다 우수한 결과를 보여주는 모델이 많음을 확인할 수 있습니다. 연산량은 여기 pruned network에서 훨씬 적게 진행되었음을 확인할 수 있습니다.