Spiking Neuronal Net (SNN) with Java

Neuronal Dynamic

A key component of this SNN (Spiking Neural Network) is neuroplasticity, which is governed by various parameters. In order to enable self-regulating behaviour, the following formula is used, which includes both ascending and descending behaviour. $$\text{newPotential} = \text{currentPot} + \alpha \cdot (\text{targetPot} - \text{currentPot})$$ $$\alpha = \frac{\Delta t}{\tau + \Delta t}$$

Self-regulation considers both incoming stimuli and environmental feedback. The feedback potential is expressed as a delta value, which is positive if the output was too high, and negative if it was too low. A stimulus value of 0 indicates a correct result. $$\text{decreaseRequired} = (\delta > 0) \text{ and increaseRequired} = (\delta < 0) \text{ else exact!}$$

In these cases, parameters must be adjusted:

Neuroplasticity applies to all potentials, especially soma potentials, and includes both short-term and long-term plasticity. Another aspect of neuroplasticity is weight adjustment, which occurs in the dendrites of this SNN. This is where Hebb’s learning rule comes into play: “Neurons that fire together, wire together.”

Example java neuroplasticity formula:

                
private double update(double deltaTime, double currentPot, double targetPot, double totalTime) {
    if (deltaTime < 0.0D || totalTime <= 0.0D) {
        throw new SNNException("Negative deltaTime/totalTime value!");
    }

    double tau = totalTime / tauDominator();
    double alpha = deltaTime / (tau + deltaTime);

    // This function calculates the next value towards the target potential depending on the time differential!
    double newPotential = currentPot + (targetPot - currentPot) * alpha;

    if ((targetPot >= 0.0D && newPotential >= targetPot) ||
            (targetPot < 0.0D && newPotential < targetPot) ||
            (deltaTime > totalTime)) {
        return targetPot;
    }
    return newPotential;
}
                
            

Simulation Graph

Simulation Graph

Simulation Action Potential

Simulation Action Potential Graph

« Back Next »