TensorFlow系列专题(十一):RNN的应用及注意力模型

  • 时间:
  • 浏览:1

机器翻译

以上有些传统的Soft Attention Model,除此之外还有有些其它形式的Attention-based model,有适用于自然语言处理领域的,都不 适用于图像领域的。Google在2017年发表的一篇论文《Attention is All You Need》[3],试图摆脱CNN和RNN,要我用纯粹的Attention来实现Encoder-Decoder模型的任务,后来取得了非常不错的效果。

分词是自然语言处理中最基础也是最重要的有十个 环节,随着强度学习的发展,不少人开始英文英语 英语 尝试将强度学习应用到有些领域,近两年里也取得了一定的成果。虽然目前在分词、词性标注等任务中普遍使用的还是CRF、HMM等传统算法,后来强度学习所取得的成果意味着着被很多的人所认可,后来不断地在自然语言处理的任务中崭露头角。

序列标注

虽然采用编码器-解码器 (Encoder-Decoder) 形态的模型在机器翻译、语音识别以及文本摘要等诸多应用中均取得了非常不错的效果,但同去也指在着指在问题之处。编码器将输入的序列编码成了有十个 固定长度的向量,再由解码器将其解码得到输出序列,有些固定长度的向量所具有的表征能力是有限的,然而解码器又受限于有些固定长度的向量。后来,当输入序列较长时,编码器好难将所有的重要信息都编码到有些定长的向量中,从而使得模型的效果大打折扣。



原文发布时间为:2018-11-26

图2 “序列到类别模式”的循环神经网络示意图

图3 “同步的序列到序列模式”的循环神经网络示意图

在下一章里,.我歌词 歌词 将使用循环神经网络实现几个完整的项目,在学精使用TensorFlow搭建循环神经网络模型的同去,加深对循环神经网络的理解。



在4-tag字标注法中,有十个 标签,分别是:B、M、E和S。其中B代表有些字是有十个 词的首字,M代表有些字是有十个 词的后边部分(有十个 词意味着着由多个字组成,除了首尾,后边的字都标为M),E代表有些字是有十个 词的最后有十个 字,而S代表这是有十个 单字,不构成词。在类事分词有些序列标注的问题报告 中,每有十个 “时间步”都对应有十个 输入和输出。对于有些问题报告 ,.我歌词 歌词 采用“同步的序列到序列的模式”,如图3所示:

    ●  文本分类    ●  序列标注    ●  机器翻译 ●  Attention-based model ●  RNN系列总结 ●  循环神经网络的应用

目前循环神经网络意味着着被应用在了有些领域,诸如语音识别(ASR)、语音合成(TTS)、聊天机器人、机器翻译等,近两年在自然语言处理的分词、词性标注等工作的研究中,有些乏循环神经网络的身影。在本节中,.我歌词 歌词 将介绍几个较为典型的循环神经网络的应用,以此来了解循环神经网络是如保与.我歌词 歌词 实际的应用场景所结合。

目录:



到这里,本章内容就完整开始英文英语 英语 了。在有些章里,.我歌词 歌词 从最基础的简单形态的循环神经网络开始英文英语 英语 介绍,介绍了循环神经网络的计算过程以及如保使用TensorFlow去实现,又介绍了几种常用的循环神经网络形态;在第四节里,.我歌词 歌词 介绍了循环神经网络所面临的问题报告 ——长期依赖问题报告 ,以及相应的处理方法 ;事先,.我歌词 歌词 介绍了有四种 基于门控制的循环神经网络,这是目前在循环神经网络里使用较多的有四种 网络形态,这有四种 网络形态通过在前后有十个 网络请况之间增加线性的依赖关系,在一定程度上处理了梯度消失和梯度爆炸的问题报告 ;在第六节里,.我歌词 歌词 介绍了循环神经网络的有些应用,并借此介绍了应用在不同任务中时网络形态的不同;最后,.我歌词 歌词 介绍了对传统Encoder-Decoder模型的有四种 改进:Attention-based model。希望进一步了解循环神经网络相关应用的读者,推荐参考本书GitHub项目中派发的相关资源。

用于机器翻译的循环神经网络是有四种 “异步的序列到序列模式”的网络形态,同样是序列到序列的模式,与适用于序列标注的“同步的序列到序列模式”的不同之指在于,“异步的序列到序列模式”的循环神经网络对于输入和输出的序列长度没法限制。在序列标注问题报告 中,每有十个 “时间步”都不 有十个 输入和有十个 对应的输出,后来输入和输出的序列长度相同,然而在机器翻译问题报告 中,.我歌词 歌词 输入的序列长度和输出的序列长度不一定等长。

图4 编码器部分示意图

最简单的编码方法 是直接把网络最后有十个 时刻的请况赋值给,不不 否使用有十个 函数来做变换,函数接收的参数前会 是,不不 否是从到的所有后边请况。在得到后边向量事先,接下来要做的有些解码。有四种 常用的解码方法 如图5(左)所示,模型在解码过程中将编码得到的向量作为解码器的初始请况,并将每有十个 时间步的输出作为下有十个 时间步的输入,直至解码完成。“EOS”是输入和输出序列开始英文英语 英语 的标志。图5右侧所示的是另有四种 解码的方法 ,该方法 将编码得到的向量作为解码器模型每有十个 “时间步”的输入。



“异步的序列到序列模式”的循环神经网络有些.我歌词 歌词 常说的Sequenceto Sequence model,又称为编码器-解码器(Encoder-Decoder)模型。并非 称之为编码器-解码器模型,意味着着.我歌词 歌词 将网络分成了两部分:编码器部分和解码器部分。如图4所示,编码器模型对输入的序列数据进行编码,得到后边向量:



为了处理有些问题报告 ,.我歌词 歌词 引入了注意力机制(Attention),有些引入了Attention机制的神经网络模型又称为Attention-based model。本节.我歌词 歌词 要介绍的Soft Attention Model是有四种 最为常见,使用也较多的注意力模型。为了处理传统的Encoder-Decoder模型中单个定长的编码向量无法保留较长的输入序列中的所有有用信息的问题报告 ,Attention-based model引入多个编码向量,在解码器中有十个 输出对应有十个 编码向量,如图6所示。

本文来自云栖社区合作伙伴“磐创AI”,了解相关信息前会 关注“磐创AI”。

根据应用场景和需求的不同,.我歌词 歌词 大致前会 将循环神经网络的任务分为两类:一类是序列到类别的模式,另一类是序列到序列的模式。其中,序列到序列的问题报告 又前会 进一步的划分为:“同步的序列到序列的模式”和“异步的序列到序列的模式”。接下来.我歌词 歌词 会通过有十个 案例来进一步的了解这有四种 模式。

图8 Attention计算过程示意图





循环神经网络在每有十个 “时间步”都不 有十个 输出,但对于有十个 简单的分类问题报告 ,.我歌词 歌词 不须要没法多的输出,有十个 常用且简单的处理方法 是只保留最后有十个 “时间步”的输出,如图2所示:

不管是使用传统的CRF算法还是使用循环神经网络来训练分词模型,.我歌词 歌词 都须要先对训练数据进行标注。以4-tag字标注法为例,假设.我歌词 歌词 有一段训练样本“北京市是中国的首都”,标注后的数据形式如下:

.我歌词 歌词 以第有十个 编码向量的计算为例,首先用解码器的初始请况分别和编码器中每个时间步的输出计算类事度,得到输出,再通过有十个 softmax运算将转换成概率值,最后由公式计算得到编码向量。接下来再利用解码器中神经网络的输出计算编码向量,以此类推,直到解码过程开始英文英语 英语 。

更具体的Sequence to Sequence模型,前会 阅读Bengio等人在2014年发表的论文[1],以及Google在2014年的一篇论文[2]。



图1 实现文本分类的循环神经网络示意图

文本分类

图5 有四种 不同的解码器模型示意图

假设.我歌词 歌词 要实现有十个 外卖行业的用户评论的情人关系的句子极性分类,如图1所示,.我歌词 歌词 输入到神经网络中的是一段用户对外卖商品的评论。

文本分类目前是自然语言处理(Natural LanguageProcessing,NLP)领域中最常见的问题报告 之一,类事做垃圾邮件检测、用户评论的情人关系的句子极性分析等。序列到类别的模式适用于文本分类问题报告 ,在文本分类问题报告 中,.我歌词 歌词 输入到循环神经网络中的是一段文本,长度为n,神经网络的输出没法有十个 类别,长度为1。