minor fix

This commit is contained in:
ton
2023-08-05 19:17:28 +07:00
parent 9ff7efc7dc
commit 97dd3b65c4
2 changed files with 36 additions and 37 deletions

View File

@@ -46,30 +46,7 @@ function compute_paramsChange!(kfn::kfn_1, modelError, outputError)
kfn.on_wOut,
kfn.on_wOutChange,
outputError)
error("DEBUG -> kfn compute_paramsChange! $(Dates.now())")
end
function lifComputeParamsChange!( phi::CuArray,
epsilonRec::CuArray,
eta::CuArray,
eRec::CuArray,
wRec::CuArray,
wRecChange::CuArray,
wOut::CuArray,
arrayProjection4d::CuArray,
nError::CuArray,
modelError::CuArray)
wOutSum = sum(wOut, dims=3) .* arrayProjection4d
# nError a.k.a. learning signal use dopamine concept,
# this neuron receive summed error signal (modelError)
nError .= (modelError .* arrayProjection4d) .* wOutSum
eRec .= phi .* epsilonRec
# GeneralUtils.isNotEqual(wRec, 0) is a subscribe filter use to filter out non-subscribed wRecChange
wRecChange .+= ((-1 .* eta) .* nError .* eRec) .* GeneralUtils.isNotEqual.(wRec, 0)
# error("DEBUG -> lifComputeParamsChange! $(Dates.now())")
# error("DEBUG -> kfn compute_paramsChange! $(Dates.now())")
end
function lifComputeParamsChange!( phi::AbstractArray,
@@ -101,15 +78,36 @@ function lifComputeParamsChange!( phi::AbstractArray,
end
end
function alifComputeParamsChange!( phi,
epsilonRec,
epsilonRecA,
eta,
wRec,
wRecChange,
beta,
wOut,
modelError)
function lifComputeParamsChange!( phi::CuArray,
epsilonRec::CuArray,
eta::CuArray,
eRec::CuArray,
wRec::CuArray,
wRecChange::CuArray,
wOut::CuArray,
arrayProjection4d::CuArray,
nError::CuArray,
modelError::CuArray)
wOutSum = sum(wOut, dims=3) .* arrayProjection4d
# nError a.k.a. learning signal use dopamine concept,
# this neuron receive summed error signal (modelError)
nError .= (modelError .* arrayProjection4d) .* wOutSum
eRec .= phi .* epsilonRec
# GeneralUtils.isNotEqual(wRec, 0) is a subscribe filter use to filter out non-subscribed wRecChange
wRecChange .+= ((-1 .* eta) .* nError .* eRec) .* GeneralUtils.isNotEqual.(wRec, 0)
# error("DEBUG -> lifComputeParamsChange! $(Dates.now())")
end
function alifComputeParamsChange!( phi::AbstractArray,
epsilonRec::AbstractArray,
epsilonRecA::AbstractArray,
eta::AbstractArray,
wRec::AbstractArray,
wRecChange::AbstractArray,
beta::AbstractArray,
wOut::AbstractArray,
modelError::AbstractArray)
d1, d2, d3, d4 = size(epsilonRec)
# Bₖⱼ in paper, sum() to get each neuron's total wOut weight
@@ -202,10 +200,11 @@ function onComputeParamsChange!(phi::CuArray,
end
function learn!(kfn::kfn_1)
println(">>> lif_wRecChange ", sum(kfn.lif_wRecChange[:, :, 1, 1]))
#WORKING lif learn
lifLearn!(kfn.lif_wRec,
kfn.lif_wRecChange)
error("DEBUG -> kfn learn! $(Dates.now())")
#TODO alif learn