In an attempt at designing a neural network more closely modeled by the human brain, I wrote code before doing the reading. The neuron I have modeled operates on the following method.
- Parameters: potential, threshold, activation.
- [activation] = 0.0
- Receive inputs, added to [potential].
- If ([potential] >= [threshold])
- [activation] = [potential]
- [potential] = 0.0
- Else
- [potential] *= 0.5
In short, the neuron receives inputs, and decides if it "fires" if the threshold is met. If not, the input sum, or potential, decreases. Inputs are applied by adding their values to the input potentials of the input neurons, and connections multiply neuron activation values by weights before applying them to their destination potentials. The only difference between this an a spiking network is the activation model.
I am, however, beginning to learn that Spiking Neural Networks (SNNs), the actual biologically-inspired model, operate quite differently. Forgive me if my understanding is terribly flawed. I seem to have the understanding that signals in these networks are sharp sinusoidal wave-forms with between 100 and 300 "spikes" in a subdivision of "time," given for 1 "second." These signals are sampled for the "1 second" by the neuron, and processed by a differential equation that determines the activation state of the neuron. Synapses seem to function in the same manner -> multiplying the signal by a weight, but increasing or decreasing the period of the graph.
However, I wish to know what form of neuron activation model I created. I have been unable to find papers that describe a method like this.
EDIT. The "learnable" parameters of this model are [threshold] of the neuron and [weight] of the connections/synapses.