[논문 리뷰] NeST: A Neural Network Synthesis Tool Based on a Grow-and-Prune Paradigm
NeST는 훈련 중 희소 시드에서 DNN 아키텍처를 함께 확장하고 가지치며, 컴팩트하고 정확한 네트워크를 합성합니다. MNIST와 ImageNet에서 파라미터 및 FLOPs를 크게 감소시켰습니다.
Deep neural networks (DNNs) have begun to have a pervasive impact on various applications of machine learning. However, the problem of finding an optimal DNN architecture for large applications is challenging. Common approaches go for deeper and larger DNN architectures but may incur substantial redundancy. To address these problems, we introduce a network growth algorithm that complements network pruning to learn both weights and compact DNN architectures during training. We propose a DNN synthesis tool (NeST) that combines both methods to automate the generation of compact and accurate DNNs. NeST starts with a randomly initialized sparse network called the seed architecture. It iteratively tunes the architecture with gradient-based growth and magnitude-based pruning of neurons and connections. Our experimental results show that NeST yields accurate, yet very compact DNNs, with a wide range of seed architecture selection. For the LeNet-300-100 (LeNet-5) architecture, we reduce network parameters by 70.2x (74.3x) and floating-point operations (FLOPs) by 79.4x (43.7x). For the AlexNet and VGG-16 architectures, we reduce network parameters (FLOPs) by 15.7x (4.6x) and 30.2x (8.6x), respectively. NeST's grow-and-prune paradigm delivers significant additional parameter and FLOPs reduction relative to pruning-only methods.
연구 동기 및 목표
- 과도한 시행착오나 고정된 아키텍처 없이 컴팩트한 DNN 아키텍처를 발견해야 할 필요성을 제시한다.
- 성장과 가지치를 통해 가중치와 아키텍처를 모두 학습하는 합성 도구 NeST를 제안한다.
- NeST가 여러 데이터세트와 다양한 시드 아키텍처에서 정확하면서도 매우 컴팩트한 모델을 산출함을 입증한다.
- 성장+가지치기가 단독 가지치기보다 더 큰 감소를 달성한다는 것을 보여준다.
제안 방법
- 모든 뉴런이 연결된 상태로 임의로 초기화된 희소 시드 아키텍처에서 시작한다.
- 연속 두 단계 적용: 연결/뉴런/특성 맵을 추가하는 그래디언트 기반 성장, 그 다음 중량 기반 가지치기로 중복성을 제거한다.
- 세 가지 성장 정책 사용: (1) 손실 감소 그래디언트에 의해 구동되는 연결 성장, (2) 제곱근으로 초기화된 가중치를 갖는 다리형 그래디언트 및 상관된 뉴런 쌍을 통한 뉴런 성장, (3) 합성곱 계층의 특성 맵 성장.
- 가지치기에서는 배치 정규화 조정을 포함한 크기 기반 가지치기를 적용하고 커널당 입력 영역을 가지치기하는 부분 영역 합성곱(partial-area convolution)을 도입한다.
- 성능을 회복하기 위해 가지치기 후에 선택적으로 재훈련한다.
- MNIST와 ImageNet에서 LeNet-, AlexNet-, VGG-16 기반 시드를 사용하여 TensorFlow/PyTorch로 구현 및 평가한다.
실험 결과
연구 질문
- RQ1다양한 희소 시드 아키텍처에서 시작하여 NeST가 컴팩트하고 정확한 DNN을 합성할 수 있는가?
- RQ2그래디언트 유도 성장과 크기 기반 가지치기가 가지치기만 하는 경우보다 파라미터와 FLOPs를 어떻게 더 감소시키는가?
- RQ3MNIST와 ImageNet에서 시드의 크기와 아키텍처가 최종 모델의 컴팩트성 및 정확도에 미치는 영향은 무엇인가?
- RQ4부분 영역 합성곱이 실제로 정확도 손실 없이 FLOPs를 더 감소시키는가?
주요 결과
- MNIST의 LeNet-300-100에서 NeST는 파라미터를 70.2× 감소시키고 FLOPs를 79.4× 감소시켰다(LeNet-5의 경우 각각 74.3× 및 43.7×).
- ImageNet의 AlexNet 및 VGG-16에서 NeST는 파라미터를 각각 15.7× 및 30.2× 감소시키고 FLOPs를 각각 4.6× 및 8.6× 감소시켰다.
- 성장+가지치기는 테스트된 아키텍처 전반에서 가지치기만 방법보다 더 큰 감소를 달성한다.
- NeST는 넓은 시드 범위를 가능하게 하며 보고된 사례에서 완전 연결 기초 대비 정확도 손실 없이 매우 컴팩트한 DNN을 산출한다.
더 나은 연구,지금 바로 시작하세요
논문 읽기부터 검토까지, 연구 시간을 획기적으로 줄여보세요.
카드 등록 없음 · 무료 플랜 제공
이 리뷰는 AI가 만들고, 인간 에디터가 검토했습니다.