연구/논문 리뷰

[ICLR 2020] Comparing fine-tuning and rewinding in neural network pruning

xeskin 2020. 2. 27. 12:16
반응형

Paper Link: https://openreview.net/pdf?id=S1gSj0NKvB 


Introduction

  본 논문은 sparse network의 정확도를 회복할 목적으로 fine-tuning 대신 rewinding이라는 기법을 제안한 논문입니다. "Lottery Ticket Hypothesis"를 비롯한 기존 pruning procedure를 지적하는데, lottery ticekt을 다시 살펴보면 이는 다음과 같습니다.

  여기서 네번째에 주목하면, sparse network의 weight을 original network의 initialization weight으로 초기화시켜주는데, 이때 수렴속도가 느린 것을 지적합니다. 


Rewinding

  저자들은 pruning이후 weight을 initialization단계로 두지 말고, training초기에 특정 단계로 돌려서 training시키는 기법을 제안하고 이를 "Rewinding"이라고 부릅니다. 과정은 다음과 같습니다.

1. 모델을 epoch T 동안 돌려서 수렴시킴

2. Heuristic 기반으로 pruning

3. 남은 weight을 적절한 epoch t로 돌림 (0<t<T)

4. T-t epoch 만큼 돌려서 수렴시킴

  간단한 방법이지만 모든 경우에 있어 fine-tuning보다 빠른 수렴과 좋은 성능을 보여주었다고 합니다. 그리고 목표 정확도에 대해서 fine-tuning을 사용하는 것보다 rewinding을 사용하는 것이 더 높은 sparsity를 준다고 합니다. 좋은 성능을 보여주었다는 것은 알겠는데, 그럼 언제쯤으로 돌리면 좋느냐는 문제점이 생기는데, 논문에서는 실험적으로 적절한 rewinding range를 제시하였습니다.


Methodology

 이를 증명하기 위해 3가지 vision model을 갖고 돌려봤다고 합니다. 그리고 각 모델에 대해 독립적으로 rewinding, fine-tuning, reinitialization을 적용하는 실험을 해보았습니다. 모델 훈련에 사용되는 모든 하이퍼파라미터는 동일하게 설정하였습니다. (learning rate, momentum, batch size, epoch 등) 이는 다음과 같습니다.

 

  여기서 reinitialization은 sparse network를 original network의 weight으로 초기화시키는 게 아니라 말그대로 다시 초기화를 시켜서 처음부터 학습시키는 것을 말합니다. 이에 대한 결과는 다음과 같습니다.

 ResNet의 경우에는 약 1.5-2.0배까지 큰 sparsity를 가져간 것을 확인할 수 있습니다. 구체적으로 어떤 pruning 기법이 사용됐는 지에 대한 것은 논문을 보시면 디테일을 확인할 수 있습니다. 아쉬운 점으로는 structured pruning에 대해서는 실험을 진행하지 않았다는 것입니다. 논문에서도 이를 한계점으로 지적합니다.

 

  위의 실험은 original network의 정확도에 도달하는데, rewinding이 fine-tuning보다 큰 sparsity를 가져갈 수 있다는 것을 보인 것입니다. 그러면 rewinding이 fine-tuning보다 좋은 성능을 낼 수 있냐? 라는 의문이 생기는데, 저자들은 이에 대한 실험 또한 위와 같은 프레임워크 아래 진행했습니다. 결과는 다음과 같습니다.

 


Picking The Rewind Epoch

  위 실험 결과로부터 rewinding을 사용하면 더 높은 sprsity와 정확도를 가져갈 수 있다는 걸 확인했습니다. 그런데, 의문이 생깁니다. 그래서 rewind를 언제 해야 좋은건데? 수렴 epoch의 30%일 때? 50%일 때? 70%일 때? 저자들은 다음과 같은 통제 아래 실험적으로 이를 밝혔습니다. (Pruning 논문이 다 그렇지만 항상 실험적으로 모든 걸 퉁치려고 하는 것이 아쉽습니다 ㅠㅠ)

 

  여기서 Safety는 동일한 re-training budget아래 fine-tuning, rewinding 했을 때 정확도 차이를, Dominance는 training budget 제한이 없을 때 정확도 차이를 의미합니다.

 


 

반응형