如何理解LSTM模型的bptt

如何理解LSTM模型的bptt,第1张

觉得LSTM bptt的过程跟rnn 是一样的,实际上之所以用到bptt是因为需要对参数W(对应上一步隐含层的权重矩阵) 进行求导. 该过程是这样的, 一个句子对应一个训练样本, 先用前向传播计算出句子中各词(对应各时刻)的隐含层和输出层向量,并分别保存在数组中.参数更新是一个梯度下降的过程跟BP完全一样,对该句子从最后一个词到第一个词对应的损失函数求各参数的梯度后更新参数.正是这个过程用了bptt

RNN模型的基础结构单元,其中比较常见的有LSTM单元,GRU单元等,它们充当了RNN模型中的基础结构部分。使用单元搭建出来的RNN模型会有更好的拟合效果。

LSTM单元与GRU单元是RNN模型中最常见的单元,其内容由输入门、忘记门、和输出门三种结构组合而成。

LSTM单元与GRU单元的作用几乎相同,唯一不同的是:

相比之下,使用GRU单元会更加简单。

QRNN(Quasi-Recurrent Neural Networks) 单元是一种RNN模型的基础单元,它比LSTM单元速度更快。

QRNN单元发表于2016年。它使用卷积 *** 作替代传统的循环结构,其网络结构介于RNN与CNN之间。

QRNN内部的卷积结构可以将序列数据以矩阵方式同时运算,不再像循环结构那样必须按照序列顺序依次计算。其以并行的运算方式取代了串行,提升了运算速度。在训练时,卷积结构也要比循环结构的效果更加稳定。

在实际应用中,QRNN 单元可以与RNN模型中的现有单元随意替换。

了解更多,可以参考论文:
Quasi-Recurrent Neural Networks

SRU单元是RNN模型的基础单元,它的作用与QRNN单元类似,也是对LSTM单元在速度方面进行了提升。

LSTM单元必须要将样本按照序列顺序一个个地进行运算,才能够输出结果。这种运算方式使得单元无法在多台机器并行计算的环境中发挥最大的作用。

SRU单元被发表于2017年。它保留LSTM单元的循环结构,通过调整运算先后顺序的方式(把矩阵乘法放在串行循环外,把相乘的再相加的运算放在串行循环内)提升了运算速度。

若需要研究SRU单元更深层次理论,可以参考如下论文:
Simple Recurrent Units for Highly Parallelizable Recurrence

关于函数tfcontribrnnSRUCell 的更多使用方法,可以参照官方帮助文档。
>

LSTM是一种循环神经网络模型,其全称为“长短时记忆网络”(Long Short-Term Memory Network)。它是RNN的一种改进形式,在解决传统RNN在处理序列数据时会出现梯度消失或梯度爆炸等问题方面表现更加优异。

LSTM模型的核心是由门控单元(Gate Units)和记忆单元(Memory Units)构成的。其中门控单元主要负责控制信息是否流经,以此控制信息的输入、输出和遗忘;而记忆单元主要记录和保存历史状态的信息,并通过门控单元的调节实现信息的筛选、保留与更新。

相比于传统RNN,LSTM可以更好地处理长时序列数据,使得我们能够更有效地对文本、音频、视频等序列数据进行建模,从而在自然语言处理、语音识别、图像描述等领域获得了广泛的应用。


欢迎分享,转载请注明来源:内存溢出

原文地址:https://54852.com/yw/10549679.html

(0)
打赏 微信扫一扫微信扫一扫 支付宝扫一扫支付宝扫一扫
上一篇 2023-05-09
下一篇2023-05-09

发表评论

登录后才能评论

评论列表(0条)

    保存