Contact
CoCalc Logo Icon
StoreFeaturesDocsShareSupport News Sign UpSign In
| Download
Views: 1003
Kernel: Julia 1.4

LSTM

f(h,x) = 1/(1+exp(-(-100))) i(h,x) = 1/(1+exp(-(100*x+100))) out(h,x) = 1/(1+exp(-(100*x))) c(h,c,x) = f(h,x)*c+i(h,x)*tanh(-100*h+50*x) h(h,c,x) = out(h,x)*tanh(c) h₀ = 0 c₀ = 0 x = [0,0,1,1,1,0] function LSTM(h₀, c₀, X) hs = Float64[h₀] cs = Float64[c₀] for x in X ct = c(hs[end],cs[end],x) ht = round(h(hs[end],ct,x)) push!(cs,ct) push!(hs,ht) end return (hs,cs) end (ho,co) = LSTM(h₀, c₀,x)
([0.0, 0.0, 0.0, 1.0, -1.0, 1.0, -0.0], [0.0, 0.0, 0.0, 1.0, -1.0, 1.0, -1.0])
(ho,co) = LSTM(h₀, c₀,[1,1,0,1,1])
([0.0, 1.0, -1.0, 0.0, 1.0, -1.0], [0.0, 1.0, -1.0, 1.0, 1.0, -1.0])