全面理解LSTM网络及输入,输出,hidden_size等参数

本文详细介绍了LSTM网络的工作原理,包括其与RNN的区别、LSTM的结构、输入输出机制以及hidden_size的概念。LSTM通过输入门、遗忘门和输出门来控制长期和短期记忆,其cell状态c^t和隐藏状态h^t在信息传递中起关键作用。多层LSTM的输出取决于最后的时序步骤,可用于后续的分类任务。
摘要由CSDN通过智能技术生成

全面理解LSTM网络及输入,输出,hidden_size等参数

LSTM结构(右图)与普通RNN(左图)的主要输入输出区别如下所示
在这里插入图片描述

相比RNN只有一个传递状态h^t, LSTM有两个状态,一个c^t(cell state)理解为长时期记忆,和一个h^t(hidden state)理解为短时强记忆。

其中对于传递下去的c^t 改变得很慢,通常输出的c^t 是上一个状态传过来的c^(t-1)加上一些数值。主要是用来保存节点传递下来的数据的,每次传递会对某些维度进行“忘记”并且会加入当前节点所包含的内容,总的来说还是用来保存节点的信息,改变相对较小。 而h^t 则主要是为了和当前输入组合来获得门控信号,对于不同的当前输入,传递给下一个状态的h^t区别也会较大。

深入LSTM结构
在这里插入图片描述

首先使用LSTM的当前输入x^t 和上一个状态传递下来的h^(h-1)拼接训练得到四个状态值
在这里插入图片描述

对应上面手画草图理解,通过将输入x^t 和上个时刻隐状态h^(t-1)拼接后乘以权重参数,再通过sigmoid激活函数转换到0到1间的数值,来作为一种门控状态值。而 z, 则是将结果通过一个 tanh激活函数将转换成-1到1之间的值。其中W, W^i, W^f, W^o 就是模型要学习的权重参数,x^t的维度自定义,在NLP中即就是词向量的维度,每一列代表一个词向量,维度自定义。矩阵的列数为一个句子的token个数,也是time_step length。每个sentence的每个token的embedding(词向量)对应了每个时序 t 的输入。如output, (hn, cn) = lstm(input, (h0, c0)),time_step=1时,input为第一个词的词向量,词向量中的每一个元素对应输入层的每个节点(每个神经元),常看到

评论 12
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值