tf.keras.layers.LSTM参数与LSTM模型之前的关系

本文深入解析LSTM模型的工作原理,涵盖单层、多层LSTM结构,以及如何在Keras中配置go_backwards、return_sequences和return_state等关键参数。讲解了双向LSTM结构,并列举了常见混淆点及实例应用。

单层LSTM模型流程图(多层时,利用前一层的每一个h输出态作为当前层的流输入即可):

 不必担心这里的细节。我们会一步一步地剖析 LSTM 解析图。现在,我们先来熟悉一下图中使用的各种元素的图标

其中记忆状态ct又叫细胞状态,cell_state

隐藏状态ht 

在此过程中,有一个是记忆状态:

 同样对应的中间输出状态为Ht

接下来,介绍和tf.keras.layers.LSTM中的关系,

1、go_backwards参数,决定输入的序列是正序输入到lstm还是倒序输入到lstm,通过次参数,就可以构造双向lstm
2、return_sequences=true时,返回序列输入时,每一次迭代对应的(h1,...,ht-1,ht),如果为false是,返回ht结论:

通常,在需要将各个隐层的结果作为下一层的输入时,选择设置 return_sequences=True

3、return_state=true时,在原先结果基础上,多返回最后一个时间步上的隐状态和细胞状态,即ht,ct

4、recurrent_activation是针对三个门机制(遗忘门、输入门、输出门)的激活函数,而activation是针对输入信息(默认tanh)和当前隐状态输出(默认tanh)的激活函数;

 5、use_bias参数,对应的是所有需要sigmod或tanh变换前,实际还进行了线性变换,这里的bias,指的是在进行线性变换时,是否需要使用偏差,默认使用

6、dropout参数recurrent_dropout参数说明,如下图,dropout是对当前时间点xt对应的参数dropout;recurrent_dropout是对上一个隐常态的输入参数进行dropout;也可以理解为:

第一个dropout是x和hidden之间的dropout



第二个是hidden-hidden之间的dropout

7、stateful表示最后一次的状态是否要成为下一次批量输入的初始化状态

最后补充一个双向lstm模型结构:

 文本分类(一) | (6) 多层双向LSTM_sdu_hao的博客-CSDN博客_多层双向lstm

Keras中LSTM使用过程中的几个易混点_qm5132的博客-CSDN博客_keras lstm使用

LSTM这一篇就够了_yingqubaifumei的博客-CSDN博客_csdn lstm

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

会发paper的学渣

您的鼓励和将是我前进的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值