📜  深度学习中的变压器神经网络——概述

📅  最后修改于: 2021-10-19 08:18:32             🧑  作者: Mango

在这篇文章中,我们将学习变形金刚。我们将首先概述深度学习及其实现。继续前进,我们将看到如何使用深度学习处理序列数据以及我们多年来在模型中看到的改进。

深度学习

那么现在到底什么是深度学习?但在我们开始了解什么是深度学习之前,让我们快速带您了解一下这里的年表,从 AI 开始。 AI或人工智能基本上是整个事情。人工智能是计算机科学的一个领域,它强调在机器内创造智能,使其像人类一样工作和做出反应。简而言之,在这里,我们试图让机器具有模仿人类行为智能的能力。然后我们有机器学习。机器学习基本上是一门通过让计算机根据以前的数据进行操作来让计算机采取行动的科学。所以深度学习是机器学习的一个子集。在这里,我们使用了一种叫做神经网络的东西。我们看到神经网络是一组算法和技术,根据人脑建模,神经网络旨在解决复杂和高级的机器学习问题。

那么到底什么是深度学习?嗯,深度学习是广泛的 ML 方法系列的一部分,这些方法基于学习数据模式,与机器学习算法的作用相反。在机器学习中,我们有针对特定任务的算法。在这里,深度学习算法可以是有监督的、半监督的或无监督的。如前所述,深度学习的灵感来自于人脑以及它如何通过神经元的相互作用来感知信息。那么让我们看看我们到底能用深度学习做什么。但是在我们去那里之前,我们为什么要为各种任务选择深度学习?所以使用深度学习的一大优势是我们可以提取更多的特征,当我们有更多的特征并且当我们可以同时处理大量数据时,我们可以像人类一样感知物体。它的意思是,如果你想在钢笔和铅笔之间执行分类任务,你显然会知道作为一个人,你知道的区别,因为你看钢笔和铅笔包含的次数,以及现在,当您尝试对其进行实际分类时,您可以轻松完成。这是因为,你知道,钢笔的特点,你知道,铅笔的特点。同样,这就是深度学习的工作原理。更多,你喂的数据越多,维度,它可以分析更多的维度,它可以学习。如前所述,深度学习最流行的应用之一是图像分类。当涉及到图像分类时,它可以像在两种不同的动物之间进行分类一样简单,对于像隐藏数据或尝试使用分类任务尝试运行自动汽车这样复杂的事情。

因此,使用深度学习的下一种应用程序是使用顺序数据。顺序数据,基本上是指时间序列数据或必须理解自然语言之类的东西。所以我们称它为顺序数据的原因是这里前一个词或前一个特征依赖于下一个特征。如果我说现在几点?因此,如果我只是说“它是”,那么这里是什么时间,它基本上是句子中的特征。而为了让你做类比或理解,显然必须知道过去发生了什么。因此,为了做到这一点,我们使用了称为 RNN 的东西。并且有各种版本的 RNN。

继续下一个应用程序,即 GAN。 GAN 代表生成对抗网络,是深度学习应用程序的无监督部分。最近几天可以看到的一些常见应用程序只不过是深度伪造等等。最后,归结为使用多层感知器的性能分类和回归任务。如果您还记得,或者如果您精通机器学习以便在 ML 中执行分类,我们有决策树、随机森林之类的算法,非常简单,如线性回归或逻辑回归。但是当我们尝试使用 MLP 或多层感知器进行分类时,即使与 SVM 和决策树相比,我们也能获得非常高的准确率。

使用 RNN 的自然语言处理 (NLP)

既然我们知道深度学习到底是什么以及我们为什么使用它,那么现在让我们深入了解我们如何使用 RNN 处理自然语言和数据。那么什么是 RNN?它代表循环神经网络。我们通常使用它来处理顺序数据。顺序数据可以是时间序列数据,也可以是任何格式的文本数据。那么为什么要使用RNN呢?这是因为这里有一个内部记忆的概念。 RNN 可以记住它收到的输入的重要信息,这使得它们能够非常精确地预测下一个结果。所以这就是为什么在顺序数据算法上执行或首选它们的原因。序列数据的一些示例可以是时间、序列、语音、文本、财务数据、音频、视频、天气等等。尽管 RNN 是处理顺序数据的最先进算法,但它们也有自己的缺点,这里的一些流行缺点可能是由于算法的复杂性或复杂性。神经网络的训练速度非常慢。而且由于这里的维度量很大,训练时间很长,很难做到。除了 RNN 或 RNN 改进的最决定性特征之外,这是否与消失梯度有关?这个消失的梯度是什么?当我们越来越深入地了解我们的神经网络时,之前的数据就会丢失。这是因为一个概念,消失的成分。而你这样做,我们无法处理大量或更长的数据序列。

为了克服这个问题,我们对当前记录的神经网络或 RNN 提出了一些新的或升级的方案。从双向循环神经网络开始。双向循环神经网络将两个相反方向的隐藏层连接成相同的输出,这种生成深度学习的形式,输出可以同时获取过去和未来状态的信息。那么为什么我们需要一个双向循环神经网络呢?好吧,它复制了 RNN 处理链,以便输入处理正向和反向时间顺序,从而允许双向循环神经网络也可以查看未来的上下文。下一个是long short-term memory,long short term memory,有时也称为LSDM,是一种用于深度学习领域的人工循环神经网络架构。 SLTM 的这个标准前馈神经网络有一个反馈连接。它不仅可以处理单个数据点,还可以处理整个数据序列。使用 LSTM 或长短期记忆,它具有类似的东西,您知道,与使用双向 RNN 或 RNN 相比,我们可以提供更长的序列。

那么为什么 LSDM 比 RNN 好呢?可以说,当我们从 RNN 转向 LSTM 时,我们正在对我们可以提供的数据序列进行越来越多的控制。因此,LSTM 为我们提供了更多的控制能力并取得了更好的结果。

所以下一种循环神经网络是门控循环神经网络,也称为 GRU。它是一种循环神经网络,在某些情况下优于长短期记忆。 GRU 使用更少的内存,并且比 LSTM 更快。但问题是 LSTM 在使用更长的数据集时更准确。所以这里的趋势是,你知道,模型应该能够记住并接受更长的输入序列。

变形金刚

音序器数据的改变游戏规则的部分是在我们提出称为 Transformers 的东西时开发的,这篇论文是基于一个称为注意力就是一切的概念。让我们来看看这个。论文“Attention Is All You Need”介绍了一种称为 last Transformers 的架构。像 LSTM 一样,Transformers 是一种架构,用于将一个序列转换为解毒剂,同时帮助编码器和解码器这两个部分,但它与之前描述的序列模型不同,因为它不像 GRU 那样工作。所以它没有实现循环神经网络。迄今为止,循环神经网络是捕获对序列的微小依赖性的最佳方法之一。然而,发表这篇论文“Attention Is All You Need”的团队证明,只有注意力机制的架构不使用 RNN 可以提高其在翻译任务和其他 NLP 任务中的结果。一个例子可能是谷歌的 BERT。

那么这个变压器究竟是什么。编码器和解码器都由可以相互叠加多次的模块组成。因此,输入和输出首先嵌入到 n 维空间中,因为我们不能直接使用它。所以我们显然必须对我们的输入进行编码,无论我们提供什么。该模型的一个轻微但重要的部分是不同单词的位置和编码。由于我们没有能够记住如何将序列输入模型的循环神经网络,我们需要以某种方式给出序列的每个单词或部分的相对位置,因为序列取决于元素的顺序。这些位置被添加到每个单词的嵌入表示中。所以这是一个关于变形金刚的简介。

语言模型

让我们继续前进,看看市场上可用的一些流行语言模型。我们将从了解 OpenAI 的 GPT3 开始。 GPT 和 GPT2 的继任者是 GPT3,并且是最具争议的预训练模型之一,OpenAI 的大规模基于 Transformer 的语言模型已经在 1750 亿个参数上进行了训练,是之前任何非训练模型的 10 倍。 -稀疏语言模型。该模型已经过训练,可以在许多 NLP 数据集上取得强大的性能,包括任务翻译、回答问题以及其他几个任务。

然后我们有 Google 的 BERT。它代表来自 Transformers 的双向编码器表示。是一个预训练的 NLP 模型,由谷歌于 2018 年开发,任何人在工作中都可以在单个云 TPU 上训练他们自己的问答模块,最多 30 分钟,或者使用单个 GPU 训练几个小时。然后,该公司展示了 11 个 NLP 任务的表现,包括非常有竞争力的斯坦福数据集问题。与其他语言模型不同,BERT 仅在维基百科的 2.5 亿词和图书语料库的 8 亿词上进行了预训练,并已成功用作深度神经网络中的预训练模型,据研究人员称,但已达到 93 % 准确率,这抑制了以前的任何语言模型。

接下来,我们有ELMO。 ELMO 也被称为语言模型的嵌入,是一种深度上下文化的词表示,它对句法和语义词以及逻辑上下文进行建模。 Alan LP 开发的模型已经在庞大的文本语料库上进行了预训练,并从双向模型中学习功能。那是LM说的。 ELMO 可以很容易地添加到现有模型中,这极大地改善了大量 NLP 问题的功能特性,包括回答问题、文本情感和情感分析。