Hi, Because I want to understand better how neural networks work and can be trained, the best way to do is, is by building a small one from scratch myself and training it.
In this video
https://youtu.be/TG9TGqM9HCs▾
I show creating and connecting a few neural-nodes together and a show a very small prebuilt neural network.
To be able to do this, I've created 4 new node-types in my visual programming system: neural-input-node, neural-bias-node, neural-node and neural-output-node.. the first 3 output weighted connections. This means that a weight property is attached to the connection and can be changed.. the neural-node and neural-output-node use these weights in there respective calculations.
The neural-node currently uses sigmoid as its activation function.
The neural-bias-node only outputs a value of 1 and the output value of a neural-input-node can be changed. When any of these values are changed, they propagate forward through the network.
In the current example flow, an error is also calculated using an expression node-type depending on the output and expected value.
The white object-node is also a new node-type and can be used to obtain multiple values and output them in a single object.
In the near future I hope to implement a neural network that can be trained with the mnist digit dataset, but I have to do a lot more work before I am at that stage I think.