[딥 러닝] Pruning(프루닝)

jh.cin·2021년 7월 11일
0

프루닝(Pruning)

  • 학습 후에 불필요한 노드나 가중치등을 제거하는 방식
  • 가중치의 크기에 기반한 제거, 어텐션 헤드 제거, 레이어 제거, prunability를 제거하기 위해 학습 중에 정규화 방법등의 방식 있음
  • 크게 Structured Pruning과 Unstructured Pruning으로 나뉘어짐

Structured Pruning

  1. 커다랗게 규격(채널)을 잡아 기준에 맞게 pruning을 진행함
    • 규격(채널)단위로 최적화 되기 떄문에, 하드웨어 최적화에 효율적임
  2. 규적 단위로 Pruning 진행되기 때문에(ex) 해당 규격에서 0의 비율이 많은 규격을 제거), weight가 0인 것들이 남게됌.

Unstructured Pruning

  1. 구조화 하지 않고 노드 단위로 pruning을 진행하기 때문에, 얽힌 모양이 나오게 됌
  2. pruning 진행 후에는 weight가 0인 것들이 중점적으로 제거됌
profile
그냥 프로그래머

0개의 댓글