5 种 LSTM 循环神经网络及其用途

文章探讨了RNN和LSTM在机器学习中的作用,特别强调了LSTM如何通过单元状态和门控机制解决梯度消失问题,以及不同LSTM变体如经典LSTM、窥视孔连接、门控循环单元等在处理序列数据和长期依赖上的应用。
摘要由CSDN通过智能技术生成

普通 RNN 和储层计算的原始汤
利用过去的经验来提高未来的性能是深度学习和机器学习的基石。机器学习的一个定义明确地阐述了通过经验进行改进的重要性:

如果计算机程序在 T 中的任务中的性能(由 P 测量)随着经验 E 的提高而提高,则可以说计算机程序可以从关于某类任务 T 和性能测量 P 的经验 E 中学习。

-汤姆·米切尔。机器学习

在神经网络中,经验带来的性能改进被编码为模型参数(权重)中的长期记忆。从一组带注释的示例训练集学习之后,当显示类似但以前未见过的其他示例时,神经网络更有可能做出正确的决定。这是对具有清晰的一对一匹配的数据进行监督式深度学习的本质,例如,一组图像映射到每个图像的一个类(猫、狗、热狗等)。

GCP 的 Vertex AI 与 Datadog:构建和监控生成式 AI 聊天机器人

参加我们即将举行的网络研讨会,我们将探索 Datadog 和 Google 的专业知识,揭开在 GCP Vertex AI 上监控和优化基于大型语言模型的应用程序的复杂性。

您可能还喜欢:  使用循环神经网络 (LSTM) 进行时间序列预测
在许多情况下,数据自然形成序列,在这些情况下,顺序和内容同样重要。序列数据的其他示例包括视频、音乐、DNA 序列等。当从序列数据中学习时,短期记忆对于处理一系列具有有序上下文的相关数据非常有用。为此,机器学习研究人员长期以来一直将目光转向循环神经网络(RNN)。

鹦鹉螺与决策树插图。

鹦鹉螺与决策树图
标准 RNN 本质上是一个及时展开的前馈神经网络。这种安排可以通过在网络的一个或多个隐藏状态与上一个时间点的相同隐藏状态之间引入加权连接来简单地实现,从而提供一些短期记忆。挑战在于,这种短期记忆从根本上来说是有限的,就像训练非常深的网络很困难一样,这使得普通 RNN 的记忆确实非常短。

通过许多隐藏层的反向传播学习很容易出现梯度消失问题。无需赘述,该操作通常需要将误差信号重复乘以一系列小于 1.0 的值(激活函数梯度),从而衰减每一层的信号。随着时间的反向传播也存在同样的问题,从根本上限制了从相对长期的依赖关系中学习的能力。

深度学习神经网络中新激活函数的发展
对于前馈神经网络的深度学习,梯度消失的挑战导致了新激活函数(如 ReLU)和新架构(如 ResNet 和 DenseNet)的流行。对于 RNN,一种早期的解决方案是完全跳过循环层的训练,而是以一种将输入数据执行混沌非线性变换为更高维表示的方式来初始化它们。

选择循环反馈和参数初始化,使系统几乎不稳定,并向输出添加一个简单的线性层。学习仅限于最后一个线性层,通过这种方式,可以在许多任务上获得相当不错的性能,同时避免通过完全忽略梯度消失问题来处理它。计算机科学的这个子领域称为 水库计算,它甚至(在某种程度上) 使用一桶水作为动态水库来执行复杂的计算。

储层型 RNN 的不足有几个原因
对于准稳定动态水库,任何给定输入的影响都可以持续很长时间。然而,水库型 RNN 仍然存在不足,原因如下:1)动态水库必须非常接近不稳定才能持续存在长期依赖性,因此持续的刺激可能会导致输出随着时间的推移而爆炸;2)仍然没有直接的学习网络的较低/较早部分。 Sepp Hochreiter 1991 年的毕业论文(德语 pdf )描述了深度神经网络中梯度消失的基本问题,为 Sepp Hochreiter 和 Jürgen Schmidhuber 在 1997 年发明长短期记忆 (LSTM) 循环神经网络铺平了道路。

LSTM 可以学习“普通”RNN 根本无法学习的长期依赖关系。这种能力背后的关键洞察是一个称为单元状态的持久模块,它包含一个随时间变化的公共线程,在每个时间步骤仅受到一些线性操作的干扰。由于细胞状态与先前细胞状态的连接仅被乘法和加法的线性运算中断,因此 LSTM 及其变体可以记住短期记忆(即属于同一“片段”的活动)很长时间时间。

多年来,人们对原始 LSTM 架构进行了许多修改,但令人惊讶的是,20 多年后,经典变体继续在各种前沿任务上取得了最先进的结果。话虽如此,LSTM 的变体有哪些?它们有什么用处?

1.LSTM经典版
经典的 LSTM 架构的特点是持久的线性单元状态,周围是非线性层,输入输入并解析输出。具体来说,单元状态与 4 个门控层协同工作,这些层通常称为遗忘门、(2x) 输入门和输出门。

遗忘门根据当前输入数据选择要删除旧单元状态的哪些值。两个输入门(通常表示为i和j)共同工作,根据输入决定将哪些内容添加到单元状态中。i和j通常具有不同的激活函数,我们直观地期望将其用于建议要添加到单元状态的缩放向量和候选值。

最后,输出门确定单元状态的哪些部分应传递到输出。请注意,在经典 LSTM 的情况下,输出h由隐藏层激活组成(例如,这些激活层可以接受进一步的层进行分类),输入由先前的隐藏状态输出和当前提供的任何新数据x组成时间步。

五种类型的 LSTM 循环神经网络及其用途 |  经典 LSTM |  精确

经典 LSTM 插图
最初的 LSTM 立即在一组相关数据之间存在较长时间滞后的综合实验上改进了现有技术。快进到今天,我们仍然看到经典的 LSTM 构成了最先进的强化学习突破的核心元素,例如 Dota 2 团队 OpenAI Five。

 更详细地检查策略架构(pdf),您可以看到,虽然每个代理都使用多个密集 ReLU 层进行特征提取和最终决策分类,但 1024 个单元的 LSTM 构成了每个代理游戏体验的核心表示。OpenAI 使用类似的安排从头开始训练 Shadow 机械手来 操纵彩色立方体以实现任意旋转。

2. 窥视孔连接
五种类型的 LSTM 循环神经网络及其用途 |  LSTM 窥孔 |  精确

LSTM 窥孔连接图
经典的 LSTM 通过持久单元状态(在描述 LSTM 的早期论文中通常称为“常量误差轮播”)连接所有时间点,克服了及时展开的循环神经网络中梯度消失的问题。然而,决定忘记什么、添加什么、甚至从单元状态中获取什么作为输出的门控层并没有考虑单元本身的内容。

直观地说,代理或模型在用新的记忆替换之前想要知道它已经存在的记忆是有道理的。输入 LSTM 窥孔连接。此修改(上图中以深紫色显示)简单地将单元状态内容连接到门控层输入。 特别是,当最初引入该变体时,该配置被证明可以提供改进的计算罕见事件之间的时间距离的能力。为 LSTM 中的层提供一些单元状态连接仍然是一种常见的做法,尽管具体的变体在提供访问的层方面有所不同。

3. 门控循环单元
五种类型的 LSTM 循环神经网络及其用途 |  LSTM 门控循环单元|  精确

LSTM 门控循环单元图解
从图表上看,门控循环单元 (GRU) 看起来比经典 LSTM 更复杂。事实上,它更简单一些,并且由于其相对简单,训练速度比传统的 LSTM 快一些。GRU 将输入门j和忘记门f的门函数组合成单个更新门z。

实际上,这意味着指定用于遗忘的细胞状态位置将与新数据的入口点相匹配。GRU 的另一个关键区别是单元状态和隐藏输出h已组合成单个隐藏状态层,而该单元还包含中间的内部隐藏状态。

 门控循环单元 (GRU) 已被用作展示神经 GPU等奇异概念以及一般序列到序列学习的更简单模型(例如机器翻译)的基础。GRU 是一种功能强大的 LSTM 变体,自诞生以来就相当受欢迎。虽然它们可以快速学习音乐或文本生成等任务,但由于计数方面的限制,它们最终被描述为 不如经典 LSTM 强大。

4.乘法 LSTM (2017)
 乘法 LSTM (mLSTM) 由Krause 等人于 2016 年引入。从那时起,这种复杂的变体就成为自然语言处理领域许多备受瞩目的最先进成就的核心。也许其中最著名的是 OpenAI 的 无监督情感神经元。

该项目的研究人员发现,通过对无监督文本预测的大型 mLSTM 模型进行预训练,该模型的能力变得更加强大,并且可以通过最少的微调在一系列 NLP 任务上高水平执行。文本中的许多有趣的特征(例如情感)被紧急映射到特定的神经元。

 值得注意的是,在端到端蛋白质序列学习中也报道了无监督学习中出现的可解释分类神经元的相同现象。在蛋白质序列的下一个残基预测任务中,乘法 LSTM 模型显然学习了与基本二级结构基序(如 α 螺旋和 β 折叠)相对应的内部表示。蛋白质序列和结构是无监督和半监督序列学习模型取得重大突破的成熟领域。

尽管过去几年中序列数据量呈指数级增长,但可用的蛋白质结构数据的增长速度要慢得多。因此,蛋白质折叠领域的下一个重大人工智能颠覆可能会涉及某种程度的纯序列无监督学习,甚至可能超越 Deepmind 在 CASP13 蛋白质折叠挑战中的颠覆。

5. 带有注意力机制的 LSTM
最后,我们得出了最近记忆中序列模型中最具变革性的创新*。 机器学习中的注意力是指模型关注数据中特定元素的能力,在我们的例子中是 LSTM 的隐藏状态输出。吴等人。谷歌使用了一种由夹在编码和解码 LSTM 层之间的注意力网络组成的架构来实现最先进的神经 机器翻译。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

千源万码

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值