[논문 리뷰] Speeding up Convolutional Neural Networks By Exploiting the Sparsity of Rectifier Units
이 논문은 ReLU 활성화 출력의 높은 희소성 특성을 활용하여 CPU에서 딥 컨volution 신경망 추론을 가속화하는 역 희소 컨볼루션(ISC) 알고리즘을 제안한다. 최적화된 메모리 접근 패턴과 SIMD 명령어를 사용해 0인 뉴런 계산을 건너뛰면서, 입력 희소도 ≥0.95인 LeNet 및 GoogLeNet 레이어에서 최대 7.11×의 속도 향상을 달성한다.
Rectifier neuron units (ReLUs) have been widely used in deep convolutional networks. An ReLU converts negative values to zeros, and does not change positive values, which leads to a high sparsity of neurons. In this work, we first examine the sparsity of the outputs of ReLUs in some popular deep convolutional architectures. And then we use the sparsity property of ReLUs to accelerate the calculation of convolution by skipping calculations of zero-valued neurons. The proposed sparse convolution algorithm achieves some speedup improvements on CPUs compared to the traditional matrix-matrix multiplication algorithm for convolution when the sparsity is not less than 0.9.
연구 동기 및 목표
- 훈련 및 추론 중 주요 딥 컨볼루션 네트워크에서 ReLU 활성화 출력의 희소성 수준을 조사하기 위해.
- 네트워크 아키텍처를 수정하지 않고도 동적으로 0인 뉴런 계산을 건너뛰는 CPU 최적화 컨볼루션 알고리즘을 개발하기 위해.
- ReLU 유닛에서 유래하는 본질적 희소성을 활용하여 컨볼루션 레이어의 계산 효율을 향상시키기 위해.
- 일반 목적의 CPU에서 전용 하드웨어 없이도 희소성 인식 계산이 상당한 속도 향상을 이끌 수 있음을 보여주기 위해.
제안 방법
- 제안된 역 희소 컨볼루션(ISC) 알고리즘은 먼저 0인 입력 요소를 식별하고 건너뛰며, 비영 요소는 공간 좌표와 함께 저장한다.
- 비영 입력과의 동시 곱셈을 위해 커널 가중치를 열 우선 순서로 재구성함으로써 효율적인 SIMD 벡터화(예: AVX/SSE)를 가능하게 한다.
- 각 비영 입력 활성화에 대해 해당 커널 가중치와의 부분 내적을 계산하고 임시 버퍼에 누적한다.
- 임시 출력 결과는 최종 출력 특징 맵을 생성하기 위해 전치되어 메모리 접근 오버헤드를 최소화한다.
- 알고리즘은 하드웨어 수정 없이도 표준 CPU에서 직접 작동하도록 설계되었으며, 프레임워크 수준의 재학습이 필요하지 않다.
- 희소성은 추론 도중 실시간으로 활용되어 0인 뉴런에 대한 불필요한 곱셈과 메모리 쓰기 작업을 방지한다.
실험 결과
연구 질문
- RQ1LeNet, AlexNet, GoogLeNet과 같은 인기 있는 딥 컨볼루션 네트워크에서 ReLU 출력의 실제 희소성 수준은 어느 정도인가?
- RQ2ReLU 출력의 희소성가 일반 목적 CPU에서 컨볼루션 연산을 효과적으로 가속화하는 데 활용될 수 있는가?
- RQ3희소성 인식 컨볼루션 알고리즘의 성능은 일반 GEMM 기반 컨볼루션과 비교해 어떻게 되는가?
- RQ4희소도가 90%를 초과할 경우 최대 몇 배의 속도 향상이 가능하며, 어떤 네트워크 레이어에서 가장 큰 이점을 얻을 수 있는가?
- RQ5제안된 방법은 네트워크 아키텍처를 변경하지 않으며 전용 하드웨어 없이도 상당한 속도 향상을 달성할 수 있는가?
주요 결과
- ISC 알고리즘은 GoogLeNet의 Inception5b.5 레이어에서 입력 희소도 95%일 경우 최대 7.11×의 속도 향상을 기록했다.
- 95% 희소도를 가진 LeNet-Conv2에서 ISC 방법은 계산 시간을 GEMM의 0.854 ms에서 0.123 ms로 줄여 6.96×의 속도 향상을 달성했다.
- ImageNet에서의 AlexNet(Conv4, 90% 희소도)에서 ISC 방법은 시간을 4.874 ms에서 1.660 ms로 줄여 2.94×의 속도 향상을 기록했다.
- GoogLeNet 레이어에서 90% 희소도일 경우 속도 향상은 1.39×에서 2.87× 사이로 나타나 희소도 감소에 따라 일관되지만 점차 감소하는 성능 향상을 보였다.
- 고희소도 레이어에서 뚜렷한 성능 향상이 나타났으며, 특히 더 깊고 넓은 레이어인 Inception5b.5와 Inception5a.1에서 가장 높은 속도 향상이 관찰되었다.
- 결과는 ReLU에 의해 유도되는 희소성이 일반 CPU에서 딥 네트워크 추론을 가속화하는 데 실현 가능하고, 아직 활용되지 않은 잠재적 목표임을 확인시켰다.
더 나은 연구,지금 바로 시작하세요
연구 설계부터 논문 작성까지, 연구 시간을 획기적으로 줄여보세요.
카드 등록 없음 · 무료 플랜 제공
이 리뷰는 AI가 만들고, 인간 에디터가 검토했습니다.