Also note that neural networks are inherently noisy. We often insert a bit of noise into various parts of the computation graph.
In analog circuity only a single wire (or maybe two if you’re using a differential pair) would be needed to represent a noisy float.
If we had some sort of IC that could dynamically configure large analog computations, it may allow NN compute-graph computations to be improved by orders of magnitude. 1 wire instead of 32. Real noise instead of artificial.
Have people ever tried to something like an analog FPGA?
There are sort of a lot of papers going back decades that describe various analog implementations of neural networks.
Some of the challenges:
1. dynamic range.
2. randomness. neural networks implemented digitally may have injected noise, but it is chosen and can be removed or controlled so that e.g. repeated inferences use the same noise.
3. multipliers.
4. digital-to-analog and back. the inputs and outputs will almost certainly go to and come from digital systems.
5. training with 'real' nonlinearities. The nonlinearities used in digital neural networks are perfect, in an analog implementation they would be imperfect and demonstrate PVT variation.
6. flexibility. need to have circuits that are parameterized, and some way to program (and therefore store) the weights.