본문 바로가기

Machine Learning/Pruning-가지치기

[논문 리뷰] Filter Pruning via Geometric Median for Deep Convolutional Neural Networks Acceleration

반응형

논문 자료: https://arxiv.org/pdf/1811.00250.pdf

해당 논문에서 사용되는 사진 및 자료를 사용하였습니다.

 

## New Concept

norm-based criterion

 

## Abstract

기존 논문들은 "smaller-norm-less-important"라는 기준이 prune filter에 활용되었다. 

그러나 이런 norm based criterion은 다음 2가지에 의해 effectiveness가 결정되는데 이 둘은 항상은 충족하지 않는다.

1) 필터들의 표준편차들은 커야한다.

2) 필터들의 minimum norm(최소 표준)은 작아야 한다.

 

이 논문에서는 이 두 문제에 상관없이 모델을 압축할 수 있는 새로운 filter pruning method(Filter Pruning via Geometric Median, FPGM)를 제시한다.

 

FPGM은 "중복성"을 기준으로 pruning을 진행한다.

기존 논문은 "상대적으로 덜" 중요한 필터를 pruning 한다는 점에서 차이가 있다.

 

ResNet-110 기준, CIFAR-10에서 FLOPs 52% 감소 및 2.69% 성능이 향상되었다.

 

Official Code GitHub: https://github.com/he-y/filter-pruning-geometric-median

 

he-y/filter-pruning-geometric-median

Filter Pruning via Geometric Median for Deep Convolutional Neural Networks Acceleration (CVPR 2019 Oral) - he-y/filter-pruning-geometric-median

github.com

## Introduction

norm-based criterion은 작은 norm을 가진 필터가 덜 중요하다는 추정아래에 larger norm을 계속 유지한다.

반대로 본 논문은 중복을 기준으로 프루닝을 진행한다. -> 다양한 크기의 norm 유지.

해당 곡선은 network의 이상적인 norm 분포이고 v1,v2는 각각 minimum maximum norm이다.

threshold를 정해 그 아래의 filter를 모두 가지치기했었다.

 

pruning에는 크게 두가지 기법이 있다.

1) weight pruning

-> difficult to leverage high efficiency

2) filter pruning

따라서 필터 프루닝이 선호된다.

 

To address the problems mentioned above, we propose a novel filter pruning approach, named Filter Pruning via Geometric Median (FPGM). Different from the previous methods which prune filters with relatively less contribution, FPGM chooses the filters with the most replaceable contribution.

 

##Methodology

3.1. Preliminaries

기호 정리

3.2. Norm based Criterion 분석

현실(초록)과 이상(파랑)의 괴리.

(a) -> norm deviation이 작아 threshold를 정하기 어려움.

(b) -> small norm less important라는 기준으로 보았을 때, minimum norm조차 크다면 모든 filter가 중요한 filter가 됨.

 

3.3. -> 실제 모델에서도 norm deviation에 따른 문제가 있음을 밝힘.

3.4.

f(x)를 위와 같이 정의했을 때 f(x)를 가장 작게하는 x를 x*로 정의함.

xGM는 i층 layer의 필터x 중 값을 최소로 하게 하는 값이다.

이를 활용해 pruning할 Fi,j*를 찾는다.

그러나 이는 계산상 computing cost가 너무 높다.

g(x)를 새롭게 정의하여 g(x) =g'(x)임을 활용하여 프루닝할 필터를 찾아낸다.

Q 왜 g(x) = g'(x)?

## Experiments

 

반응형