Deep convolution neural networks (CNNs) usually require a large number of iterative convolution operations, which would consume significant amounts of hardware resources. In this paper, we propose an efficient convolution architecture based on Winograd algorithm for convolutional neural networks (CNNs), by employing stochastic computing (SC). For the first step, a fast convolution algorithm, Winograd fast convolution algorithm (WFCA), which can lower the complexity by reducing multiplications is proposed. Although stochastic computing (SC) can achieve significant reduction in hardware complexity compared with the deterministic design, its straightforward application to fast convolution is not well-suited due to the precision loss. Therefore, based on two-line SC, this paper proposes a non-scaled stochastic adder which has higher computation accuracy than the conventional stochastic adder. Numerical results have proved the advantages of the proposed design in both complexity and precision. Although preliminary, it is expected that this design can be the first step of combining neural network and stochastic computing, which are both analog, belief-based and fault-tolerant, thereby unlocking the potentiality for the widespread application of stochastic Winograd algorithm in neural network systems.
Runing XuBo YuanXiaohu YouChuan Zhang
Xinghua XueHaitong HuangCheng LiuTao LuoLei ZhangYing Wang
Junhong LiuDongxu YangJunjie Lai