忘记门的具体计算过程如下动图 。
b. 输入门
当新的输入进入LSTM网络时 , 输入门会决定哪些信息应该被保留并更新细胞状态 。
输入门通过一个函数来决定哪些信息需要被保留 。在每个时间步 t t t , 输入门的计算公式如下:
i t = σ ( W i [ x t , h t ? 1 ] + b i ) i_t = \sigma(W_i[x_t, h_{t-1}] + b_i) it?=σ(Wi?[xt?,ht?1?]+bi?)
其中 , W i W_i Wi?是输入门的权重矩阵 , b i b_i bi?是偏置项 , x t x_t xt?是当前时间步的输入 , h t ? 1 h_{t-1} ht?1?是上一时间步的隐藏状态 。σ \sigma σ是函数 , 将输入值映射到0到1之间的概率值 。
输入门的输出 i t i_t it?是一个0到1之间的值 , 表示哪些新的输入应该被保留 。当 i t i_t it?接近1时 , 所有新的输入都会被完全保留;当 i t i_t it?接近0时 , 所有新的输入都会被完全忽略 。
接下来 , LSTM会计算候选细胞状态 c t ~ \tilde{c_t} ct?~? , 它表示当前时间步的新输入可以对细胞状态产生多少影响 。候选细胞状态的计算公式如下:
c t ~ = tanh ? ( W c [ x t , h t ? 1 ] + b c ) \tilde{c_t} = \tanh(W_c[x_t, h_{t-1}] + b_c) ct?~?=tanh(Wc?[xt?,ht?1?]+bc?)
其中 , W c W_c Wc?是候选细胞状态的权重矩阵 , b c b_c bc?是偏置项 , x t x_t xt?是当前时间步的输入 , h t ? 1 h_{t-1} ht?1?是上一时间步的隐藏状态 。tanh ? \tanh tanh是双曲正切函数 , 将输入值映射到-1到1之间的值 。
输入门的具体计算过程如下动图 。
输入门的作用是控制新的输入在当前时间步的权重 。通过输入门 , LSTM能够更好地处理长序列数据 , 避免梯度消失和梯度爆炸的问题 , 从而提高模型的效果和稳定性 。
c. 细胞状态
细胞状态可以被看作是整个LSTM网络的核心 , 它可以存储和传递信息 , 同时也能够控制信息的流动和更新 。
LSTM的细胞状态会被更新和传递到下一个时间步 。在每个时间步 t t t , 细胞状态的更新公式如下:
c t = f t ? c t ? 1 + i t ? c t ~ c_t = f_t \cdot c_{t-1} + i_t \cdot \tilde{c_t} ct?=ft??ct?1?+it??ct?~?
其中 , f t f_t ft?是忘记门 , 表示对细胞状态进行遗忘的权重; i t i_t it?是输入门 , 表示对细胞状态进行更新的权重; c t ~ \tilde{c_t} ct?~?是当前时间步的候选细胞状态 , 表示当前时间步的新输入可以对细胞状态产生多少影响 。
当 f t f_t ft?接近1时 , 过去的信息会被完全保留;当 f t f_t ft?接近0时 , 过去的信息会被完全遗忘 。当 i t i_t it?接近1时 , 新的输入会被完全保留;当 i t i_t it?接近0时 , 新的输入会被完全忽略 。
细胞状态的具体计算过程如下动图 。
细胞状态的更新和传递是LSTM中非常重要的过程 。在训练过程中 , LSTM网络可以通过学习到的权重来自适应地更新细胞状态 , 保留和传递重要的信息 。
d. 输出门
当需要将当前时间步的信息传递到下一层或输出层时 , 需要通过输出门来控制哪些信息应该被输出 。
输出门通过一个函数来决定哪些信息需要被输出 。在每个时间步 t t t , 输出门的计算公式如下:
o t = σ ( W o [ x t , h t ? 1 ] + b o ) o_t = \sigma(W_o[x_t, h_{t-1}] + b_o) ot?=σ(Wo?[xt?,ht?1?]+bo?)
其中 , W o W_o Wo?是输出门的权重矩阵 , b o b_o bo?是偏置项 , x t x_t xt?是当前时间步的输入 , h t ? 1 h_{t-1} ht?1?是上一时间步的隐藏状态 。σ \sigma σ是函数 , 将输入值映射到0到1之间的概率值 。
- ARWU 2023年软科世界大学学术排名(附Top200榜单)
- 收录超十年,Kaggle竞赛优胜解决方案,310场+比赛方案整理【附资料】
- 代码篇 Java 实现代理模式
- 人机对抗代码 五子棋的简单算法——评分法
- 最后一战手游登陆流程
- 蓝屏代码0x000000f4 蓝屏代码0x0000024
- 程序员小姐姐写出代码版《本草纲目》毽子操,刘畊宏回复:很cool!
- 机构信用代码证丢失 机构信用代码证丢失如何补办
- java编写的西洋跳棋小游戏,功能完善 界面漂亮 完整代码
- Spring MVC代码实例系列