Robin2:
Sorry for the late follow-up.
Don't worry, it's always fine (:
Robin2:
I have always assumed that a neural network would require a great deal more memory and processing power.
Reason:
And yep! you are right, most of the neural networks require much more memory and especially processing power of that power, an attiny or even an atmega has to give out (and that's why people tend to use Rasbery pi as an example, insted of simple microcontrollers or even more powerfull computers. [something i will mention in a little, after]). But! that comes/happens when the NN needs to-adapt/to-learn/backpropagate, then it is the point where it needs more memory and processing power!(most of the times) not when it has to feedforward/to-execute/to-get-an-input-and-give-an-output.
Explanation:
Very briefly, the reason why (in a briefly [not exactly mathimatical] way) Backpropagation is such a power consuming process, because it needs to find the error and then distribute/share "respectfully" the error to each neuron of each layer, with "respect" to each weight (and the bias) of each front neuron it is connected with [...] !
Where in the case of FeedForward process, it "only" needs to get the inputs or in other words the outputs of the previous layer and then pass them using a simple formula and an activation function (that also plays an important role) from the current layer to the next and then go on until the last layer, the final output-layer.
More info Here
Robin2:
I guess I was not asking about neural networks in general but rather about the sort of project you could implement with a neural network on an Attiny85? Or even on an Atmega 328?
In my example of "vacuum cleaner robot" it would not be the best idea to use an attiny or an atmega, because you need something that adapts alot to the enviromnt unless you have (as i like to call it) an "e-soul" a computer where the lerning happens there and then passes the trained NN to Microcontroller via BLE or whatever, thats why it is preferable to use a Rasbery for those examples or etc.
As for the other examples i gave you, are possible!(at least as i think about them) like in the example of a smart home will also be present a main external-brain/"e-soul" except of the small-brains of each microcontroller [...]
As for the last one is an-example/something i am working on and goes very well till now. and i am very confident that it will work as i have to do with a camera of 225 pixels and an Attiny167
In Sum:
As long as you have the needed amount of SRAM or PROGMEM for the size of the NN, you can do almost anything, the only limitation is the training part i would say, (of course also the specs of the microcontroller) that it is only suitable for high cpu speeds, but for simple and practical examples like the training part of a decision between some simple things like in my example files in library, would be fine, or for something that timing is not something that crucial.
End:
I wish i've made it a little bit clearer because it is true that i wasn't that clear with what i was saying in a way.
And also please people, be mindfull of the fact that i am not yet a professional programmer, so i might have explained some things not in the proper way (: [...]
Thanks for reading,
George