This commit is contained in:
ton
2023-09-20 07:41:28 +07:00
parent 909e27a208
commit edd26c180d
2 changed files with 6 additions and 5 deletions

View File

@@ -470,7 +470,7 @@ function neuroplasticity(synapseConnectionNumber,
# rewire synapse connection # rewire synapse connection
rewireSynapse!(wRec, neuronInactivityCounter, synapticActivityCounter, rewireSynapse!(wRec, neuronInactivityCounter, synapticActivityCounter,
synapseReconnectDelay, zitCumulative) synapseReconnectDelay, synapseConnectionNumber, zitCumulative)
# error("DEBUG -> neuroplasticity 1") # error("DEBUG -> neuroplasticity 1")
elseif progress == 0 # no progress, no weight update, only rewire elseif progress == 0 # no progress, no weight update, only rewire
# -w all non-fire connection except mature connection # -w all non-fire connection except mature connection
@@ -481,7 +481,7 @@ function neuroplasticity(synapseConnectionNumber,
# rewire synapse connection # rewire synapse connection
rewireSynapse!(wRec, neuronInactivityCounter, synapticActivityCounter, rewireSynapse!(wRec, neuronInactivityCounter, synapticActivityCounter,
synapseReconnectDelay, zitCumulative) synapseReconnectDelay, synapseConnectionNumber, zitCumulative)
# error("DEBUG -> neuroplasticity") # error("DEBUG -> neuroplasticity")
else else

View File

@@ -119,8 +119,8 @@ function growRepeatedPath!(wRec, synapticActivityCounter, eta)
# seperate active synapse out of inactive in this signal # seperate active synapse out of inactive in this signal
mask_activeSynapse = (!isequal).(synapticActivityCounter, 0) mask_activeSynapse = (!isequal).(synapticActivityCounter, 0)
# adjust weight based on vt progress and repeatition (80% +w, 20% -w) depend on epsilonRec # adjust weight based on vt progress and repeatition (40% +w, 60% -w) depend on epsilonRec
mask_more, mask_less, _ = rankMatrix(synapticActivityCounter, 0.2) # sort synapse from highest to lowest activity mask_more, mask_less, _ = rankMatrix(synapticActivityCounter, 0.6) # sort synapse from highest to lowest activity
# +w, synapse with more than 10% of avg activity get increase weight by eta # +w, synapse with more than 10% of avg activity get increase weight by eta
# mask_more = (!isless).(synapticActivityCounter, lowerlimit) # mask_more = (!isless).(synapticActivityCounter, lowerlimit)
@@ -165,8 +165,9 @@ end
function rewireSynapse!(wRec::AbstractArray, neuronInactivityCounter::AbstractArray, function rewireSynapse!(wRec::AbstractArray, neuronInactivityCounter::AbstractArray,
synapticActivityCounter::AbstractArray, synapticActivityCounter::AbstractArray,
synapseReconnectDelay::AbstractArray, synapseReconnectDelay::AbstractArray,
synapseConnectionNumber::Integer,
zitCumulative::AbstractArray) zitCumulative::AbstractArray)
_,_,i3,i4 = size(wRec) i1,i2,i3,i4 = size(wRec)
for n in 1:i3 # neuron-by-neuron for n in 1:i3 # neuron-by-neuron
if neuronInactivityCounter[1,1,n,i4][1] < -100000 # neuron die i.e. reset all weight if neuronInactivityCounter[1,1,n,i4][1] < -100000 # neuron die i.e. reset all weight
println("neuron $n die") println("neuron $n die")