This thesis concerns designing a MAC for Convolutional Neural Network (CNN) hardware accelerator. CNN is the most promising image recognition and classification algorithm in the present and future. Many applications have already adopted CNNs for image recognitions, and more areas are expected to employ CNN in the future. The powerfulness of CNN has been proven through many researches in terms of its accuracy. However, energy efficiency should be improved for many applications to IoT and mobile devices to use CNN. Since the most workload of CNN is concentrated on the convolution operation, an energy-efficient hardware for convolution will reduce the power consumption of CNN accelerator. Therefore, I set the thesis topic as an energy efficient MAC for CNN accelerator.
I have studied CNN algorithms and design methodologies for hardware accelerators. Based on the studies, I propose a new MAC to reduce power consumption during convolution in CNN. In particular, the error-resilience and feature locality of CNN are exploited. Some multiplications are intentionally omitted to save energy, but the error caused by the skipped calculations can become negligible due to the error-resilience and feature locality of CNN. If the error resides within a scope that can be handled by CNN, the efficient power saving can be accomplished. The omitted multiplication results are shared from neighboring calculation based on data locality. Specifically, if two input data are similar, one of the two multiplications is not performed. The result of the unperformed calculation comes from the other result. That is to say, the result is shared. Post synthesis simulation of the proposed MAC shows a 20% energy saving in return for 3.6% accuracy loss.
본 논문에서는 Convolutional Neural Network (CNN) 하드웨어 가속기를 위한 저전력 MAC를 제안한다. CNN은 현재까지 제안된 이미지 인식 및 분류 알고리즘 중 가장 뛰어난 성능을 보이는 알고리즘 중 하나로, 이미 많은 어플리케이션에 적용되고 있을 뿐 아니라 그 적용 범위가 점점 확대되고 있다. CNN은 특히 다른 이미지 인식 알고리즘에 비하여 높은 정확도를 보이는데, 이를 현재의 서버 기반 플랫폼이나 GPU가 구비된 환경뿐 아니라 IoT 환경 혹은 모바일 환경에서도 이를 이용하기 위해서는 저전력으로 CNN을 구동할 수 있는 하드웨어 가속기가 필요하다. CNN의 연산량 대부분이 컨볼루션에 집중되어 있기 때문에 컨볼루션 연산을 저전력으로 수행할 수 있는 회로를 제안하여 CNN 가속기의 에너지 효율성을 높이고자 하였으며 따라서, 저전력 MAC를 고안하였다.
제안된 MAC 회로는 특히 CNN의 특성 중 error resilience 와 feature locality를 활용하였다. 컨볼루션 연산에 필요한 반복적인 곱셈을 모두 계산하는 것이 아니라 일부 곱셈을 생략하여, 곱셈 연산에 필요한 에너지를 절약할 수 있도록 하였다. 이로 인해 발생할 수 있는 정확도의 손실을 최소화하기 위하여 지역성 정보를 활용하였으며, CNN의 error resilience 특성에 의해 무시할 수 있는 수준의 정확도 감소로 더욱 효율적인 파워 절감을 달성할 수 있다. 제안된 MAC는, 두 입력의 지역성 정보를 기반으로 하여, 인접하는 MAC와의 입력 정보가 일정 크기 이상 차이나지 않을 경우, 곱셈 연산을 생략하고 이를 대신하여 인접하는 MAC의 곱셈 결과를 이용하여 컨볼루션을 계산한다. 즉, 인접한MAC가 비슷한 입력 값을 가질 경우, 모든 MAC에서 곱셈을 수행하지 않고 하나의 MAC 에서 계산된 곱셈 값을 공유하도록 하였다.
제안된 MAC의 합성 후 시뮬레이션 결과 약 20%의 전력 소모를 줄일 수 있었으며, 이 때 최종 이미지 분류의 정확도는 약 3.6% 감소하였다.