e wrote:
> Has anyone investigated implementimg neural nets in FPGAs?
Many (most?) classical neural networks utilise non-linear functions at
the nodes, with fractional synapse weights and so on. In SW
implementations, floating point is the order of the day.
Add in the back-propagation training algorithms and you have significant
non-integer arithmetic to contend with.
For implementation in commodity
FPGA HW, this will all hurt. Fixed
point will help, but bring similar precision issues that arise in DSP.
Perhaps there is research on pure digital neural networks (binary
weights, logical and/or/xor node functions) etc? Dig around in the
evolvable hardware research literature, they've been banging on it for
years.
It is my expectation (not experience), that there will be significant
practical issues in implementing reasonable sized classical NNs on
FPGA
hardware. You will very quickly find yourself building either huge
arrays of FPGAs, or diving into dynamic reconfig / multicontext
FPGA
territory to get the logic coverage required to implement what will be a
very large (virtual) circuit.
Or, implement a couple of NN nodes in your
FPGA fabric, with some sort
of controller updating the weights and accumulating responses at each
node. Use this to simulate the entire massive (and parallel) NN operation.
Surprise surprise it's time/area trade.
Lots of fun no doubt, but not trivial either.
John