t3db0t / Neuroduino

An artificial neural network library for the Arduino
83 stars 28 forks source link

Backpropagation #1

Open t3db0t opened 14 years ago

t3db0t commented 14 years ago

Support for multi-layer perceptrons via backpropagation.

Pranavgulati commented 7 years ago

Please review github.com/pranavgulati/neuralDuino , i have implemented backpropagation and the library in itself will support 'n' layer 'm' nodes per layer (until a RAM overflow ;-P) . But that didnt help solving the XOR problem, Care to contribute?

t3db0t commented 7 years ago

You have to implement a specific architecture to train XOR, it's not just fully-connected layer-by-layer: http://www.mind.ilstu.edu/curriculum/artificial_neural_net/xor_problem_and_solution.php

Is there any reason you felt you needed to create a new library rather than extend this one?

Pranavgulati commented 7 years ago

i'll try the architecture given in the link, until now i was trying 2 input nodes that are fully connected to 2 nodes in the hidden layer which are further connected to one output node, this did not work as you point out but i have gone through so many videos and links which manage to train it with this architecture itself (http://playground.tensorflow.org/)

the link that you have has a different architecture and i hope that it works thanks :-)

Pranavgulati commented 7 years ago

the reason i had to make a new library instead of extending this is that this library manages nodes as layers and is limited to a two layer perceptron network whereas the library that i have created leaves the layer management to the user. so in effect the user can design any kind of neural network with any no. of nodes and layers to his liking and at the same time the user can connect any node to any other node intuitively, basically there is no concept of layer if the user doesnt want it to be there + i also implemented backpropagation which was a reported issue for this library

t3db0t commented 7 years ago

Sure, makes sense :)