CORDIC Based Implementation of the Softmax Activation Function

Interest has been renewed in the domain of neuromorphic circuits, with the emergence of Deep Neural Networks as the leading model for various classification tasks. In this work, we present a CORDIC based implementation for one of the most important layers, the Softmax layer. The layer is particularly complex for CMOS implementations due to the requirement for multiple evaluations of the exponential function in calculating the output of this layer. We apply the CORDIC method for computing the exponent and the binary division algorithm for calculating the output. It is shown via experiments that our approach for realizing the Softmax function simultaneously out-performs existing implementations using McLaurin series approximations and Padé polynomial approximations from literature in three key metrics: timing, area, and accuracy. We also investigate an inverse form of the Softmax function that avoids the division operation. The implementation can be used to realize the Softmax activation in both ASIC and FPGA implementations of large scale neuromorphic circuits

[1]  Zbigniew Hajduk,et al.  High accuracy FPGA activation function implementation for neural networks , 2017, Neurocomputing.

[2]  Milton Abramowitz,et al.  Handbook of Mathematical Functions with Formulas, Graphs, and Mathematical Tables , 1964 .

[3]  Robert A. Nawrocki,et al.  A Mini Review of Neuromorphic Architectures and Implementations , 2016, IEEE Transactions on Electron Devices.

[4]  Bo Yuan,et al.  Efficient hardware architecture of softmax layer in deep neural network , 2016, 2016 29th IEEE International System-on-Chip Conference (SOCC).

[5]  Guigang Zhang,et al.  Deep Learning , 2016, Int. J. Semantic Comput..

[6]  K. Sridharan,et al.  50 Years of CORDIC: Algorithms, Architectures, and Applications , 2009, IEEE Transactions on Circuits and Systems I: Regular Papers.

[7]  Danyang Zhu,et al.  A High-Speed and Low-Complexity Architecture for Softmax Function in Deep Learning , 2018, 2018 IEEE Asia Pacific Conference on Circuits and Systems (APCCAS).

[8]  V. Paliouras,et al.  Simplified Hardware Implementation of the Softmax Activation Function , 2019, 2019 8th International Conference on Modern Circuits and Systems Technologies (MOCAST).

[9]  Israel Koren Computer arithmetic algorithms , 1993 .