Hardware Neural Network

Feb 28, 2007 7 Replies

Hi all,



I'm a university student, and I'm realizing a research on artificial neural networks. The aim of my research is the feasibility of putting an artificial neural network on a microcontroller or a DSP. Because of the sigmoid function, I think that would be necessary a 32-bit microcontroller (or DSP) for floating point operations. I was searching online but I only had found exhaustive informations on software realization of ANN's, but it's not what I was searching for. Does someone have any hint or any previous experience on the hardware realization of an ANN? I think the better solution is the DSP, due to its power on floating points operation, is it right?



Here are some details of the network:


5 or 6 inputs about 10 neurons in the hidden layer
2 outputs

Thanks in advance,



Daniele.



I'm sketchy on the details but I believe there are dedicated ANN devices available which could be an interesting diversion. Also I'd bet that someone has produced something in an FPGA that might be relevent.

Yes they have. The parallelism of the FPGA would probably make for a much faster solution too. However, a lot of your design decisions must be dictated by your application - there are a lot of ANN implementations out there and they are not necessarily all heavy on floating point.

Unless you really need the dynamic range of float, you should stick with integers. Consider that a 32 bit integer has a range of 10^9

Rene

Ing.Buero R.Tschaggelar - http://www.ibrtses.com & commercial newsgroups - http://www.talkto.net

Peter Meijer has an interesting page.

Also some other information.

[re-construct this one if necessary]

There is a data sheet in amongst that lot.

******************************************************************** Paul E. Bennett .................... Forth based HIDECS Consultancy ..... Mob: +44 (0)7811-639972 Tel: +44 (0)1235-811095 Going Forth Safely ..... EBA. www.electric-boat-association.org.uk.. ********************************************************************

Thanks for the hint, maybe I can "translate" the sigmoid in an 8-bit table and use it for setting the heights. This (if right) will avoid me the use of a 32-bit architecture. I'll think about it, thank you.

testo tra virgolette -

Thanks for the links, I'll have a look

daniele

I'm not so familiar with FPGA, but I will have a look at them thank you,

daniele

There are lots of tricks for implementing the sigmoid including luts, and luts with interpolation between lut entries taylor series approx, CORDIC approximations.

take a look at a computer arithmetic book and search on IEEE xplore you will find TONS of hardware implementations of NNs with all sorts of tricks to implement them with limited resources.

Join the Discussion

Have something to add? Share your thoughts — no account required.

Didn't find your answer?

Ask the community — no account required