Board logo

标题: 深度学习与FPGA更新 [打印本页]

作者: look_w    时间: 2017-10-20 20:14     标题: 深度学习与FPGA更新

在FPGA上运行LSTM神经网络LSTM简介传统的RNN由一个三层的网络:输入层
i
t


,隐藏层
h
t


,输出层
y

t


;其中
h
t


的信息作用到下一时刻的输入,这样的结构简单的模仿了人脑的记忆功能,图3是其拓扑图:

只有一个隐藏层方程:


h
t
=tanh(W

x
x
t
+W

h
h
t
+b)



其中
W

x



W

h


分别是输入和隐藏层的权重,
b

是偏置。
tanh 是激活函数:

tanh(x)=e
x
e
x

x
x
+x
x







LSTM [9]是RNN(递归神经网络)的一种,在处理时序数据得到了最广泛的应用,它由门控制信息一共有三个个门:输入门
i
t


,遗忘门
f

t


,输出门
o
t


,另外还有隐藏层
h
t


和记忆细胞
c
t


。图4是其拓扑图:

输入门控制了某一时刻的输入;遗忘门通过作用到上一时刻记忆细胞上,控制了上一时刻的数据流要流多少进入下一时刻;记忆细胞是由上一时刻的输入和这一时刻的候选输入共同决定的;输出门作用到记忆细胞上,决定了这一时刻的隐藏层信息,并且送到下一层神经网络上。全部方程如下:


i
t
=σ
(W

xi
x
t
+W

hi
h
t
+b
i
)




f

t
=σ
(W

xf

x
t
+W

hf

h
t
+b
f

)




o
t
=σ
(W

xo
x
t
+W

ho
h
t
+b
o
)




c
^
=tanh(W

xc
x
t
+W

hc
h
t
+b
c
)




c
t
=f

t
c
t1
+i
t
c
^





h
t
=o
t
tanh(c
t
)



其中
W


代表各自的权重,
b

代表各自的偏置,
σ


是logistic sigmoid 函数:

σ
(x)=1
1+e
x










欢迎光临 电子技术论坛_中国专业的电子工程师学习交流社区-中电网技术论坛 (http://bbs.eccn.com/) Powered by Discuz! 7.0.0