《多语言图像标题自动生成研究.docx》由会员分享,可在线阅读,更多相关《多语言图像标题自动生成研究.docx(39页珍藏版)》请在淘文阁 - 分享文档赚钱的网站上搜索。
1、苏州大学本科生毕业设计(论文)目 录前 言1第一章绪 论21.1研究背景和意义21.2show and tell自动图像描述系统简介31.3主要工作及创新点41.4本文的组织结构5第二章Image Caption自动图像描述技术62.1Image Caption简介62.2相关技术分析62.2.1show and tell模型62.2.2show、attend and tell模型112.2.3使用高级语义特征的模型112.2.4改进了RNN的模型122.2.5基于传统语言建模的模型142.3Image Caption技术总结及展望15第三章机器翻译163.1基于深度学习的统计机器翻译163.
2、1.1基于深度学习的统计机器翻译的核心思想163.1.2基于深度学习的统计机器翻译的优点163.1.3基于深度学习的统计机器翻译的不足163.2end-to-end神经机器翻译173.2.1 神经机器翻译基本结构及发展历史173.2.2 采用注意力机制的神经机器翻译模型183.2.3 神经机器翻译的不足193.3机器翻译研究展望203.4机器翻译技术总结20第四章多语言图像标题自动生成实验214.1Google show and tell自动图像描述系统介绍214.2Transformer翻译方法214.3开始实验234.3.1 总体框架234.3.2 im2txt234.3.3 txt2tx
3、t274.4实验与分析284.4.1实验结果展示284.4.2评价性能304.4.3错误分析324.5本章小结32第五章 总结与展望335.1总结335.2后续工作33参考文献34致 谢35摘 要自动描述图像的内容是结合了计算机视觉和自然语言处理的人工智能的一个基本问题。而机器翻译(又称自动翻译)是利用计算机将一种自然语言转换为另一种自然语言的过程,是人工智能的一大终极目标。若将两者结合利用,必将具有重要的实用价值。Show and tell模型是Google Brain在TensorFlow上开源的一个自动图像描述系统,采用Encoder-Decoder(编码器-解码器)的神经网络架构,可以
4、根据图像中的场景自动生成相应的描述。本文将深入分析Show and tell模型和相关基于Show and tell模型的改进技术以及神经机器翻译的相关技术,并且对比各类技术的优缺点。本文通过该系统实现Image Caption(自动图像描述),并通过神经机器翻译的方法Transformer将得到的描述翻译为中文,使其适用于中文环境。最后对所采用的Transformer方法与Google机器翻译方法进行性能评价。关键词:自动图像描述;机器翻译;翻译方法;模型AbstractThe automatic description of images is a basic problem of art
5、ificial intelligence that combines computer vision and natural language processing. Machine translation, also known as automatic translation, is one of the ultimate goal of artificial intelligence, which uses computers to transform a natural language into another natural language. The combination of
6、 the two will have important practical value.Show and tell model is a Google Brain open source system on TensorFlow, an automatic image description system using the Encoder - Decoder neural network architecture, can according to the image of the scene to automatically generate the corresponding desc
7、ription. This paper will analyze the Show and tell model and related techniques based on the Show and tell model, as well as the related techniques of neural machine translation, and compare the advantages and disadvantages of various technologies. In this paper, Image Caption (automatic Image descr
8、iption) is realized by the system, and the description obtained is translated into Chinese by means of neural machine translation called Transformer, so that it can be applied to the Chinese environment. Finally, the performance evaluation of the Transformer method and the Google machine translation
9、 method is carried out.Keywords: Image Caption; Machine Translation; Translation Methods; Model35前 言Image Caption技术(即自动描述图像内容技术,也称图像标注),指的就是从给定图片中自动生成一段能够描述其内容的文字,有点类似于我们小学里学的“看图说话”。对于人类来说,这是一件简单并且每天都在做的事,然而对于计算机来说,这是一件非常具有挑战性的任务。原因在于计算机面对的不是人们眼睛所看到的景象,而是一个像素矩阵。计算机不仅要在一堆数字中检测出图像中的物体,而且还要理解各个物体之间的相互关
10、系,最终需要用一段文字将一切表述出来。Machine Translation技术(即机器翻译技术),顾名思义,就是利用机器来进行翻译的技术,用于不同语言文字之间的转换。60年来,机器翻译技术不断发展,从最早的词典匹配、到基于词典和语言学知识的规则翻译、再到基于短语的统计机器翻译,最后成长为当前基于人工神经网络的机器翻译。随着计算机计算性能的提升以及大数据时代多语言信息的爆炸式增长,机器翻译技术已渐渐完善,开始在人们的日常生活中扮演一个重要角色,为我们提供便捷的翻译服务。得益于神经机器翻译的迅速发展,看似困难的机器“看图说话”任务迎刃而解。在Image Caption任务中仅仅对神经机器翻译中模
11、型做了简单的修改,便取得了很好的结果。本文主要以Google的基于TensorFlow的show and tell自动图像描述系统为研究对象,并与两种机器翻译方法相结合来完成多语言图像标题自动生成的研究。深入分析了show and tell模型,并对比相关后续先进技术;对比分析Google机器翻译与Transformer翻译方法,并进行实验验证。本文完成的主要工作及创新点有:(1)利用show and tell自动图像描述系统,实现从图片生成描述。(2)分析了Image Caption相关技术的特点。(3)利用Google机器翻译以及Transformer翻译方法进行英译中。(4)对给定语料进
12、行人工标注,生成翻译参考语句。(5)对比Google机器翻译和Transformer翻译方法的模型架构,并通过实验验证其性能。最后得出图片和多语言描述的匹配度,并进行错误分析。第一章绪 论本章首先介绍了多语言图像标题自动生成的研究背景和意义,其次简单介绍了show and tell自动图像描述系统,并概述了本文所做的主要工作和贡献以及创新点,在本章的最后介绍了论文的组织结构。1.1研究背景和意义近年来,信息技术,人工智能不断发展,人们也通过科幻电影来对未来进行展望。电影HER就是一个例子,影片中的“萨曼莎”是一个AI系统,他能够理解主人公西奥多的手机信息和图像内容,了解主人公的状态,在其心情不
13、好时可以陪他谈心,还可以读懂文字,“她”俨然成为了一个真实的人类,甚至在某些方法还更胜人类。电影的“萨曼莎”是人类幻想出来的人工智能,“她”能够思考,同时具备比人还强的智力以及运算能力,虽然目前的人工智能技术还不能完全像电影中一样强大,但近年来人工智能技术让机器具备了人来的能力,例如计算机已经能理解更高层次的图像内容,能够自动描述图像的内容。在人工智能领域,这是机器的 Image Captioning(自动图像描述)能力。在去年11月7日晚,锤子科技发布了坚果 Pro 2。这场发布会感动我的不是坚果Pro 2超高颜值的外观设计,亦或是极具良心的售价,而是锤子坚果Pro 2 新的 Smartis
14、an OS系统,针对盲人用户做出的优化。锤子利用OCR识别技术,把普通手机APP 无法识别的内容通过 OCR 技术转成文字,再把文字通过扬声器读出来。这让许多视障者都能更好使用智能手机。根据2016年的数据显示,中国的盲人数量已经超过1400万,相当于每100个人中就有一个,但却因为无障碍设施的不友好,却很难在街头看到他们的身影。因此许多盲人都对手机、电脑等电子产品和网络有着更深的依赖,这几乎成了他们与外面的世界互动的唯一通道。我们相信如果能将自动图像描述技术与机器翻译结合,便能够让全球的视障人群便捷地读懂世界(不仅仅是有文字标注的世界)。自动图像描述技术的意义也不仅仅在于帮助视障人群,还能应
15、用与我们的日常生活。当我们需要寻找一张时间久远的手机照片时,常常因为数量的庞大无从寻找。在这里,如果系统能够对每张照片都生成一个简单的标题(或是描述),那么我们只需要凭借图像的印象便能够轻松找到对应的照片。得益于近年来机器视觉和自然语言处理的发展以及自动图像描述领域中积累的大量研究,Google Brain基于TensorFlow 深度学习库开发了“Show and Tell”自动图像描述系统,成功地将机器这方面的能力提高到一个新台阶。作为多模态数据处理的经典,自动图像描述技术正逐步成为研究热点。1.2show and tell自动图像描述系统简介Show and tell模型是一个深度神经网
16、络,学习如何描述图像的内容。例如:图1.1 图像描述示例1图1.2 图像描述示例2运行步骤:(1) 硬件及训练时间提示NVIDIA Tesla K20m GPU- 1-2 weeks(2) 必要的安装包Bazel,TensorFlow1.0,NumPy,Natural Language Toolkit,Unzip(3) 准备训练数据MSCOCO图像标注数据集(4) 下载Inception v3 Checkpoint需要一个训练好的Inception v3 Checkpoint文件来初始化编码器(CNN)参数(5) 训练模型分为2步,初始训练和进阶训练(6) 预测标题你可能得到不同的结果,这些差
17、别是正常的。图1.3 示例图片输出实例:Captions for image COCO_val2014_000000224477.jpg: 0) a man riding a wave on top of a surfboard . (p=0.040413) 1) a person riding a surf board on a wave (p=0.017452) 2) a man riding a wave on a surfboard in the ocean . (p=0.005743)1.3主要工作及创新点本文主要以Google的基于TensorFlow的show and tell自
18、动图像描述系统为研究对象,并与两种机器翻译方法相结合来完成多语言图像标题自动生成的研究。实验之前深入分析了show and tell模型,并对比相关后续先进技术;也对机器翻译主要方法进行了分析,而后通过实验对比分析Google机器翻译与Transformer翻译方法。本文完成的主要工作及创新点有:(1)利用show and tell自动图像描述系统,实现从图片生成描述。(2)分析了Image Caption相关技术的特点。(3)利用Google机器翻译以及Transformer翻译方法进行英文-中文的翻译。(4)对给定语料进行人工标注,生成翻译参考语句。(5)对比Google机器翻译和Tran
19、sformer翻译方法的模型架构,并通过实验验证其性能。最后得出图片和多语言描述的匹配度,并进行错误分析。1.4本文的组织结构本文共分为五章,每章内容简介如下:第一章:绪论。本章介绍了多语言图像标题自动生成研究课题的研究背景及意义、show and tell系统简介及模型运行说明、本文的主要工作及主要创新点,最后介绍了本文的组织结构。第二章:本章主要介绍了现在的几种Image Caption自动图像描述技术的原理,并对这些现有技术进行分析对比,最后对Image Caption自动图像描述技术进行了总结。第三章:本章详细介绍并分析了两类基于深度学习的机器翻译方法,并对比其优点与不足,简要概括了当
20、前机器翻译领域的研究热点,并对机器翻译技术进行了总结。第四章:本章主要介绍了Google tensorflow-im2txt-master 自动图像描述系统,接着将把Google自动图像描述系统与两种翻译方法相结合(Google翻译和transformer方法),进行多语言图像标题自动生成研究。对比分析使用不同翻译方法的最后生成标题的性能,以及这两种翻译方法在单独进行英文-中文翻译的性能。第五章:总结全文,提出未来研究展望。第二章Image Caption自动图像描述技术本章详细介绍了发展至今的几种Image Caption自动图像描述技术的原理,并对这些现有技术进行分析对比。2.1Image
21、 Caption简介Image Caption自动图像描述问题其本质就是视觉到语言(Visual-to-Language)或者是图片到文字(Image-to-Text)的问题,用一句简单的话来说就是:看图说话。就像我们小时候在看图说话作业中完成的任务一样,我们希望计算机也能根据给定的图像来生成能够描述其内容的自然语言句子。虽然在我们看来这是在简单不过的事情了,甚至我们时时刻刻都在通过这种方法来理解这个世界,但是对于计算机来说,这不能不称之为一个挑战,因为自动图像描述任务的输入和输出是两种不同形式的信息,即图像信息和文本信息。随着近年来深度学习领域的发展,一种将深度卷积神经网络(Deep CNN
22、)和循环神经网络(RNN)相结合的方法在自动图像描述问题上取得了显著的成功。甚至因为这个方法的成功,许多基于这个方法的自动图像描述研究开始火热。2.2相关技术分析按照技术发展历程,自动图像描述技术分为以下几类:show and tell模型1、show attend and tell模型2、使用高层语义特征的模型3、改进了RNN的模型4和基于传统语言建模方式的模型5。2.2.1show and tell模型Show and tell模型在论文Show and Tell: A Neural Image Caption Generator中提出,这篇论文是Image Caption任务早期的研究作
23、品。模型的主要结构借鉴了机器翻译中的结构,机器翻译的任务是把一种自然语言转换为另一种自然语言。多年来,机器翻译也是由一系列独立的任务完成的(翻译单词、对齐单词、重新排序等),但是最近的研究表明,使用递归神经网络(RNN)可以用更简单的方法进行翻译,而且还能达到最好的性能。一个encoder-RNN(编码器)读取源语句并将其转换为一个复杂的固定长度的向量表示,随后被用作生成目标句子的decoder-RNN(解码器)的初始隐藏状态6,7,8。Show and tell模型把Encoder-Decoder结构做了简单修改,用一个深度卷积神经网络(CNN)代替编码器RNN。在过去的几年研究里,它已经让
24、人们信服,深度卷积神经网络CNNs可以通过将输入图像转换为固定长度的向量,从而产生丰富的输入图像,这种表示法可用于许多视觉任务。因此,使用CNN作为图像的“编码器”,首先将图像放入CNN神经网络进行转换,并将CNN的最后一个layer作为RNN解码器的输入,来生成句子。在统计机器翻译方面,给定一个强大的序列模型,往往通过直接最大化正确翻译的概率的方法来达到最好的结果,即以“end-to-end”的方式。这些模型利用一个RNN神经网络,将输入序列编码到一个固定的维度向量中,并利用这个向量来“解码”到输出序列。因此,可以使用相同的方法,给定一个图像(而不是源语言中的输入句),能够适用于同样的原则,
25、将其“翻译”到它的描述中。通过使用以下公式直接最大化给定图像的正确描述的概率:*=argmaxI,SlogpSI;模型的参数是,I是输入的图像,S是它正确的描述。因为S表示任意一个句子,它的长度是无限的。因此,将链式法则应用于S0,SN的联合概率,N是这个特例的长度:logpSI=t=0Nlogp(St|I,S0,St-1)这里为了方便放弃了对的依赖。在训练时,(S, I)是一个训练样本对,利用随机梯度下降法对整个训练集所描述的对数概率的和进行了优化。接着利用RNN来对p(St|I,S0,St-1)建模,这里达到t-1变量数量的单词用一个固定长度的隐藏状态ht来表示。当看见一个新的输入xt时这
26、个状态会用一个非线性函数来更新:ht+1=fht,xt对于f,我们使用了一个长短期记忆(LSTM)网络,它展现了在诸如翻译这样的序列任务上的出色表现。对于图像的表示,使用卷积神经网络(CNN)。它们已经被广泛地用于图像任务,并且目前是用于对象识别和检测的先进技术。f的选择取决于它处理消失和爆炸梯度的能力,这是设计和训练RNNs最常见的挑战。为了应对这一挑战,引入了一种称为LSTM的特殊形式的周期性网络(图2.1),并在翻译和序列生成中获得了巨大的成功。图2.1 LSTM网络结构LSTM模型的核心是一个记忆单元c,在每个时间步骤中,c记录下在这个步骤前已经观察到的输入。c的行为是由“门”控制的,
27、“门”层是用乘法来进行的,因此,如果门是1,则可以从门禁层中保留一个值,如果门是0,则丢弃这个值。特别地,这里使用了3个门来控制是否忘记当前记忆单元的值(忘记门f),是否读取它的输入(输入门i),以及是否输出新的单元值(输出门o)。三个门的定义如下:it=Wixxt+Wimmt-1ft=(Wfxxt+Wfmmt-1)ot=(Woxxt+Wommt-1)ct=ftct-1+ith(Wcxxt+Wcmmt-1)mt=otctpt+1=Softmax(mt)其中表示门运算符,W矩阵是训练参数。三个门的使用更好的训练了LSTM网络,因为这些门可以很好地处理爆炸和消失的梯度。最后一个方程mt是用来给一个
28、Softmax提供的,它将产生一个关于所有单词的概率分布pt。LSTM模型被训练用来预测句子的每个单词,因为它已经看到了图像以及所有前面的单词,即p(St|I,S0,St-1)。为了这个目的,可以想象LSTM展开形式一份LSTM内存为图像和每个句子的词所创建,这样所有LSTMs就能共享相同的参数, LSTM在时间t1的输出mt-1是LSTM在时间t的输入(图2.2)。图2.2 LSTM和CNN网络结合图所有的重复连接都被转换为在展开的版本中的前馈连接。更详细地说,如果我们用I表示输入图像和S=(S0,SN)描述这幅图像的真实句子,展开过程如下:x-1=CNN(I)xt=WeSt, t0N-1p
29、t+1=LSTMxt, t0N-1在这里,我们把每一个词都表示为维度等于字典大小的一个列向量St。注意,我们用S0表示一个特殊的起始字,并通过SN一个特殊的停止字来指定句子的开始和结束。特别是通过发出停止字,LSTM信号表示已生成完整的句子。图像通过使用一个视觉CNN,单词通过嵌入矩阵We,这样都被映射到相同的空间。LSTM网络只在t=-1时接受图片I的输入。因为作者认为,如果在每个时间t都输入图像,会导致最后结果偏差,因为LSTM网络会捕捉并放大图像中的噪声,而且更容易过拟合。损失函数是每个步骤中正确单词的负对数可能性的和:LI,S=-i=1Nlogpt(St)Show and tell模型
30、通过大量实验被证明是有效的。迄今为止,在图像描述文献中最常用的指标是BLEU评分,它是生成的和参考的句子之间的单词n-g的精度的一种形式。尽管这个指标有一些明显的缺点,但它已经被证明与人类的评价相关联。在官方网站的官方测试集上,show and tell模型的BLEU-4得分为27.2。然而,当使用人类评分员来评估描述时,模型的得分会低得多,这表明需要更多的工作来达到更好的指标。图2.3显示了该模型提供的描述的人类评估结果,以及在各种数据集上的参考系统和事实真相。我们可以看到,show and tell模型比参考系统更好,但显然比预期的事实真相糟糕。这表明BLEU并不是一个完美的度量标准,因为
31、它并没有很好地捕捉到生成的描述和人类描述之间的差异。图2.3 各数据集上的得分对比那么现在的模型是否真的能捕捉图像中的那些从未在训练集中出现的场景并生成新描述,还是只是寻找复述训练集中相关的描述呢。答案是肯定的。现在的自动图像描述系统已经具备自主产生全新的句子能力,例如下图粗体的描述为不在数据库中的标注句子:图2.4 生成的描述这就保证了生成描述的多样性。2.2.2show、attend and tell模型Show, Attend and Tell: Neural Image Caption Generation with Visual Attention论文在原来的Encoder-Deco
32、der机制中引入了两种Attention机制。一种叫HardAttention,一种叫Soft Attention,其中Soft Attention的原理如下。原来的模型中使用CNN在图像中提取了固定长度的向量特征I,而现在的模型利用了CNN的空间特性,给图像的不同位置都提取了一个特征。如果用a=a1,aL表示已经提取的特征,一共为L个,每个位置的特征是一个D维向量。假设卷积层的feature map高和宽为14,通道数为256,那么对应的L=196,D=256。这样的话,解码器(decoder)在解码时就能在这196个位置特征中进行选择,这就是Soft Attention机制。在生成第t个单
33、词时,传入decoder的上下文向量为Zt,这个Zt就是L个位置向量的加权平均,权值t,i决定了在生成第t个单词时,这些位置特征所占的权重。而这个权重由前一个状态ht-1和位置特征ai决定。因为t,i只和已知信息ht-1和ai相关,所以这些参数都可以在数据中自动学习。另外,由于使用了Attention机制,我们还能通过权重系数 t,i的大小,得知每个生成词所对应的图片区域。2.2.3使用高级语义特征的模型2.2.1和2.2.2模型中,都是使用CNN神经网络的卷积特征作为“图像语义”,但这篇文章What Value Do Explicit High Level Concepts Have in
34、Vision to Language Problems?认为,CNN在最终的分类层包含了大量诸如“图中有无人”、“图中有无桌子”这样的高层信息。这种高层语义与最终生成的语句非常相关,不能轻易舍弃。作者把这个高层语义理解为一个多标签分类问题。不同于通常的一对一关系,在自动图像描述任务中,由于一张图片中的物体数目会有很多,因此图片和物体标签就是一个一对多的关系。所以需要对原先的CNN神经网络结构进行适当调整。面对通常的一对一关系中,只需要对卷积特征使用一个softmax,而面对一对多关系中,每有一类物体,就需要使用1个softmax层。设第i张图片的标签 yi=yi1,yic。其中 yij =0或
35、1,1表示该图片具有标签j(如图中有人),0表示该图片不具有标签j(即图中没有人)。又设c个softmax层的输出各个标签的概率 pi=pi1,pic,那么最终的损失就是:J=1Ni=1Nj=1clog(1+exp(-yijpij)在训练时,首先在所有描述中选择出现次数最多的c个单词作为总标签数,而每个图像各自的训练数据从各自描述单词中选择。训练完成后,针对每一张图片提取高层的语义表达向量 Vatt(I) (如下图所示)。其实,这个高层语义向量 Vatt(I) 实际就对应了图像中出现的物体。得到 Vatt(I) 后,就直接将其送入Decoder进行解码。实验证明,使用了高层语义向量 Vatt(
36、I)可以大幅提高模型效果。图2.5 使用高层语义的模型结构如在上图中,蓝色的线就是之前直接使用的卷积特征 CNN(I) ,而红色线就是这篇文章提出的 Vatt(I) 。2.2.4改进了RNN的模型Minds Eye: A Recurrent Visual Representation for Image Caption Generation中改进了decoder部分的RNN结构,让RNN网络不仅能将图像描述为文字,还能反过来从文字得到图像特征,同时还得到了性能的提升。图2.6 改进了RNN结构的模型上图就是改进过的Decoder RNN结构。其中v是图像特征,St是t时刻RNN网络的隐层状态,
37、Wt是时间t时生成的单词。V, St, Wt都是之前的模型中存在的,而作者又新加入了ut和v。其中ut表示的是“已经生成的文字”的隐变量,作用是记住已经生成单词中包含的信息。这个量在每次生成Wt时都会使用到,作为给模型的提示。此外,作者还要求在每个阶段都可以使用ut去还原视觉信息v,通过ut计算的视觉信息就是v,在训练尽可能要求vv,换句话说,我们已经生成的文字都要尽可能地去表达视觉信息,才能做到这样的还原。之前建模的都是P(Wt|v,Wt-1,ut-1),即给定图像信息和已生成的单词来找寻下一个单词,而该论文建模的是P(Wt,v|Wt-1,ut-1),由于是 Wt,v 的联合分布,因此我们不
38、仅可以生成文字,还可以反过来利用文字生成图像特征。图2.7 生成文字的过程图2.8 文字生成图像特征的过程生成文字的过程如上图2.7,反过来生成图像特征的过程如上图2.8。2.2.5基于传统语言建模的模型与上面4种方法不同,From Captions to Visual Concepts and Back这篇论文没有采用encoder-decoder架构,而是基于传统语言建模方式。在图像特征提取方面,这篇文章和What Value Do Explicit High Level Concepts Have in Vision to Language Problems?类似,先从图像中提取相关单词
39、,再把单词组织为句子。不同点在于,上节的模型利用多标签学习的方式,而这个模型采用多示例学习(Multiple Instance Learning)的方法,这个方法不仅可以从图像中提取相关单词,而且可以找到单词对应的图像区域。多示例学习是一种半监督算法。可以这样设想:有很多个数据包(bag),每个bag中有很多示例(instance)。现在只有对bag的正负类标记,而没有对bag中各个instance的正负例标记。正负判定规则如下:如果一个包里有一个instance是正类,那么这个bag即为正,只有当bag里面的所有instance都是负类时,bag才为负。作者的目标就是训练一个分类器对inst
40、ance的正负进行判别。在这篇论文中,就是使用多示例学习来处理从图片出提取单词这一问题。在这个场景中,如果一个图片存在某个区域(instance)为正(指的就是存在某个生成词),那么这个图片(bag)就为正(指的就是图片描述中含有某个生成词)。由此,作者使用多示例学习方法进行两步迭代,第一步是选出正例bag中最有可能是正例的instance、以及负例bag的instance,第二步是利用选出的instance进行训练,更新训练。如此迭代,就可以对图片的区域进行分类了。这样就可以从图片的区域中提取相关的单词(如下图)。图2.9 从图像中提取单词在图像中提取出相关单词后,采用一种传统的方法来进行语
41、言建模。设集合V中存有图片中提取的单词, w1,w2,w3,是自动生成的图片描述,目标就是去建模P(wl|w1,w2,wl-1,Vl),其中VlV,表示生成第l个单词时,还没有使用的单词。建模 P(wl|w1,w2,wl-1,Vl) 的方法是使用一些特征提取函数从 wl,w1,w2,wl-1,Vl 这些单词中提取一些特征,如文中使用了 wi 是否属于Vl、n-Gram关系等特征,每个特征提取函数设fk,对每个要生成的单词,就可以得到一个得分kkfkwl,w1,wl-1,Vl,最后利用softmax函数将得分转换为概率并生成最终的单词。2.3Image Caption技术总结及展望本章选取了Im
42、age Caption领域中比较重要的5篇文章进行了介绍。第一篇论文首先使用了Encoder-Decoder结构对此问题进行建模,接下来三篇文章分别从不同的角度对第一篇论文做出了改进。最后介绍的论文并没有采用Encoder-Decoder结构,而是采用传统的方式对语言进行建模,也具有一定启发意义6。部分模型完成的自动评价标准得分已高于人类的分,但并不代表实际描述语句就比人类描述语句水平高7。想要更好地解决自动图像描述问题,还需要:(1)与人类评价相关性更高的自动评价标准;(2)更大的数据集;(3)在图像分析部分,语言生成部分,或者两个部分的连接方式上出现新的模型或思路。第三章机器翻译机器翻译技
43、术是研究利用计算机进行自然语言转换的技术,是人工智能(AI)和自然语言处理(NLP)的重要研究领域。自2013年提出了神经机器翻译系统之后,神经机器翻译系统取得了很大的进展。当以BLEU值作为评测指标时,神经机器翻译在绝大多数语言上优于传统的统计机器翻译。因此,本章详细介绍并分析了两类基于深度学习的机器翻译方法,并对比其优点与不足。3.1基于深度学习的统计机器翻译3.1.1基于深度学习的统计机器翻译的核心思想基于深度学习的统计机器翻译仍旧以统计机器翻译为主体,使用深度学习改进其中的关键模块,如语言模型、翻译模型、调序模型、词语对齐等,取得了显著的效果。3.1.2基于深度学习的统计机器翻译的优点
44、深度学习有效缓解了数据稀疏的问题。以语言模型为例,传统的语言模型通常采用n-gram方法来极大似然估计训练参数,然而多数n-gram在语料库中只出现一次,因此无法准确估计模型参数。美国BBN公司的Jacob Devlin等人提出了神经网络联合模型(Neural Network Joint Models),将源语言端的相关部分也加入到了当前词的n-gram模型中。因此该联合模型能够使用到丰富的上下文信息(包括目标语言端的历史信息和源语言端的相关部分),性能得到了显著提升。使用深度学习还能够解决特征难以设计的问题。传统的方法无法从众多的词语中选择出能够决定调序次序,也不能充分利用到整个词串。而基于
45、神经网络的调序模型通过递归自动编码器生成词串的分布式表示,随后建立神经网络分类器来缓解特征设计的问题。实验证明,深度学习不仅能产生出新的特征,还能在现有特征集合中生成新的特征集合,大大提高了翻译模型的表达能力。3.1.3基于深度学习的统计机器翻译的不足虽然利用深度学习使得传统机器翻译得到了性能的提升,但仍然面临如下的难题。(1)线性不可分主体依旧是传统机器翻译的线性模型,面对高维数据存在线性不可分的问题。而将线性模型转换为非线性模型的方法并没有取得成功。(2)非局部特征深度学习产生的新特征是非局部的,无法设计出高效的动态规划算法。3.2end-to-end神经机器翻译3.2.1 神经机器翻译基
46、本结构及发展历史神经机器翻译(Neural Machine Translation)是指利用神经网络将源语言映射为目标语言的机器翻译方法。与上一节中的利用深度学习改进传统统计机器翻译中关键模块的方法不同,神经机器翻译的方法简单又直观。神经机器翻译采用了“编码器-解码器”(encoder-decoder)的新框架。首先使用了一个神经网络(被称为encoder)将源语言文本映射为一个连续的、稠密的向量(后文称为上下文向量),然后再使用一个神经网络(被称为decoder)把这个向量转换为目标语言文本。下图是神经机器翻译“编码器-解码器”结构9,10。图3.1 神经机器翻译结构神经机器翻译的建模思想其
47、实由来已久。早在上世纪90年代,西班牙阿利坎特大学的Forcada和eco就已经提出“编码器-解码器”的结构并应用于翻译。得益于深度学习的发展,英 国 牛 津 大 学 的 Nal Kalchbrenner 和 PhilBlunsom 于 2013 年首先提出了端到端神经机器翻译方法。2014年,Google公司的Sutskever将长短期记忆LSTM(Long Short-Term Memory)网络引入神经机器翻译。LSTM网络使用了3个门(忘记门f,输入门i,输出门o),这些门使得LSTM的训练成为可能,解决了训练普通RNN时遇到的“梯度消失”和“梯度爆炸”问题,并能够实现长距离依赖。随后,Yoshua Bengio 研究组在前者的研究基础上又引入了注意力机制,并显著提升了翻译性能。3.2.2 采用注意力机制的神经机器翻译模型图3.2 采用注意力机制的神经机器翻译模型所谓注意力机制,就是解码器在生成某一个目标词语时,仅仅关注那些与之相关的源语言部分。例如,在上图中,当生成目标词“election”时,实际上源语言中只有“大选”和它有关。因此,作者希望给每一个即将生成的目标词自动选择相关的上下文向量,而不是整个源语言句子所生成的向量。此外,解码器使用了双向循环神
限制150内