【机器学习300问】124、什么是LSTM?LSTM的基本结构是怎样的?

        长短期记忆网络(LSTM)是一种解决隐变量模型长期信息保存和短期输入缺失问题的方法,有趣的是,长短期记忆网络的设计比门控循环单元稍微复杂一些, 却比门控循环单元早诞生了近20年。

一、什么是LSTM?

        LSMT全称为长短期记忆网络(Long Short-Term Memory)是一种特殊的循环神经网络(RNN),专门设计用于解决长期依赖的问题,即在处理序列数据时能够记住较长时间间隔的信息。RNNs通过在序列中每个时间步传递隐藏状态来保留过去信息,但它在处理长序列时往往会遇到梯度消失或梯度爆炸的问题,这限制了它记忆远距离信息的能力

        位于序列后端的was和were的选择取决于前面的名词是单数还是复数,图中的序列还比较短,但若是对长序列而言,记忆cat的单复数就显得非常关键。

二、LSTM的基本结构

        LSTM的基本结构由四个主要组件构成:输入门、遗忘门、输出门以及记忆细胞(也称为细胞状态)。还有一个额外的概念是候选记忆状态,它是新信息被考虑加入到细胞状态之前的形式。下面先把LSTM的网络模型图放出来,有助于理解这四个组件。

LSTM基本结构图解

        为了更加直观的展示LSTM的结构,我把B站UP主梗直哥丶的视频截取出来给大家看,强烈推荐大家去看他的视频,讲的非常好。

(1)输入门

        输入门(Input Gate)记为 i_t ,是决定当前输入中哪些部分应当被更新到细胞状态。它使用一个sigmoid函数来产生一个0到1之间的值,表示新信息的多少应该被“记忆”。 数学表达式为:

i_t = \sigma(W_i \cdot [h_{t-1}, x_t] + b_i)

        其中 W_i 和 W_C 分别是输入门和候选细胞状态的权重矩阵,b_i和 b_C 是对应的偏置项。x_t是当前时间步的输入。\tilde{C_t}是候选细胞状态。

(2)遗忘门

        遗忘门(Forget Gate)记为 f_t ,是确定细胞状态中哪些信息应当被遗忘。同样使用sigmoid函数,决定过往记忆的重要性,值接近1表示大部分保留,接近0表示大部分遗忘。 数学表达式为:

f_t = \sigma(W_f \cdot [h_{t-1}, x_t] + b_f)

        其中 \sigma 是sigmoid激活函数,W_f是遗忘门的权重矩阵,b_f是遗忘门的偏置项,h_{t-1}是上一个时间步的隐藏状态,x_t是当前时间步的输入。

删除对应遗忘门和增加对应输入门

(3)细胞状态

        细胞状态(Cell State)记为 C_t, 是LSTM的核心,一个能够存储长期信息的向量。它通过点积运算结合遗忘门和前一时间步的细胞状态,以及输入门和一个新的候选记忆状态来更新。候选记忆状态是由当前输入和一个输入的权重矩阵通过tanh激活函数得到的。 数学表达式为:

  C_t = f_t * C_{t-1} + i_t * \tilde{C}_t

        候选细胞状态,记为 \tilde{C}_t ,是在每个时间步中,当前输入x_t和前一隐藏状态h_{t-1}的信息经过处理生成了一个候选细胞状态,该候选细胞状态包含可能加入长期状态的信息。

\tilde{C}_t = \tanh(W_C \cdot [h_{t-1}, x_t] + b_C)

        隐藏状态,记为 h_t ,包含了当前时间步的输出信息,它是基于细胞状态的过滤输出,输出门控制着细胞状态中的哪些信息会传输到隐藏状态,然后用于输出或传递到下一个时间步。

(4)输出门

        输出门(Output Gate)记为 o_t ,是控制细胞状态中哪些信息应当被用于生成当前时间步的输出。它结合了sigmoid函数(决定哪些细胞状态的内容应该输出)和tanh函数(对选定的记忆进行缩放,确保输出在-1到1之间)。 数学表达式为:

o_t = \sigma(W_o \cdot [h_{t-1}, x_t] + b_o)

h_t = o_t * \tanh(C_t)

        其中W_o是输出门的权重矩阵,b_o 是输出门的偏置项。h_{t-1}是上一个时间步的隐藏状态,x_t是当前时间步的输入。

三种门和候选记忆细胞的计算图解

三、LSTM和GRU的区别与联系

        LSTM(长短期记忆网络)和GRU(门控循环单元)都是循环神经网络(RNN)的变种,目的是解决标准RNN中的梯度消失问题,并更好地捕捉长期依赖关系。下面是它们之间的一些关键区别与联系。关于GRU我也写了一篇文章,感兴趣可以来看看哦:

【机器学习300问】123、什么是GRU?GRU网络的基本结构是怎样的?icon-default.png?t=N7T8https://blog.csdn.net/qq_39780701/article/details/139777315

(1)联系

  1. 共同目标:LSTM和GRU都被设计来改善标准RNN在处理长期依赖问题上的能力,通过引入门控机制来控制信息的遗忘和更新。
  2. 门控机制:两者都使用门(gate)来调节信息流,允许网络选择性地忘记旧信息或记住新信息。
  3. 解决梯度消失:它们都能有效缓解梯度消失问题,从而在序列数据建模中表现得更为稳定和强大。

(2)区别

① 门的数量和结构

  • LSTM拥有三个门:遗忘门(forget gate)、输入门(input gate)和输出门(output gate),以及一个细胞状态(cell state)和隐藏状态(hidden state)。遗忘门决定哪些旧信息被遗忘,输入门控制新信息的接纳程度,输出门则决定细胞状态中多少信息将被用于生成隐藏状态。
  • GRU简化了结构只有两个门:重置门(reset gate)和更新门(update gate)。重置门决定在处理新输入时,多少以前的信息应该被“重置”或遗忘;更新门则同时控制着旧信息的保留和新信息的加入。

② 记忆单元

  • LSTM拥有独立的细胞状态,这个细胞状态可以长期存储信息,而隐藏状态则基于此细胞状态计算得出,这为信息的长期保留提供了专门的机制。
  • GRU没有明确区分细胞状态和隐藏状态,而是直接在一个状态中通过门控机制控制信息的更新,使得模型结构更为简洁。

③ 计算复杂性和参数量

  • LSTM结构更复杂,拥有更多的门和独立的细胞状态,因此在计算上通常比GRU更耗时且需要更多的参数。
  • GRU结构简化,计算效率较高,所需参数较少,这在资源有限或数据量较小的场景下可能更有优势。

④ 性能

  • 在多数任务上,LSTM和GRU的表现相近,但在某些特定任务或大规模数据集上,LSTM由于其更强的表达能力和参数量,可能会取得更好的性能。
  • GRU以其较少的参数量和较简单的结构,在训练速度和资源消耗上占有优势,尤其是在处理较短序列或资源受限环境时
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值