익명 사용자
로그인하지 않음
토론
기여
계정 만들기
로그인
IT 위키
검색
가지치기 (딥 러닝)
편집하기
IT 위키
이름공간
문서
토론
더 보기
더 보기
문서 행위
읽기
편집
원본 편집
역사
경고:
로그인하지 않았습니다. 편집을 하면 IP 주소가 공개되게 됩니다.
로그인
하거나
계정을 생성하면
편집자가 사용자 이름으로 기록되고, 다른 장점도 있습니다.
스팸 방지 검사입니다. 이것을 입력하지
마세요
!
가지치기(영어: Pruning)는 딥 러닝에서 신경망의 불필요한 파라미터(가중치나 뉴런 연결)를 제거하여 모델의 크기를 줄이고 연산 효율을 높이는 기법이다. 이는 나무의 불필요한 가지를 잘라내는 원예 작업에서 유래한 용어로, 신경망의 성능은 유지하면서도 경량화를 달성하기 위해 사용된다. ==개요== *딥 러닝 모델은 수백만~수십억 개의 파라미터를 가지며, 이 중 일부는 학습 결과에 크게 기여하지 않는다. *가지치기는 중요도가 낮은 파라미터를 제거하여, 계산량(MACs, FLOPs)을 줄이고 메모리 사용량을 절감한다. *모델 압축, 지연 시간(latency) 단축, 에너지 절약 등을 위해 활용된다. ==방법== 가지치기(pruning)는 크게 두 가지 측면에서 분류할 수 있다. *'''평가기준(criteria)''' : 어떤 가중치를 제거할지 결정하는 기준 *'''적용 형태(method)''' : 실제로 어떤 단위로 가지치기를 적용할지에 대한 방식 ===평가기준=== 가중치의 중요도를 평가하는 기준에 따라 다음과 같은 방식이 있다.*'''가중치 크기 기반 (Magnitude pruning)''' **원리: 가중치의 절댓값이 임계치보다 작은 경우 중요하지 않다고 보고 제거한다. **장점: 단순하고 구현이 쉽다. **단점: 입력의 중요도를 반영하지 못하여 성능 저하 위험이 있다. *'''기울기 기반 (Gradient pruning)''' **원리: 학습 시 기울기가 작은 파라미터를 제거한다. **장점: 학습 동역학을 고려할 수 있어 정교하다. **단점: 시점과 데이터 분포에 따라 불안정할 수 있으며 계산량이 증가한다. *'''헤세 행렬 기반 (Hessian pruning)''' **원리: 손실 함수의 2차 미분(헤세 행렬)을 통해 손실 변화가 작은 파라미터를 제거한다. **장점: 이론적으로 손실에 미치는 영향을 근사할 수 있다. **단점: 대규모 신경망에서는 계산 비용이 매우 크다. *'''학습 손실 변화 기반 (Training loss change pruning)''' **원리: 특정 파라미터를 제거했을 때 학습 손실의 변화를 직접 평가한다. **장점: 성능 저하를 최소화할 수 있다. **단점: 계산량이 매우 크며, 대규모 데이터셋에서는 적용이 어렵다. ===적용 형태=== 평가기준을 통해 중요도가 낮다고 판단된 파라미터를 실제로 어떤 단위로 제거할지에 따라 다음과 같이 구분된다. *'''비구조적 가지치기 (Unstructured pruning)''' **원리: 개별 가중치를 독립적으로 제거한다. **장점: 매우 높은 희소성(sparsity)을 달성할 수 있다. **단점: 메모리는 절약되지만, 하드웨어 가속기(GPU, NPU 등)에서 병렬화 최적화가 어렵다. *'''구조적 가지치기 (Structured pruning)''' **원리: 뉴런, 채널, 필터, 또는 레이어 단위로 제거한다. **장점: 하드웨어에서 효율적인 실행이 가능하다. **단점: 모델 구조 자체가 변하므로, 정확도 유지가 더 어렵거나 재설계가 필요할 수 있다. ==가지치기의 일반적인 장단점== *'''장점''' **모델 크기 감소 및 저장 공간 절약 **추론 속도 향상, 지연 시간 단축 **저전력 디바이스(모바일, IoT)에서 실행 가능 *'''단점''' **잘못 가지치기하면 정확도가 크게 하락할 수 있음 **재학습(fine-tuning)이 필요한 경우가 많음 **최적의 가지치기 기준을 찾는 것이 어렵다 ==관련 기법== *[[양자화 (딥 러닝)]] : 파라미터를 저비트 정밀도로 변환하여 모델 크기를 줄임 *[[지식 증류]] : 큰 모델의 지식을 작은 모델로 전이 *[[희소 데이터]] : 가지치기 결과 모델은 희소 행렬 형태가 되므로 관련 알고리즘과 밀접한 연관 *[[모델 압축]] ==응용== *모바일 및 임베디드 장치에서의 경량 신경망 *대규모 언어 모델(LLM) 경량화 *에너지 효율적 인공지능 시스템 설계 ==같이 보기== *[[모델 압축]] *[[양자화 (딥 러닝)]] *[[지식 증류]] *[[희소 데이터]] ==참고 문헌== *Song Han, Jeff Pool, John Tran, William J. Dally. ''Learning both Weights and Connections for Efficient Neural Networks''. NeurIPS 2015. *Molchanov, P., et al. ''Pruning Convolutional Neural Networks for Resource Efficient Transfer Learning''. ICLR 2017. ==각주== <references /> [[분류:인공지능]] [[분류:딥 러닝]]
요약:
IT 위키에서의 모든 기여는 크리에이티브 커먼즈 저작자표시-비영리-동일조건변경허락 라이선스로 배포된다는 점을 유의해 주세요(자세한 내용에 대해서는
IT 위키:저작권
문서를 읽어주세요). 만약 여기에 동의하지 않는다면 문서를 저장하지 말아 주세요.
또한, 직접 작성했거나 퍼블릭 도메인과 같은 자유 문서에서 가져왔다는 것을 보증해야 합니다.
저작권이 있는 내용을 허가 없이 저장하지 마세요!
취소
편집 도움말
(새 창에서 열림)
둘러보기
둘러보기
대문
최근 바뀜
광고
위키 도구
위키 도구
특수 문서 목록
문서 도구
문서 도구
사용자 문서 도구
더 보기
여기를 가리키는 문서
가리키는 글의 최근 바뀜
문서 정보
문서 기록