https://www.toutiao.com/article/7236366180959666699/?log_from=9968b7b9b0314_1688977169713 想了很久,一直想以什么样子的方式能够快速简单的说明GPT里面这个“T”的发展过程,但是又不想陷入细节中长篇大论。最终,思来想去可能从文本生成领域最容易讲清楚吧。 可能,对于很多对NLP或文本生成领域不了解的同学,不一定清楚下面提到的几者的关系(RNN、SimpleRNN、LSTM、Attention、Self-Attention、Transformer、BERT、GPT等),我会从发展的角度逐步介绍,当然按照我个人理解,希望对各位有所帮助。
SimpleRNN 是循环神经网络 (RNN) 的一种变种,它最早由 Elman 在 1990 年提出,用于处理序列数据。SimpleRNN 的全称是 Simple Recurrent Neural Network,它是一种基本的 RNN 模型,由一个循环层组成,每个时间步接收一个输入和前一个时间步的隐藏状态,输出当前时间步的隐藏状态。 SimpleRNN 的主要优势是非常简单直观,易于理解和实现。它也可以很好地处理一些简单的序列数据,例如预测下一个时间步的值、文本分类、情感分析等。 这里提到的Simple RNN(循环神经网络) ,最明显的缺点就是难以处理长序列。当输入序列或输出序列非常长时,模型很容易出现梯度消失或梯度爆炸的问题。 那在一定程度可以解决这个问题的LSTM(Long Short-Term Memory,LSTM)就出现了:
首先,看下LSTM的几点优势:
为什么LSTM就这么厉害呢,主要还是看上面那张图,会发现LSTM有“四个门”,在传统的循环神经网络中,由于梯度消失或梯度爆炸的问题,网络很难记住长期依赖的信息,而LSTM通过引入门控机制,可以有效地控制信息的流动,从而解决了这个问题。 LSTM中的主要组成部分包括输入门、遗忘门、输出门和记忆单元。记忆单元是网络中的核心部分,它负责存储和更新信息。输入门和遗忘门决定了哪些信息需要被添加或遗忘,而输出门控制了信息的输出。
LSTM中的四个门单元都有自己独特的能力,可以有效地控制信息的流动,从而解决了传统循环神经网络中的长期依赖问题。它们的作用不同,但都是为了使网络能够更好地处理序列数据。 虽然LSTM可以解决长期依赖的问题,但是也存在一些缺点:
为了解决LSTM的缺点,可以引入attention机制。attention机制是一种对于序列中不同位置的信息赋予不同权重的方法,可以帮助网络更好地处理长序列数据,同时也可以减少计算量和过度拟合的问题。 在使用attention机制时,可以将LSTM中的每个时间步的输出作为输入,计算出每个时间步的权重,然后将每个时间步的输出乘以对应的权重,得到加权后的输出。这样可以使网络更加关注重要的信息,减少信息的丢失。
跟RNN不同的Sequence-to-Sequence (Seq2Seq)模型,同样是处理数据,RNN是处理序列数据,而Seq2Seq则是把一种序列转换为另一种序列,我们天然就能想到的是翻译的任务场景,Seq2Seq是一种深度学习模型,用于处理序列到序列(Sequence-to-Sequence)的问题。一种编码器-解码器(Encoder-Decoder)架构【本质上GPT中的Transformer中也是编码和解码】,用于将一个序列映射到另一个序列。 Seq2Seq模型最初是为了翻译任务而开发的,但现在已经广泛应用于各种自然语言处理(NLP)任务,例如对话系统、摘要生成、语音识别和问答系统等。 Seq2Seq模型由两个主要组件组成:编码器(Encoder)和解码器(Decoder)。编码器将输入序列转换为一个固定长度的向量(也称为上下文向量或编码),其中这个向量包含了输入序列的语义信息。解码器则将这个向量作为其输入,并将其转换为输出序列。 Seq2Seq模型的训练过程通常采用最大似然估计(Maximum Likelihood Estimation,MLE)或基于强化学习的方法。在MLE中,我们使用训练数据中的输入序列和对应的输出序列来计算模型的损失函数,并使用梯度下降等优化算法来最小化损失函数。在基于强化学习的方法中,我们使用类似于Actor-Critic或REINFORCE等算法来优化模型,并采用奖励信号来指导模型生成更好的输出序列。 总之,Seq2Seq模型是一种用于解决序列到序列问题的深度学习模型,它由编码器和解码器组成,并使用循环神经网络来处理输入和输出序列。该模型在自然语言处理中得到了广泛应用,例如机器翻译、对话生成、摘要生成等领域。
而即便是LSTM出现之后,仍然存在一定的问题,为了解决这些问题,开始出现Attention机制。主要优势在于:
Attention机制可以自适应地聚焦于最相关的部分,更好地捕捉长距离依赖关系,更好地处理变长输入序列和多个输入序列。这使得Attention机制成为处理序列数据的一种非常有效的方法。 从Attention机制开始,其实RNN的发展或者说神经网络的发展才逐步的走向快速发展的时期,用一个不恰当的比喻:从SimpleRNN到LSTM再到Attention,相当于刚出生的婴儿到咿呀学语,现在终于会走路了。。。。等到下一期我再继续介绍Attentioin机制如何跟LSTM结合改善,再到Self-Attention(自注意力记住),再到Transformer再到GPT,才算是从走到跑,到幼儿园,小学。。。。 2017年Google发表论文《attention is all you need》,彻底引爆了attention的机制,然后出现了多头自注意力等。然后Transformer出现了,然后就是BERT,然后就是大家熟悉的GPT出现啦,今天带大家走马观花的了解一下发展过程,其实说来简单,但是这里每一步都少不了前辈学者们断探索和努力。 很有幸我们可以生在这个时代,见证这个时代! 变革时刻在发生。。。。 |
|
来自: 山峰云绕 > 《机器学习视觉训练模式识别摄像头搜索原理》