Reputation: 361
The fellowing image is a neural network version of xor I found at wikipedia:
If I try to imagine how it might work in code it's clear with the inputs 0/1, 1/0 because the last purple neuron is firing a 1 in both cases. But what happened for 0/0 and 1/1?
For 0/0 the first neurons aren't firing at all and for 1/1 it's the purple neuron that doesn't fires. So the network gots "stuck" there.
But how does one know if the network gots "stuck" or if it's just not ready calculating? Maybe I imagine the thing to asynchronous? Thanks!
Upvotes: 0
Views: 600
Reputation: 19236
I think you are confused by "no firing" concept. When neuron inputs are below threshold, it doesn't "wait" for that threshold, it propagates 0
. So, it's not that neuron "doesn't fire", stopping processing, it just "zero signal" to further neurons.
For 0/0
case, red neurons don't fire, so green neurons get 0 on input, so they don't fire either, so purple one gets 1*0 + -2*0 + 1*0 = 0
, so it doesn't fire, so you get 0 on output. So, as you can see, even if some neuron doesn't fire, you process signals further.
For 1/1
case, red neurons fore, so do green ones, so purple one gets 1*1 + -2*1 + 1*1 = 0
which doesn't fire, so 0 is returned.
Upvotes: 1