Auto Byte

专注未来出行及智能汽车科技

微信扫一扫获取更多资讯

Science AI

关注人工智能与其他前沿技术、基础学科的交叉研究与融合发展

微信扫一扫获取更多资讯

夏应策作者

ICML 2018 | 模型层面的对偶学习

编者按:很多人工智能任务都具有对偶的性质,例如中文到英文翻译和英文到中文翻译、语音识别语音合成等。基于此,微软亚洲研究院在2016年提出了对偶学习,利用任务互为对偶的特点从无标注的数据中进行学习。事实上,对偶性不仅存在于数据层面,也存在于模型的层面。因此微软亚洲研究院在ICML 2018上提出了一个全新的角度——在模型层面来研究对偶学习。模型层面的对偶学习能够利用一个模型来解决一组对偶任务,该方法在神经机器翻译和文本分析两个任务上都被验证了其有效性。

多个任务联合学习被机器学习领域广泛地接受,特别是在数据不足,或者任务之间关联性很强的场景下。研究人员提出了多种不同的学习框架,例如多任务学习(multi-task learning)、迁移学习、对偶学习等。多任务学习的思想是让多个相关任务之间通过参数共享的方式实现特征表述,或是关系表述的共享,其能够成功的原因在于多个任务之间知识能够互相传递,从而提升了模型的泛化能力迁移学习是另一种将知识在任务之间互相迁移的学习方法,目的是将一个已经学习好的模型迁移到另一个任务中。

微软亚洲研究院机器学习组在NIPS 2016上提出的对偶学习事实上也是多个任务之间通过互相协作提高模型性能的工作。最初的对偶学习方法可以总结为数据层面的对偶,也就是所有的对偶信息都是通过数据为媒介传递的。而在很多任务中(例如神经机器翻译、对话生成等),模型的不同部分已经具备了对偶的性质,以神经机器翻译为例:通常的神经机器翻译模型都是利用了编码器-解码器(encoder-decoder)的结构,我们在下图抽象了以递归神经网络(LSTM)为例的神经机器翻译过程。

图1 标准的基于编码器-解码器神经机器翻译的结构(黑色框表示一个单位时间的延迟)

神经机器翻译过程可以用如下数学公式描述:

在原始任务中,编码器服务于编码x而不需要任何外部条件;在对偶任务中,解码器用于解码x,基于得到的文本信息ZY。也就是说,给定一对对偶任务,原始任务的编码器和对偶任务的解码器高度相关,因为它们都是为了处理同一种语言,只是依赖的条件不同。

受到多任务学习中共享表述的启发,我们提出共享对偶任务中相关的模型参数,即对于神经机器翻译,做如下设置:

我们将这种方法称为模型层面的对偶学习(model-level dual learning,缩写为MDL)。

除了类似于神经机器翻译这种严格对称的模型,模型层面的对偶学习同样适用于非对称的机器学习任务。以情感分类为例,原始任务是判断一个句子具有积极情感还是消极情感,解决这个任务的网络结构是:输入的句子会被长短期记忆网络(LSTM)逐词编码得到隐状态,而后这些隐状态会被输入到一个全连接网络进行分类。对偶任务是给定一个标签,生成具有特定感情色彩的回复。在对偶任务中,标签首先会被单词嵌入投射到一个特定的空间,而后,另一个LSTM会基于这个标签产生一个句子。在这个非对称的任务中,原始任务的编码器和对偶任务的解码器可以被共享。这可以视为我们提出的模型的一种退化形式——只需要设置

模型框架

我们考虑建立在两个空间xy之间的对偶任务,其中,原始任务是学习映射f:xy,对偶任务是学习反向的映射g : yx。

对于对称的场景,xy中的元素形式相同,因而有可能使用相同的模型结果来对对偶学习中的两个任务进行建模。例如,在神经机器翻译和Q&A中,xy中元素都是自然语言的句子,因此我们都可以用LSTM来为fg进行建模。

X-元素和Y-元素示意图

原始模型,其中

对偶模型,其中

图2 对称条件下,模型层面的对偶学习模型结构的有向图(黑色的框表示一个单位的延迟,图中结点对应变量,有向边对应算子,其中箭头指向的点为输出,另一端为输入)

在非对称的场景中,xy中的元素不对等,甚至语义空间也不同,因此,原始和对偶任务的模型也不尽相同。例如,在情感分类的任务中,x是自然语言的集合,而y是标签的集合,例如,y={0,1}。xy的异质性使得我们要使用不同的模型结构。

图3 非对称条件下模型层面对偶学习的框架

在模型层面的对偶学习中,原始模型和对偶模型的参数是共享的,意味着模型有着更少的参数,因此这种方法也可以看作是一种全新的模型压缩的办法。另外,对于给定的一对有标数据(x, y),模型的每一部分都被更新两次,分别来自原始任务和对偶任务。因此,相比于标准的有监督学习,数据会被利用的更加充分。最后,由于参数的共享,两个模型的复杂度被降低了,因此会有更好的泛化能力

模型层面对偶学习在神经机器翻译中的应用

我们在神经机器翻译任务中对模型层面的对偶学习方法进行测试,选用Transformer作为实验的模型,Transformer是由一个基本模块不断堆叠得到的一个完整模型。一个基本模块包括三个部分:(1)自我注意力机制,用于将底层的隐藏表达自适应地线性加权并提交给上一层;(2)编码器-解码器注意力机制:用于自适应地将编码器端的隐藏表达加权得到相应地文本信息;(3)非线性变换层,用于对自我注意力机制和编码器-解码器注意力机制的输出进行非线性变换。

下图展示了Transformer中的基本模块和前面介绍的模型的对应关系。

图4 模型层面的对偶学习在神经机器翻译任务中的模型结构

该实验中,我们选择了三个广泛应用的数据集作为训练数据:

  • IWSLT 2014的德英互译的任务 (153k训练数据),简记为IWSLT De↔En;

  • LDC的中英互译任务(1.25M训练数据),简记为Zh↔En;

  • WMT14的英德互译任务(4.5M训练数据),简记为WMT En↔De。 

测试数据:

  • 对于IWSLT De↔En,我们选用和表1列出的对比算法一样的测试集;

  • 对于Zh↔En,我们选用NIST2004、2005、2006、2008和2012作为测试集;

  • 对于WMT En↔De,我们选取newstest14为测试集。

我们将所有的实验模型设置为6个模块。对于IWSLTDe↔En任务,我们选择transformer_small参数配置办法,其余两个任务选择的配置均为transformer_big。同时,我们使用对偶有监督学习作为对比算法。

IWSLT De↔En的实验结果如下表:

表1 IWSLT De↔En的实验结果

在IWSLT De↔En任务中,我们得到了德文到英文的最佳结果34.71。相比于基准算法Transformer,我们在原始任务德文到英文和对偶任务英文到德文上分别提高了1.85和0.90个点。相比于对偶有监督学习,我们的方法能够分别获得1.13和0.73个点的提升。

为了进一步探索新模型如何随着模型复杂度变化而工作,我们研究了随着网络模块数的变化,BLEU值的变化。我们分别测试了含有2、4、6、8个模块的模型的BLEU值(注意每个模块含有3层)。测试的结果如下图所示:

图5 BLEU随着模型模块数的变化

通过实验,我们发现:

(1)对于不同的模块数目以及不同的任务,我们提出的算法都能够提高模型的性能;

(2)当模型的模块数小于6的时候,在两个方向的翻译任务上,随着模块数的增加,模型层面的对偶学习提升的性能(图中绿色部分)会提升。这说明,虽然更深的模型有更强的表达力,但可能会受到过拟合的影响,特别是在数据量比较小的IWSLT数据集上。我们提出的方法能将对偶性引入模型中约束模型空间,并且能够更加充分地利用数据;

(3)即便是对于具有8个模块的网络,我们的方法仍然能够提升模型性能,尽管没有6个模块带来的提升明显。在这种情况下,为了带来更大的提升,我们需要引入更强的泛化性能的约束,例如采用对偶有监督学习

中英互译的结果如下表:

表2 中英互译的实验结果

在中文到英文的翻译任务中,模型层面的对偶学习利用更简单的模型和更少的数据,再一次取得了最好的效果。在Transformer的算法之上,我们的方法平均给每个数据集带来1.21个点的性能提升,同时也超越了对偶有监督学习算法的表现。对于英文到中文的翻译任务,相比于基准算法,我们的方法在每个数据集上平均取得0.69个点的增益。

最后,在WMT英德互译的任务上,模型层面的对偶学习能够在Transformer的基础上将模型的性能进一步提升0.5个点。实验结果如下表:

表3 WMT英德互译的实验结果

模型层面的对偶学习在情感分析中的应用

在情感分析中,原始任务是情感分类,对偶任务是带有情感的句子生成。x是自然语言的集合,y是标签的集合。因此,两个空间的数据形式和语言完全不同。所以,我们要采用非对称形式的模型层面的对偶学习。

我们在IMDB数据集上进行了验证。我们选用标准的LSTM网络作为原始任务和对偶任务模型的基本单元。模型的单词嵌入和情感标签的嵌入表达均为500维,隐藏层节点数为1024,词表的大小是10k,Dropout的值设置为0.5。我们将softmax矩阵和单词嵌入矩阵(包括单词的和情感标签的)共享。实验结果如下表:

表4 情感分析的实验结果

在原始任务中,相比于标准的LSTM,模型层面的对偶学习能够将错误率下降2.69个百分点;相比于对偶有监督学习,我们的方法也能将错误率下降1.79个百分点。在对偶任务中,模型层面的对偶学习能够比对偶有监督学习下降3.19个点。

与对偶推断的结合

对偶推断是我们在IJCAI 2017上提出的将对偶性应用到推断的过程中,用来提升已有对偶模型推断/预测准确度的方法。为了进一步提升模型效果,我们将对偶推断和模型层面对偶学习进行结合。

模型层面的对偶学习和对偶推断结合的结果如下:

分别对应原始任务和对偶任务的损失函数是经过验证集确定的参数

我们在IWSLT德英互译任务上验证了模型层面的对偶学习和对偶推断结合的性能,实验结果如下表:

表5 模型层面对偶学习和对偶推断结合在IWSLT德英互译任务上的实验结果(第三行表示标准的Transformer在标准推断和对偶推断的结果;第四行表示模型层面的对偶学习在标准推断和对偶推断下的结果)

可以看出,对偶推断可以将我们提出的算法在两个任务上分别提升0.48个点(德文到英文)和0.19个点(英文到德文)。对偶推断也能为标准Transformer分别带来0.66和0.10个点的提升。

我们同样在情感分类任务中测试了模型层面对偶学习和对偶推断结合的性能。下表展示了对偶推断在IMDB数据集的分类错误率:

表6 模型层面对偶学习和对偶推断结合在情感分类任务上的实验结果

从表格中可以看出,在使用了对偶推断之后,我们可以将错误率下降0.45个点。

总结来说,模型层面的对偶学习可以与数据层面的对偶学习形成互补。这种新的方法利用模型层面的对偶性来设计网络结构,进而提升网络性能。同时,模型层面的对偶学习可以用一个模型解决一组对偶任务,能够起到节省参数量的作用。

论文链接:

http://proceedings.mlr.press/v80/xia18a.html

微软研究院AI头条
微软研究院AI头条

专注科研19年,盛产黑科技

入门ICML 2018对偶学习
相关数据
机器学习技术

机器学习是人工智能的一个分支,是一门多领域交叉学科,涉及概率论、统计学、逼近论、凸分析、计算复杂性理论等多门学科。机器学习理论主要是设计和分析一些让计算机可以自动“学习”的算法。因为学习算法中涉及了大量的统计学理论,机器学习与推断统计学联系尤为密切,也被称为统计学习理论。算法设计方面,机器学习理论关注可以实现的,行之有效的学习算法。

神经机器翻译技术

2013 年,Nal Kalchbrenner 和 Phil Blunsom 提出了一种用于机器翻译的新型端到端编码器-解码器结构 [4]。该模型可以使用卷积神经网络(CNN)将给定的一段源文本编码成一个连续的向量,然后再使用循环神经网络(RNN)作为解码器将该状态向量转换成目标语言。他们的研究成果可以说是神经机器翻译(NMT)的诞生;神经机器翻译是一种使用深度学习神经网络获取自然语言之间的映射关系的方法。NMT 的非线性映射不同于线性的 SMT 模型,而且是使用了连接编码器和解码器的状态向量来描述语义的等价关系。此外,RNN 应该还能得到无限长句子背后的信息,从而解决所谓的「长距离重新排序(long distance reordering)」问题。

词嵌入技术

词嵌入是自然语言处理(NLP)中语言模型与表征学习技术的统称。概念上而言,它是指把一个维数为所有词的数量的高维空间嵌入到一个维数低得多的连续向量空间中,每个单词或词组被映射为实数域上的向量。

参数技术

在数学和统计学裡,参数(英语:parameter)是使用通用变量来建立函数和变量之间关系(当这种关系很难用方程来阐述时)的一个数量。

损失函数技术

在数学优化,统计学,计量经济学,决策理论,机器学习和计算神经科学等领域,损失函数或成本函数是将一或多个变量的一个事件或值映射为可以直观地表示某种与之相关“成本”的实数的函数。

语音合成技术

语音合成,又称文语转换(Text to Speech)技术,是将人类语音用人工的方式所产生,能将任意文字信息实时转化为标准流畅的语音朗读出来,相当于给机器装上了人工嘴巴。它涉及声学、语言学、数字信号处理、计算机科学等多个学科技术,是信息处理领域的一项前沿技术,解决的主要问题就是如何将文字信息转化为可听的声音信息,也即让机器像人一样开口说话。

注意力机制技术

我们可以粗略地把神经注意机制类比成一个可以专注于输入内容的某一子集(或特征)的神经网络. 注意力机制最早是由 DeepMind 为图像分类提出的,这让「神经网络在执行预测任务时可以更多关注输入中的相关部分,更少关注不相关的部分」。当解码器生成一个用于构成目标句子的词时,源句子中仅有少部分是相关的;因此,可以应用一个基于内容的注意力机制来根据源句子动态地生成一个(加权的)语境向量(context vector), 然后网络会根据这个语境向量而不是某个固定长度的向量来预测词。

验证集技术

验证数据集是用于调整分类器超参数(即模型结构)的一组数据集,它有时也被称为开发集(dev set)。

神经网络技术

(人工)神经网络是一种起源于 20 世纪 50 年代的监督式机器学习模型,那时候研究者构想了「感知器(perceptron)」的想法。这一领域的研究者通常被称为「联结主义者(Connectionist)」,因为这种模型模拟了人脑的功能。神经网络模型通常是通过反向传播算法应用梯度下降训练的。目前神经网络有两大主要类型,它们都是前馈神经网络:卷积神经网络(CNN)和循环神经网络(RNN),其中 RNN 又包含长短期记忆(LSTM)、门控循环单元(GRU)等等。深度学习是一种主要应用于神经网络帮助其取得更好结果的技术。尽管神经网络主要用于监督学习,但也有一些为无监督学习设计的变体,比如自动编码器和生成对抗网络(GAN)。

映射技术

映射指的是具有某种特殊结构的函数,或泛指类函数思想的范畴论中的态射。 逻辑和图论中也有一些不太常规的用法。其数学定义为:两个非空集合A与B间存在着对应关系f,而且对于A中的每一个元素x,B中总有有唯一的一个元素y与它对应,就这种对应为从A到B的映射,记作f:A→B。其中,y称为元素x在映射f下的象,记作:y=f(x)。x称为y关于映射f的原象*。*集合A中所有元素的象的集合称为映射f的值域,记作f(A)。同样的,在机器学习中,映射就是输入与输出之间的对应关系。

监督学习技术

监督式学习(Supervised learning),是机器学习中的一个方法,可以由标记好的训练集中学到或建立一个模式(函数 / learning model),并依此模式推测新的实例。训练集是由一系列的训练范例组成,每个训练范例则由输入对象(通常是向量)和预期输出所组成。函数的输出可以是一个连续的值(称为回归分析),或是预测一个分类标签(称作分类)。

迁移学习技术

迁移学习是一种机器学习方法,就是把为任务 A 开发的模型作为初始点,重新使用在为任务 B 开发模型的过程中。迁移学习是通过从已学习的相关任务中转移知识来改进学习的新任务,虽然大多数机器学习算法都是为了解决单个任务而设计的,但是促进迁移学习的算法的开发是机器学习社区持续关注的话题。 迁移学习对人类来说很常见,例如,我们可能会发现学习识别苹果可能有助于识别梨,或者学习弹奏电子琴可能有助于学习钢琴。

过拟合技术

过拟合是指为了得到一致假设而使假设变得过度严格。避免过拟合是分类器设计中的一个核心任务。通常采用增大数据量和测试样本集的方法对分类器性能进行评价。

语音识别技术

自动语音识别是一种将口头语音转换为实时可读文本的技术。自动语音识别也称为语音识别(Speech Recognition)或计算机语音识别(Computer Speech Recognition)。自动语音识别是一个多学科交叉的领域,它与声学、语音学、语言学、数字信号处理理论、信息论、计算机科学等众多学科紧密相连。由于语音信号的多样性和复杂性,目前的语音识别系统只能在一定的限制条件下获得满意的性能,或者说只能应用于某些特定的场合。自动语音识别在人工智能领域占据着极其重要的位置。

多任务学习技术

堆叠技术

堆叠泛化是一种用于最小化一个或多个泛化器的泛化误差率的方法。它通过推导泛化器相对于所提供的学习集的偏差来发挥其作用。这个推导的过程包括:在第二层中将第一层的原始泛化器对部分学习集的猜测进行泛化,以及尝试对学习集的剩余部分进行猜测,并且输出正确的结果。当与多个泛化器一起使用时,堆叠泛化可以被看作是一个交叉验证的复杂版本,利用比交叉验证更为复杂的策略来组合各个泛化器。当与单个泛化器一起使用时,堆叠泛化是一种用于估计(然后纠正)泛化器的错误的方法,该泛化器已经在特定学习集上进行了训练并被询问了特定问题。

推荐文章
暂无评论
暂无评论~