LSTM输入层、隐含层及输出层参数理解【转载】

转自:https://blog.csdn.net/yyb19951015/article/details/79740869

//这个博客讲的挺不错的。

http://www.newlifeclan.com/ai/archives/170

1.实现中的问题

基本的LSTM细胞单元在TensorFlow中声明为:

tf.contrib.rnn.BasicLSTMCell(num_units)

这里的num_units指的是LSTM单元中的单位数。

num_units也可以解释为前馈神经网络隐藏层的类比。前馈神经网络隐层中的节点。

num_units数目等于LSTM网络每个时间步长的LSTM单元的数量。以下图片应该可以帮助你理解:

有时用 lstm_size 表示 :这是 LSTM 网络的隐藏层中的单元数量,LSTM 细胞中实际上有四个不同的网络层,有三个 sigma 层和一个 TNH 层,这是每一层中的单元数。如果你将它设置成 256,那么这四层中的每一层就有 256 个单元。

num_units中的每一个:都可以将它看作LSTM网络中的一个标准的LSTM单元。

 

2.理论推导

https://www.jianshu.com/p/95d5c461924c,这个讲的蛮不错的。

总的来说,忘记门、输入门、输出门都是类似的;在输入门后多了个c^t,输出门又需要处理ht+1了。

那么顺势来学一下LSTM的改进版GRU。

 

 https://zhuanlan.zhihu.com/p/32481747,这个也讲的更详细,GRU有重置门和更新门,重置门主要是用来获取h^t的,而更新门在输出的时候用,第一项会表示遗忘操作,第二项表示要再添加的信息。

posted @ 2019-03-23 21:10  lypbendlf  阅读(5866)  评论(0编辑  收藏  举报