首页
学习
活动
专区
工具
TVP
发布
精选内容/技术社群/优惠产品,尽在小程序
立即前往
您找到你想要的搜索结果了吗?
是的
没有找到

《机器学习实战:基于Scikit-Learn、Keras和TensorFlow》第16章 使用RNN和注意力机制进行自然语言处理

自然语言处理的常用方法是循环神经网络。所以接下来会从 character RNN 开始(预测句子中出现的下一个角色),继续介绍RNN,这可以让我们生成一些原生文本,在过程中,我们会学习如何在长序列上创建TensorFlow Dataset。先使用的是无状态RNN(每次迭代中学习文本中的随机部分),然后创建一个有状态RNN(保留训练迭代之间的隐藏态,可以从断点继续,用这种方法学习长规律)。然后,我们会搭建一个RNN,来做情感分析(例如,读取影评,提取评价者对电影的感情),这次是将句子当做词的序列来处理。然后会介绍用RNN如何搭建编码器-解码器架构,来做神经网络机器翻译(NMT)。我们会使用TensorFlow Addons项目中的 seq2seq API 。

02

LSTM还没「死」!

长短期记忆(Long Short-Term Memory,LSTM)是一种时间循环神经网络(RNN),论文首次发表于1997年。由于独特的设计结构,LSTM适合于处理和预测时间序列中间隔和延迟非常长的重要事件。 在过去几十年里,LSTM发展如何了? 密切关注机器学习的研究者,最近几年他们见证了科学领域前所未有的革命性进步。这种进步就像20世纪初,爱因斯坦的论文成为量子力学的基础一样。只是这一次,奇迹发生在AlexNet论文的推出,该论文一作为Alex Krizhevsky,是大名鼎鼎Hinton的优秀学生代表之一。AlexNet参加了2012年9月30日举行的ImageNet大规模视觉识别挑战赛,达到最低的15.3%的Top-5错误率,比第二名低10.8个百分点。这一结果重新燃起了人们对机器学习(后来转变为深度学习)的兴趣。 我们很难评估每次技术突破:在一项新技术被引入并开始普及之前,另一项技术可能变得更强大、更快或更便宜。技术的突破创造了如此多的炒作,吸引了许多新人,他们往往热情很高,但经验很少。 深度学习领域中一个被误解的突破就是循环神经网络(Recurrent neural network:RNN)家族。如果你用谷歌搜索诸如「LSTMs are dead」「RNNs have died」短语你会发现,搜索出来的结果大部分是不正确的或者结果太片面。 本文中数据科学家Nikos Kafritsas撰文《Deep Learning: No, LSTMs Are Not Dead!》,文中强调循环网络仍然是非常有用的,可应用于许多实际场景。此外,本文不只是讨论LSTM和Transformer,文中还介绍了数据科学中无偏评估这一概念。 以下是原文内容,全篇以第一人称讲述。

01

通俗理解ChatGPT中Transformer架构

Transformer架构是由Vaswani等人在2017年提出的一种深度学习模型,它在自然语言处理(NLP)领域取得了革命性的进展。Transformer的核心思想是使用自注意力(Self-Attention)机制来捕捉输入序列中的长距离依赖关系,而无需依赖于循环神经网络(RNN)或卷积神经网络(CNN)。 以下是Transformer架构的详细介绍和实现原理: 1. 多头自注意力机制(Multi-Head Self-Attention) 自注意力机制是Transformer的核心,它允许模型在处理序列的每个元素时,同时考虑序列中的所有其他元素。这种机制通过计算每个元素对其他元素的注意力权重来实现,这些权重表明了在生成当前元素时,其他元素的重要性。 多头自注意力机制进一步扩展了自注意力的概念,它包含多个注意力“头”,每个头学习序列的不同方面。这增加了模型的表达能力,因为它可以从多个角度理解数据。 2. 位置编码(Positional Encoding) 由于Transformer模型没有循环结构,它需要一种方式来理解单词在序列中的位置。位置编码通过向输入添加额外的信息来解决这个问题,这些信息指示了单词在序列中的位置。位置编码通常使用正弦和余弦函数的组合来生成,这允许模型学习到序列中元素的相对位置。 3. 编码器和解码器层(Encoder and Decoder Layers) Transformer模型由编码器和解码器组成,每个部分包含多个层。编码器用于处理输入序列,解码器用于生成输出序列。 - **编码器**:由多个相同的层堆叠而成,每层包含自注意力机制和前馈神经网络。自注意力机制用于捕捉输入序列内部的依赖关系,而前馈网络则对每个位置的表示进行独立处理。 - **解码器**:也由多个相同的层堆叠而成,每层包含自注意力机制、编码器-解码器注意力机制和前馈神经网络。编码器-解码器注意力机制允许解码器关注输入序列中的相关部分。 4. 层归一化和残差连接 为了稳定训练过程,Transformer模型在每个子层(自注意力和前馈神经网络)的输出上应用层归一化。此外,每个子层的输出都会通过一个残差连接,然后将结果传递给下一个子层。这种设计有助于缓解梯度消失问题,使得模型可以更有效地学习。

01
领券