version 0.0.2
This commit is contained in:
29
src/learn.jl
29
src/learn.jl
@@ -42,8 +42,6 @@ function compute_paramsChange!(kfn::kfn_1, modelError, outputError)
|
||||
# error("DEBUG -> kfn compute_paramsChange! $(Dates.now())")
|
||||
end
|
||||
|
||||
|
||||
|
||||
function lifComputeParamsChange!( phi::CuArray,
|
||||
epsilonRec::CuArray,
|
||||
eta::CuArray,
|
||||
@@ -197,15 +195,18 @@ end
|
||||
function learn!(kfn::kfn_1)
|
||||
# lif learn
|
||||
lifLearn!(kfn.lif_wRec,
|
||||
kfn.lif_wRecChange)
|
||||
kfn.lif_wRecChange,
|
||||
kfn.lif_arrayProjection4d)
|
||||
|
||||
# alif learn
|
||||
alifLearn!(kfn.alif_wRec,
|
||||
kfn.alif_wRecChange)
|
||||
kfn.alif_wRecChange,
|
||||
kfn.alif_arrayProjection4d)
|
||||
|
||||
# on learn
|
||||
onLearn!(kfn.on_wOut,
|
||||
kfn.on_wOutChange)
|
||||
kfn.on_wOutChange,
|
||||
kfn.on_arrayProjection4d)
|
||||
|
||||
# wOut decay
|
||||
kfn.on_wOut .*= 0.0001
|
||||
@@ -218,9 +219,11 @@ function learn!(kfn::kfn_1)
|
||||
end
|
||||
|
||||
function lifLearn!(wRec,
|
||||
wRecChange)
|
||||
# merge learning weight
|
||||
wRec .+= wRecChange
|
||||
wRecChange,
|
||||
arrayProjection4d)
|
||||
|
||||
# merge learning weight with average learning weight
|
||||
wRec .+= (sum(wRecChange) ./ (size(wRec, 4))) .* arrayProjection4d
|
||||
|
||||
#TODO synaptic strength
|
||||
|
||||
@@ -229,9 +232,10 @@ function lifLearn!(wRec,
|
||||
end
|
||||
|
||||
function alifLearn!(wRec,
|
||||
wRecChange)
|
||||
wRecChange,
|
||||
arrayProjection4d)
|
||||
# merge learning weight
|
||||
wRec .+= wRecChange
|
||||
wRec .+= (sum(wRecChange) ./ (size(wRec, 4))) .* arrayProjection4d
|
||||
|
||||
#TODO synaptic strength
|
||||
|
||||
@@ -240,9 +244,10 @@ function alifLearn!(wRec,
|
||||
end
|
||||
|
||||
function onLearn!(wOut,
|
||||
wOutChange)
|
||||
wOutChange,
|
||||
arrayProjection4d)
|
||||
# merge learning weight
|
||||
wOut .+= wOutChange
|
||||
wOut .+= (sum(wOutChange) ./ (size(wOut, 4))) .* arrayProjection4d
|
||||
|
||||
#TODO synaptic strength
|
||||
|
||||
|
||||
Reference in New Issue
Block a user