반복적 가지치기
IT 위키
반복적 가지치기(Iterative Pruning)는 신경망 모델의 불필요한 가중치를 점진적으로 제거하고, 각 단계마다 재학습(fine‑tuning)을 통해 성능 손실을 보정하는 방식이다.
개념[편집 | 원본 편집]
- 한 번에 많은 가중치를 제거하면 모델 성능이 급격히 저하될 수 있기 때문에, 반복적으로 조금씩 제거하는 전략을 사용한다.
- 각 반복 주기마다:
- 중요도가 낮은 가중치 또는 구조를 제거
- 제거 후 남은 부분에 대해 재학습을 수행하여 성능 회복
- 이 과정을 여러 번 반복하면서 점진적으로 모델을 희소화(sparsification)한다.
주요 알고리즘 및 예[편집 | 원본 편집]
- Iterative Magnitude Pruning (IMP)
- 절댓값이 작은 가중치들을 반복적으로 제거하고, 매 반복마다 남은 가중치를 재학습하거나 초기화 이전 상태로 되돌려 학습하는 방식이 자주 사용된다.
- DropNet
- 노드 또는 필터 단위로 반복적 제거를 수행하는 방식이다.
- 평균 활성화(post‑activation) 값이 낮은 노드 또는 필터부터 제거한다.
- AIP (Adversarial Iterative Pruning)
- 채널 단위 반복적 프루닝과 지식 전달(knowledge transfer)을 결합한다.
- 반복 단계별로 압축 성능을 유지하려는 방식이다.
장점[편집 | 원본 편집]
- 점진적 제거로 인해 급격한 성능 저하를 방지할 수 있다.
- 재학습 단계를 포함하므로 가지치기에 따른 손실을 완화할 수 있다.
- 다양한 프루닝 강도(sparsity level)를 탐색하면서 성능‑효율 균형을 조정할 수 있다.
단점 및 도전[편집 | 원본 편집]
- 반복 과정이 많아지면 시간 및 계산 비용이 커진다.
- 매 반복마다 재학습이 필요하므로 전체 학습 시간이 크게 증가할 수 있다.
- 과도한 반복 또는 잘못된 제거 기준은 오버피팅이나 불안정성을 유발할 수 있다.
- 제거 기준 설정(예: 제거 비율, 중요도 척도)과 반복 횟수 조정이 하이퍼파라미터 최적화 문제로 작용할 수 있다.
응용 및 활용[편집 | 원본 편집]
- 네트워크 압축 및 경량화
- 복권 가설 탐색: 반복적 프루닝은 복권 가설과 밀접한 관련이 있다.
- 멀티태스크 모델 병합: PackNet 등에서 반복적 프루닝을 활용하여 여러 태스크를 하나의 모델에 담는 연구들도 있다.