배경 : 모델의 모든 파라미터들이 추론에 동일한 영향을 미치지 않는다.
→ 상대적으로 중요하지 않은 뉴런들은 제거하여 모델의 파라미터를 줄인다.
즉, 성능이 크게 저하되지 않는 선에서 weight들을 최대한 sparse하게 (대부분의 값이 0이도록) 만드는 방법이 Pruning이다.

설정해야 하는 것
- Pruning Granularity : 그룹을 지어서 pruning 할 것인지, 각 요소를 pruning 할 것인지
- Pruning Criteria : threshold를 설정해서 얼마나 작은 weight들을 pruning할 것인지
- Pruning Schedule : 학습을 한 다음에 pruning을 할 수 있듯이, 언제&얼마나&어떻게 pruning할 것인지
Sensitivity Analysis
어떠한 weight나 layer가 pruning할 때 영향을 많이 받는지를 파악해서 sparsity level을 정할 수 있다. weight를 prune한 다음에 평가해서 정확도가 어떻게 변하는지 확인하여, 해당 weight의 중요성을 가늠할 수 있다.
Pruning의 장단점
장점:
- 파라미터 수가 줄어들어서 모델이 가벼워진다. 메모리와 계산자원을 아낄 수 있다.
- 불필요한 계산이 줄어들어 추론 속도가 빨라진다.
- 모델의 복잡도가 줄어들어서 overfitting을 방지할 수 있다.
단점:
- 너무 많이 pruning하면 성능이 저하될 수 있어서 잘 조절해야 한다.
728x90
반응형
'AI > DL' 카테고리의 다른 글
[DL] Label Smoothing (라벨 스무딩) 기법 (0) | 2024.07.28 |
---|---|
[DL] Drop-out (드롭아웃) 기법 (0) | 2024.07.27 |