This paper focuses on sparsity utilization in a neural network (DNN) for energy-efficient processing of mobile devices and an optimization method through neuromorphic computing. While previous accelerators have utilized sparsity in DNN to achieve energy efficiency, they have been limited to handling sparsity that occurs in input due to activation functions, and their sparse processing methods are only effective for DNN inference. In this paper, four DNN accelerators (TSUNAMI, SNPU, C-DNN, and Neuro-CIM) are proposed to validate the new sparsity utilization techniques in DNN sequentially. TSUNAMI generates weight sparsity through iterative pruning in addition to input and output sparsity, and achieves consistently high computational speedup during DNN training by skipping computations for two types of high sparsity among input/weight/output. SNPU increases input sparsity by performing spike encoding for inputs of DNN and integrates newly proposed spike encoders to reduce spike frequency, enabling low-power always-on applications. C-DNN allocates inputs with low spike frequency to neuromorphic computing and inputs with high spike frequency, which can increase power consumption, to conventional deep neural network computing, achieving high energy efficiency. Neuro-CIM implements the such as accumulation and firing logic of neuromorphic computing as in-memory operations, and achieves low power consumption by designing without analog-digital converters, which consume significant power in previous in-memory computing structures.
본 논문은 모바일 환경에서 높은 에너지 효율처리를 위해 심층신경망의 희소성 활용 및 뉴로모픽 컴퓨팅의 활용에 관한 연구이다. 최근 많은 가속기들이 높은 에너지 효율을 달성하고자 심층 신경망에 존재하는 희소성을 활용하였다. 하지만, 기존 가속기들은 오직 활성화 함수에 의해 입력에 발생하는 희소성만을 처리 가능하며, 오로지 심층 신경망 추론에만 효과적인 희소성 처리 방식을 제안하였다. 이 논문에서는 심층 신경망의 희소성 활용을 극대화 시키기 위한 기법들이 순차적으로 적용되고 검증된 4개의 프로세서, 가중치에 희소성을 생성하여 심층 신경망 학습에 집중한 TSUNAMI, 뉴로모픽 컴퓨팅을 적용하여 입력 희소성을 극대화 시킨 SNPU, 뉴로모픽 컴퓨팅과 기존 심층신경망 컴퓨팅을 혼합하여 두 컴퓨팅의 장점을 모두 가진 C-DNN, 인메모리 연산을 통해 뉴로모픽 컴퓨팅의 전력 소모를 크게 낮춘 Neuro-CIM을 제안한다. TSUNAMI는 반복적 프루닝을 통해 입력 및 출력에 존재하는 희소성 이외에도 가중치 희소성을 추가적으로 생성하였으며, 입력/가중치/출력 중 희소성이 높은 두 종류의 희소성에 대한 연산 생략을 수행함으로써 심층신경망 학습 과정에서 항상 높은 연산 속도 향상을 달성할 수 있었다. SNPU는 심층신경망의 입력에 대해 스파이크 인코딩을 진행함으로써 입력에 존재하는 희소성을 높였으며, 스파이크 빈도를 줄이기 위한 새로운 인코딩 방식들을 제안함으로써 저전력 상시 동작 어플리케이션을 가능하게 하였다. C-DNN은 스파이크 빈도가 적은 입력 값들 만을 뉴로모픽 컴퓨팅에 할당하고, 스파이크 빈도가 많아 오히려 전력 소모를 증가시키는 입력 값들을 뉴로모픽 컴퓨팅이 아닌 기존 심층신경망 컴퓨팅에 할당함으로써 고에너지 효율을 달성할 수 있었다. Neuro-CIM에서는 뉴로모픽 컴퓨팅의 핵심 연산인 누적 및 발화 로직이 인메모리 연산으로 구현되었으며, 기존 인메모리 연산 구조에서 큰 전력을 소모하는 아날로그-디지털 컨버터 없이 프로세서가 설계됨으로써 저전력 뉴로모픽 컴퓨팅을 달성하였다.