| Literature DB >> 29593483 |
Rohit Shukla1, Soroosh Khoram1, Erik Jorgensen2, Jing Li1, Mikko Lipasti1, Stephen Wright3.
Abstract
Emerging neural hardware substrates, such as IBM's TrueNorth Neurosynaptic System, can provide an appealing platform for deploying numerical algorithms. For example, a recurrent Hopfield neural network can be used to find the Moore-Penrose generalized inverse of a matrix, thus enabling a broad class of linear optimizations to be solved efficiently, at low energy cost. However, deploying numerical algorithms on hardware platforms that severely limit the range and precision of representation for numeric quantities can be quite challenging. This paper discusses these challenges and proposes a rigorous mathematical framework for reasoning about range and precision on such substrates. The paper derives techniques for normalizing inputs and properly quantizing synaptic weights originating from arbitrary systems of linear equations, so that solvers for those systems can be implemented in a provably correct manner on hardware-constrained neural substrates. The analytical model is empirically validated on the IBM TrueNorth platform, and results show that the guarantees provided by the framework for range and precision hold under experimental conditions. Experiments with optical flow demonstrate the energy benefits of deploying a reduced-precision and energy-efficient generalized matrix inverse engine on the IBM TrueNorth platform, reflecting 10× to 100× improvement over FPGA and ARM core baselines.Entities:
Keywords: Hopfield neural network; TrueNorth; matrix inversion; neuromorphic computing; spiking neural networks; stochastic computing
Year: 2018 PMID: 29593483 PMCID: PMC5859154 DOI: 10.3389/fnins.2018.00115
Source DB: PubMed Journal: Front Neurosci ISSN: 1662-453X Impact factor: 4.677
Figure 1Neural network architecture of Hopfield linear solver.
Figure 2Illustration of (A) target tracking and (B) optical flow.
Figure 3Example illustrating the importance of proper scaling for spike-based computation. (A) All three values of a vector are scaled properly. (B) Inappropriate scaling: two values (4 and 5) are represented by the same spike rate. (C) Addition of two numbers that are scaled properly, but the scale factor is too small to allow proper storage of the result of the addition, leading to saturation.
Figure 4Synapse connection showing the dot product between first column of H and the weight matrix Whop, and the corresponding threshold values for each neuron. (A) Shows the matrix dot product for the scenario in which Wff and Whop can be encoded using a single neuron. (B) Shows the matrix dot product for the scenario where Wff and Whop cannot be encoded using a single neuron. We would need multiple neurons to compute partial sums and later add them up together.
Figure 5Neuron parameters for (A) multiplier neuron that is modeled as AND gate, (B) an subtractor neuron that is meant to implement max-sub function, (C) an adder neuron, and (D) decorrelator neurons.
Results for Hopfield linear solver with spike based weight representation.
| 1 | Each element chosen uniformly in [−1, 1] | Most basic test for Hopfield linear solver | 1.05 | 0.0004 | 0.0013 |
| 2 | Each element is an integer chosen uniformly in [−100, 100] | Observe the behavior of linear solver as the input range is increased | 3.5 | 0.0025 | 0.008 |
| 3 | Each element chosen uniformly in [−100, 100] | Each element can have fractional values | 3.5 | 0.0014 | 0.0028 |
| 4 | Each element chosen uniformly in [1, 100] | All elements of | 4 | 0.0353 | 0.19 |
| 5 | Each element chosen uniformly in [0.001, 1] | Analyzing the convergence when the values are small | 4 | 0.0038 | 0.008 |
| 6 | Each element chosen uniformly in [0.0001, 1] | Analyzing the convergence when the possible values are smaller than previous experiments | 4.25 | 0.0068 | 0.0234 |
| 7 | Each element chosen uniformly in [−1000, 1000] | Higher precision is required for calculation | 4 | 0.0186 | 0.0413 |
| 8 | Each element chosen uniformly in [−10, 000, 10, 000] | Testing for the cases when even more precision is required for calculation | 4 | 0.32 | 0.83 |
| 9 | Each element chosen uniformly in [1, 10, 000] | Matrix | 4 | 1.16 | 2.97 |
| 10 | Each element chosen uniformly in [−1000, 1000] except that 50% of elements in | Effect of sparsity on final result and convergence | 4 | 0.024 | 0.0488 |
| 11 | Each element chosen uniformly in [1, 10, 000] except for 50% zeros | Effect of sparsity on final result and convergence | 4 | 0.24 | 0.94 |
| 12 | Each element chosen uniformly in [0.0001, 1] except for 45% zeros in | Effect of sparsity on final result and convergence when elements of | 4.25 | 0.0038 | 0.0114 |
| 13 | Each element chosen uniformly in [0, 50]. For matrix | Both the eigenvalues of | 4.25 | 0.37 | 1.01 |
| 14 | Each element chosen uniformly in [−5 × 105, 5 × 105] | Testing for the cases when up-to 10−6 precision would be required for calculation | 4.25 | 5.11 | 9.54 |
| 15 | Each element chosen uniformly in [1, 5 × 105] | Precision of better than 10−6 would be required for calculation and all matrix input values have the same sign | 4.25 | 96.48 | 316.54 |
Column 2 describes how the values of matrices A and B were generated, while Column 3 explains why these matrices were chosen. Column 4 presents the number of clock ticks (or the spike duration) for each experiment. Columns 5 and 6 show the percentage mean (MSE) and percentage standard deviation (SDSE) of the squared error of the Hopfield linear solver output relative to double-precision MATLAB quantity (‖ΔH‖).
Sample matrices for worked out examples.
| η = 60 | η = 20 | η = 30 | δhardcoded = 0.025% | δhardcoded = N/A |
Figure 6Comparison of scaling factor for different matrix structures. Table 2 lists the three different input matrices A and B. (A) Plot for fraction of neurons that are saturating vs. scaling factor for case 1. (B) Plot for fraction of neurons that are saturating vs. scaling factor for case 2. (C) Plot for fraction of neurons that are saturating vs. scaling factor for case 3.
Quantization error simulation results.
| Case 1 | 90.75 |
| Case 2 | 5.13 |
| Case 3 | 38.63 |
| Case 4 | 13.89 |
| Case 5 | 24.86 |
Figure 7Stochastic error for different spike train lengths. Table 2 lists the three different input matrices A and B. (A) Error relative to bound for case 1. (B) Error relative to bound for case 2. (C) Error relative to bound for case 3.
Figure 8This figure shows a comparison between three different implementation techniques for matrix inversion. Y-axis of the plot shows the percentage accuracy in predicting the motion of bars for optical flow. And, X-axis of the plot shows the energy consumed per frame (in Joules) for optical flow. (A) Comparison of power consumed between FPGA and TrueNorth hardware. (B) Comparison of power consumed between ARM, FPGA and TrueNorth hardware.
Computes the weights and threshold values for performing dot product on TrueNorth
| 1: |
| 2: |
| 3: |
| 4: |
Computes weight matrices Wff and Whop using spiking inputs
| 1: |
| 2: |
| 3: |
| 4: |
| 5: |
| 6: |
| 7: |
| 8: |
| 9: |
| 10: |
| 11: |
| 12: |
| 13: |
Computes the scaled value of input features B based on Wff and the normalizing factor. These scaled values serve as the input for recurrent network
| 1: |
| 2: |
| 3: |
| 4: |
| 5: |
| 6: |
| 7: |
| 8: |
| 9: |
| 10: |
| 11: |
| 12: |
| 13: |
| 14: |
| 15: |
Solve for system of linear equations defined as AX = B. Computations are divided into negative and positive parts
| 1: |
| 2: |
| 3: |
| 4: |
| 5: |
| 6: |
| 7: |
| 8: |
| 9: |
| 10: |
| 11: |
| 12: |
| 13: |
| 14: |
| 15: |
| 16: |
| 17: |
| 18: |
| 19: |
| 20: |
| 21: |
| 22: |
| 23: |
| 24: |
| 25: |
| 26: |
| 27: |
| 28: |