논문 리뷰/경량화 논문 스터디

[논문 리뷰]Rethinking the Value of Network Pruning, ICLR 2019

공부중인학생 2021. 9. 6. 21:52

스터디에서 발표된 Rethinking the Value of Network Pruning을 정리하겠습니다.

Pruning은 이미 학습되어 있는 모델에서 비교적 간편하게 성능을 증가시키는 방법 중 하나입니다. 

 

간단하게 말하면 Network Pruning은 약한 연결을 가지치기 하듯 잘라내어 모델 크기를 줄이는 방식으로 경량화를 시킵니다. 

 

  • 일반적인 Pruning 과정은 다음의 3가지 스텝에 따라 진행됩니다.

  1. 무겁고 큰 모델을 학습시켜 정확도를 최대한 높입니다.
  2. 무겁고 큰 모델에서 중요하지 않은 가중치를 잘라냅니다.
  3. 작아진 모델의 정확도를 향상 시키기 위해 파인 튜닝을 합니다.(큰 모델의 가중치를 전달?)

이러한 과정을 진행하는 이유는 다음과 같습니다. 

  • 작은 모델에서 불필요한 가중치를 없애는 것보다 큰 모델에서 불필요한 가중치를 없애는 것이 모델에 영향을 덜 준다는 것과 기존 network가 클수록 정확도가 더 높다는 점.
  • prune이후 구조와 그 구조의 가중치 값이 중요한 의미를 가진다는 점(중요한 가중치가 남기 때문에).

그러나 논문에서는 두 가지 전제가 채널 단위 이상에서 이루어지는 pruning (structured pruning)에서는 적용되지 않을 수 있다고 주장합니다. 저자들은 Pruned 모델을 Random Initialized해서 학습한 것보다 3-stage 방법을 통한 모델이 안 좋을 수 있다는 것을 관찰했습니다.

 

 

————다음의 주장은 모두 Structured Pruning의 상황에서의 주장들입니다.————

 

1) 무겁고 큰 네트워크가 효율적인 최종 모델을 얻는데 반드시 필요한 건 아니다.

2) 무거운 모델의 '중요한' 가중치는 Pruned 모델에 유용하지 않다. 

3) Pruned 모델의 구조 자체가, '중요한' 가중치보다 더 중요하다. (상속되는 weight보단  pruning 후 구조가 더 중요)

4) 따라서 Structured Pruning 기법은 Architecture Search로 사용할 수 있다.

 

# 실험

  • Training Budget : 실험을 위해 작은 모델을 훈련시킬 때, 작은 모델을 얼마나 훈련시켜야 하는지
  • Scratch-E : 큰 모델과 epoch 같음
  • Scratch-B : 큰 모델과 계산량 같음 (FLOPs)
  • 실험 전체적으로 Scratch-B가 가장 우수한 경향성 있습니다.

1. Predefined Structured Pruning

  • L1-norm based filter pruning

: 학습 후 얻어진 Network의 각 필터마다 L1-norm 기반, 즉 가중치의 절대값들의 합을 구해 작은 순서대로 pruning 하는 방법

 

  • ThiNet

: 다음 layer의 activation 값에 가장 작은 영향을 주는 channel을 greedy하게 소거하는 방법. 즉, 특정 layer를 기준으로 pruned model의 output이 baseline model의 output과 차이가 최소화되도록 채널을 소거하는 방법

 

  • Regression based feature reconstruction

: 다음 layer의 feature map reconstruction error를 최소화하도록 pruning하는 방법론. ThiNet 매우 유사하나 LASSO regression을 사용해 최적화한다는 차이가 있음

 

 

2. Automatic Structured Pruning

  • Network Slimming

: 각 channel의 batch norm scaling factor를 기반으로 scaling factor가 작은 channel을 pruning 하는 방법

 

 

  • Sparse Structure Selection

: 특정 structure에 부과된 scaling factor를 기반으로 pruning 하는 방법

 

 

3. Unstructured Magnitude-Based pruning

  • 모든 weight의 절대값을 기준으로 작은 값들을 pruning 하는 방법

 

Network Pruning as Architecture Search

  • 실험을 통해 가중치보다 Pruned 모델의 구조 자체가 중요함을 밝혔다. → uniformly pruned model과 pruning-obtained model을 비교하여 network pruning의 architecture search로서의 가치를 보입니다.