深入理解 LSTM:原理与公式全解析及MATLAB实现

深入理解 LSTM:原理与公式全解析及MATLAB实现

循环神经网络(RNN)曾是处理序列数据的一把利器。然而,随着数据序列长度的增加,RNN 却暴露出了梯度消失或梯度爆炸的严重问题。
梯度消失(Vanishing Gradient)
是指在神经网络的训练过程中,反向传播时,靠近输入层的梯度变得非常小。随着网络层数的增加,梯度在反向传播过程中不断乘以小于 1 的权重,导致梯度越来越小,最终趋近于 0。
梯度爆炸(Exploding Gradient)
与梯度消失相反,梯度爆炸是指在反向传播过程中,梯度变得非常大。这通常是因为网络的权重过大,导致梯度在反向传播时不断相乘而产生指数级增长。
在开始讲解LSTM之前,我们先来回顾一下RNN的结构。

一、RNN(循环神经网络)的基本结构

神经元结构与连接方式

RNN 的基本单元是神经元,它和传统神经网络中的神经元类似,都有输入、权重、激活函数等部分。但 RNN 神经元的特殊之处在于它有一个循环连接,这个循环连接允许信息在时间序列上进行传递。
从结构上看,RNN 可以展开成一个链式结构。具体结构如图所示:
在这里插入图片描述

图中的 X 0 , X 1 . . . , X m , X n X_0,X_1...,X_m,X_n X0,X1...,Xm,Xn表示输入序列。在 RNN 中,输入序列在每个时间步依次输入到网络中。
例如,在处理自然语言处理任务中的句子时,假设一个句子是由一系列单词组成,每个单词对应的词向量可以作为输入到 RNN 中。则可以看作是对前面单词序列信息的一个总结,随着时间步的推进,不断更新,包含了越来越多的句子上下文信息。
对应的A为隐藏层,隐藏层状态会根据当前输入和上一个时间步的隐藏层状态进行更新对应公式表达为:
h t = tanh ⁡ ( W i h x t + W h h h t − 1 + b h ) h_t=\tanh (W_{ih} x_t + W_{hh} h_{t - 1}+b_h) ht=tanh(Wihxt+Whhht1+bh)
W i h W_{ih} Wih 为输入到隐藏层的权重矩阵,表示输入对隐藏层状态的影响权重。
W h h W_{hh} Whh为隐藏层到隐藏层的权重矩阵,用于处理上一时刻隐藏层状态对当前隐藏层状态的影响。
x t x_t xt 为t时刻的输入向量。
h t − 1 h_{t - 1} ht1 为t-1时刻的隐藏层状态
b h b_h bh为隐藏层的偏置向量,用于调整激活函数的输出。
图中的 Y 0 , Y 1 , ⋯   , Y m , Y n Y_0, Y_1, \cdots, Y_m, Y_n Y0,Y1,,Ym,Yn 表示输出序列。输出通常由隐藏层状态通过一个线性变换和激活函数得到,公式一般为 Y t = g ( W h y H t + b y ) Y_t = g (W_{hy}H_t + b_y) Yt=g(W

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值