가지치기란?
신경망 모델에서, 노드(뉴런)나 연결(시냅스)를 제거하여 모델의 크기와 계산 비용을 줄이는 기법
제거의 과정
목표
특히 이중에서도
메모리, 즉파라미터 수가 중요하다.
메모리는 에너지가 많이 소모되기 때문


90% 이상 pruning 진행시 다소 성능이 떨어지는 양상

출처: https://stacks.stanford.edu/file/druid:qf934gh3708/EFFICIENT%20METHODS%20AND%20HARDWARE%20FOR%20DEEP%20LEARNING-augmented.pdf
Unstructured vs Structured 예시

Pruning 단위의 granularity(크기)에 따른 구분
Unstructured Pruning
Structured Pruning

Pruning할 파라미터를 선정하는 방법에 따른 구분
덜 중요한 파라미터/레이어가 pruning의 대상
중요도를 계산하는 방법
파라미터별로 절댓값을 중요도로 사용

레이어별로 Lp-norm을 중요도로 사용

계산된 중요도를 반영할 단위
- Global Pruning
- 모델 전체에서 pruning
- 중요도를 전체에서 절대 비교
- Local Pruning


첫번째 방식의 경우 30%를 한번에 제거한 후에 파인튜닝을 한번 진행하고
두번째 방식의 경우 10%씩 제거할 때마다 한번씩 더 파인튜닝해보는 방법론임.
두번째가 더 좋은 성능이 나올 때가 많음


Weight-preservig(전통적인 방법론)
pruning 직후 상태 그대로 이어서 fine-tuning 진행

Weight-reinitializing(rewinding)
랜덤 값으로 재초기화 한 후에 재학습 진행



3. Scheduling
Recursive 방식 이용
4. Initialization
Rewind 방식 활용