Deep convolutional neural networks (CNNs) are kinds of deep neural networks that contain a number of hidden layers between an input layer and an output layer, and have attracted attention due to their good performance in image recognition. Recently, as CNN-based algorithms include more hidden layers and have large computation complexity in order to achieve higher image recognition rate, energy consumption of memory accesses is considerably high as well as that of computation. Therefore, it is important to develop a hardware accelerator with efficient dataflow that reduces memory accesses for low energy consumption. This thesis proposes energy-efficient dataflow and its VLSI architecture considering the data distribution characteristic of CNNs. In the intermediate- and deep-depth layers of the CNNs, as the amount of input features needed for the convolution operations is less than that of kernels, we propose a dataflow that stays the features and a method of forwarding partial sum to reduce memory accesses. Although the proposed dataflow reduces memory accesses in the intermediate- and deep-depth layers, it is not efficient in the shallow-depth layers where the amount of input features is larger than that of the kernels. Therefore, a hybrid dataflow and its hardware architecture are proposed, which selects the more efficient dataflow among the feature or kernel stay dataflow according to the data distribution of the layer. The proposed hardware architecture supports two types of dataflow with the single hardware architecture lowering hardware complexity and reduces the performance degradation through multi-cycles forwarding. The proposed hybrid architecture reduces memory accesses by 30% and enhances energy efficiency by 20% with little hardware complexity overhead.
Deep convolutional neural networks (CNNs)는 입력층과 출력층 사이에 다수의 은닉층을 포함하는 심층 신경망의 한 종류로서 이미지 인식에서 좋은 성능을 달성하여 주목을 받고있다. 최근 CNN 기반의 알고리즘들은 더 높은 이미지 인식률을 달성하기 위하여 점점 더 많은 은닉층을 포함하고 계산 복잡도가 높아지고 있어, 연산과 더불어 메모리 접근에 대한 에너지 소모가 상당히 높다. 따라서, 적은 에너지 소모를 위해 메모리 접근을 줄이는 효율적인 데이터 흐름을 가지는 하드웨어 가속기의 개발이 중요하다. 이 학위 논문에서는 CNN의 데이터 분포 특성을 고려하여 에너지 효율적인 데이터 흐름과 VLSI 구조를 제안한다. CNN의 중간 그리고 깊은 깊이의 층에서는 convolution 연산에 필요한 input feature의 양이 kernel의 양보다 적기 때문에 feature를 stay 하는 데이터 흐름과 partial sum을 forwarding 하는 방법을 제안하여 메모리 접근을 줄였다. 비록 제안한 데이터 흐름이 중간 그리고 깊은 깊이의 층에서는 메모리 접근을 줄이지만, input feature의 양이 kernel의 양보다 많은 얕은 깊이의 층에서는 효율적이지 않다. 따라서 층의 데이터 분포에 따라 feature stay 또는 kernel stay 데이터 흐름 중 더 효율적인 데이터 흐름을 선택하는 하이브리드 데이터 흐름과 하드웨어 구조를 제안한다. 제안된 하드웨어 구조는 하나의 하드웨어 구조로 두 가지 종류의 데이터 흐름을 지원하여 하드웨어 복잡도를 낮췄고 multi-cycles forwarding을 통해서 성능 저하를 줄였다. 제안된 하이브리드 구조는 작은 하드웨어 복잡도의 손해로 메모리 접근을 30% 줄이고 에너지 효율을 20% 높일 수 있었다.