全面理解LSTM网络及输入,输出,hidden

您所在的位置:网站首页 lstm模型结构图用什么画 全面理解LSTM网络及输入,输出,hidden

全面理解LSTM网络及输入,输出,hidden

2024-06-06 17:01| 来源: 网络整理| 查看: 265

全面理解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为第一个词的词向量,词向量中的每一个元素对应输入层的每个节点(每个神经元),常看到hidden_size就是我们的隐藏节点(神经元&



【本文地址】


今日新闻


推荐新闻


CopyRight 2018-2019 办公设备维修网 版权所有 豫ICP备15022753号-3