keras的lstm参数,lstm神经网络 python
本文主要介绍用python神经网络Keras实现LSTM及其参数的详细说明。有需要的朋友可以借鉴一下,希望能有所帮助。祝大家进步很大,早日升职加薪。
00-1010什么是LSTM1,LSTM结构2,唯一门结构3,LSTM参数计算a,遗忘门b,输入门c,输出门d,以及在Keras中实现LSTM实现代码的所有参数?
目录
什么是LSTM
我们可以看到,在时间n,LSTM有三个输入:
当前时间网络的输入值XT;LSTM最后时刻的输出值ht-1;前一时刻的机组状态Ct-1。LSTM有两个输出:
当前时间的LSTM输出值ht;当前机组状态Ct。
1、LSTM的结构
LSTM使用两个门来控制小区状态cn的内容:
忘记gate,它决定了前一时刻的单元状态cn-1有多少保留给当前时刻;输入门,其确定当前时刻在新的小区状态cn中保存了多少网络的输入cn。LSTM使用一个门来控制当前输出值hn的内容:
输出门,通过使用当前单元状态cn来控制hn的输出。
2、LSTM独特的门结构
3、LSTM参数量计算
这里的遗忘门需要结合ht-1和Xt来确定上一时刻的单元状态cn-1有多少保留给当前时刻;
从图中我们可以得出,在这个环节中我们需要计算一个参数ft。
a、遗忘门
这里的门需要结合ht-1和Xt来确定当前时刻单位状态cn下保存了多少网络的输入Cn。
从图中我们可以得出,在这个环节中我们需要计算两个参数,即it。
还有C t
要训练的参数是Wi、bi、WC和bC。
在定义LSTM的时候,我们会用到一个叫做units的参数,其实就是神经元的数量,也就是LSTM输出——ht的维数。
所以:
b、输入门
该门通过使用当前单元状态cn来控制hn的输出;
从图中我们可以得出,在这个环节中我们需要计算一个参数ot。
其中要训练的参数分别是w0和B0。在定义LSTM的时候,我们会用到一个叫做units的参数,其实就是神经元的数量,也就是LSTM输出——ht的维数。所以:
c、输出门
所以所有门的总数是:
d、全部参数量
LSTM一般需要输入两个参数。
一个是unit、一个是input_shape。
LSTM(CELL_SIZE, input_shape = (TIME_STEPS,INPUT_SIZE))
unit用于指定神经元的数量。
input_shape用于指定输入的shape,分别指定TIME_STEPS和INPUT_SIZE。
实现代码
import numpy as np
实现效果:
10000/10000 [==============================] - 3s 340us/step
以上就是python神经网络Keras实现LSTM及其参数量详解的详细内容,更多关于Keras实现LSTM参数量的资料请关注盛行IT软件开发工作室其它相关文章!
郑重声明:本文由网友发布,不代表盛行IT的观点,版权归原作者所有,仅为传播更多信息之目的,如有侵权请联系,我们将第一时间修改或删除,多谢。