Low Complexity Multiply Accumulate Unit for Weight-Sharing Convolutional Neural Networks
Authors:
- 23 January 2017
- journal article
- research article
- Published by Institute of Electrical and Electronics Engineers (IEEE) in IEEE Computer Architecture Letters
- Vol. 16 (2) , 132-135
Abstract
Convolutional Neural Networks (CNNs) are one of the most successful deep machine learning technologies for processing image, voice and video data. CNNs require large amounts of processing capacity and memory, which can exceed the resources of low power mobile and embedded systems. Several designs for hardware accelerators have been proposed for CNNs which typically contain large numbers of Multiply Accumulate (MAC) units. One approach to reducing data sizes and memory traffic in CNN accelerators is “weight sharing”, where the full range of values in a trained CNN are put in bins and the bin index is stored instead of the original weight value. In this paper we propose a novel MAC circuit that exploits binning in weight-sharing CNNs. Rather than computing the MAC directly we instead count the frequency of each weight and place it in a bin. We then compute the accumulated value in a subsequent multiply phase. This allows hardware multipliers in the MAC circuit to be replaced with adders and selection logic. Experiments show that for the same clock speed our approach results in fewer gates, smaller logic, and reduced power.Keywords
All Related Versions
Funding Information
- Science Foundation Ireland (12/IA/1381)
This publication has 6 references indexed in Scilit:
- EyerissACM SIGARCH Computer Architecture News, 2016
- EIEACM SIGARCH Computer Architecture News, 2016
- Going deeper with convolutions2015
- Optimizing FPGA-based Accelerator Design for Deep Convolutional Neural Networks2015
- DianNaoACM SIGPLAN Notices, 2014
- Faster integer multiplication2007