学界 | ACL论文精彩论文演讲:simGAN+domain tag训练出表现优异的半监督问答模型(图文全文)

AI 科技评论按:虽然ACL 2017已经落下帷幕,但对精彩论文的解读还在继续。下面是 AI 科技评论在ACL现场记录的Zhilin Yang的报告。Zhilin Yang 是卡耐基·梅隆大学计算机学院语言技术研究院的一名博士生,William W. Cohen和Ruslan Salakutdinov两位大牛的高徒。

目前,QA对数据集的获取需要人工标注,这往往代价比较大。Z Yang他们提出了一种半监督的Generative Domain-Adaptive Nets模型,通过引入GAN和domain tag,同时利用标注的数据和未标注数据训练模型,能够得到很好的效果。

图文分享总结

大家好,我是Zhilin Yang,下面我将要讲的是半监督问答。这项工作是我与Junjie Hu,Ruslan Salakhutdinov 和William W. Cohen共同完成的。

动机及问题

近来在QA方面出现了很多神经网络模型。这些模型一般面临一个问题,即要想训练好就需要大量的训练数据。目前有一些这样的数据库,例如SQuAD等,他们通过人工来生成问答对。这种数据库收集是非常耗时耗力的。也有一些无监督模型来做这种自动问答对生成,它们会使用多层RNN、关注、匹配等技术,但这种模型一般较为庞大。

一边是比较耗时耗力的人工问答对,一边是可以从Wikipedia上大量下载的未标记文本。那么我们就自然想到“半监督问答”。

所谓“半监督问答”就是,用少量标记的问答对和大量未标记的文本来训练问答模型,由未标记文本来提升问答的表现。

但我们会遇到几个困难。首先,标准的半监督学习(semi-supervised learning)方法在这里并不适用。我们比较一下半监督学习的问答设置和标准设置,我们可以看到数据格式是不一样的,例如标记数据中,标准设置只有(x, y)两项,而问答设置则有段落、问题和答案三项。所以我们不能使用标准的半监督学习算法,只能自己另开发出一种新的方法了。

第二个困难是,我们只有少量的标记数据可用,我们该如何利用未标记的文本来提升问答模型的表现呢?

半监督问答模型

针对前面两个问题,我们采用一种修改版的生成对抗网络的方法来构建一个半监督问答模型。首先,我们从未标记的文本出发,我们使用NLP标记以及一些规则从文本中生成可能的“答案”(answers)。我们应该注意这里的标记方式和规则是固定的。随后我们会通过一个问题生成器利用“段落”和“答案”来自动生成“问题”。于是“段落”、“问题”和“答案”就可以视为一个“标记”的数据组了。我们利用这个数据组来训练问答模型中的判别器。不过有几个问题需要解决。首先我们注意到模型生成的数据组和人类注解数据组其分布是不一样的。其次,我们该如何将生成器和判别器连接起来?

针对第一个问题,我们采用域标记的方式来把模型生成的数据和人类生成的数据区分开来。我们用“true”标签来表示人类标记数据,用“fake”标签来表示未标记数据(或模型生成数据)。

如何将生成器和判别器连接起来呢?我们使用自动编码器将“段落”自动编码成一个“01”序列,选为“答案”的部分则为“1”,否则为“0”。通过生成器生成“问题”,随后产生的“答案”也将是“段落”中的“1”。通过比较前后两次“答案”的序列的重合度将得到损失函数。

这张图显示了我们如何通过生成对抗网络来训练半监督问答模型的。首先我们未标记的“段落”和用生成器生成的“问题”来训练辨别器,注意这里用的域标签是“fake”。在右侧的图中,我们训练生成器,不过这里用“true”标签来替代“fake”标签,也即用人类标记的“段落”和“问题”。这种结果对抗训练的结果可以用辨别器对问题答案判别的概率来测量。

这是生成域对抗网络(GDAN)模型的数学公式。模型中,我们选用gated-attention reader来作为辨别器,用seq2seq模型来作为生成器。

模型训练

在我们的GDAN模型中,如果训练没有停止,那么首先我们固定生成器,通过域标签为“fake”的数据,用最陡梯度下降法(SGD)来更新辨别器。另一方面,我们固定辨别器,通过域标签为“true”的数据,用用增强学习法(Reinforce)和最陡梯度下降法来更新生成器。

实验及结果分析

接下来,让我们看一下试验。

我们选取SQuAD的数据作为标记数据,取10%作为测试集。未标记数据则来自Wikipedia,我们从Wikipedia上采集一百万个“段落”,并生成五百万的“答案”,这个量大概是SQuAD的50倍。我们选取四种模型作为对比,分别为SL(监督学习)、Context(使用附近单词作为问题)、GAN(用GAN生成器训练)、AE(用自动编码目标训练)。

这是我们试验的结果。第一列Labeling rate是我们标记数据使用率。这里0.1,是使用了8000条标记样本。从中可以看到我们的模型无论是F1-score(测试精确度的一种测量)还是EM(Exact matching)上都优于其他几个模型。

我们先来看与SL模型的对比。我们看到当标记数据使用率为0.1时,我们的模型F1-score要比SL模型高出10%,EM高出7%。当数据使用率为0.2时,仍然能够F1仍然高出7%,EM高出6%。所以我们的模型要远远优于监督学习模型。

与其他几种模型相比,精确度方面也有很大的提升。

甚至,我们看,当SL模型使用了0.2的数据时,其模型精度也没有我们使用0.1数据时的精度高。所以我们的模型即使只使用一半的数据,仍然比SL模型好。

不过有一个问题是,当标记数据较为丰富时,想要通过增大未标记数据的量很难提升模型的表现。我希望我们以后能解决这个问题。

这张图中展示的是生成的“问题”样本,其中,“Ground truth question”是人工标记的“问题”,“MLE”表示通过最大似然估计方法生成的“问题”,“RL”表示通过增强学习方法生成的“问题”。我们看到,相比于MLE方法生成的“问题”,RL方法生成的“问题”包含更多的信息,更少的“UNK”(unknown)标识。

在这里我们也会看到在生成的“问题”中包含着一些语法错误。不过我们要强调,只要它能够在QA模型中提升模型的表现,出现这些语法错误并没有关系。

在这张图上我们能更好地看到,随着未标记数据量的增加,生成问答对的训练损失函数将会迅速减下。当数据量达到一定值后,损失函数下降就不怎么明显了。另外,我们还可以看到RL方法要比MLE方法更优,这主要就是对抗训练的结果。

结论

我们在此做一个总结。我们使用少量标记问答数据和大量未标记文本数据设计一个半监督问答模型,这个模型使用了生成对抗模型,不同的是我们增加了域条件来进行对抗增强训练。我们使用Wikipedia文本和SQuAD标记数据来训练模型,我们的结果显示在标记数据较少的时候可以有高达10%的增益。

最后一张,这个网址里有我们所使用的数据。感兴趣的话可以下载下来使用。谢谢大家!

<完>

原文发布于微信公众号 - AI科技评论(aitechtalk)

原文发表时间:2017-08-13

本文参与腾讯云自媒体分享计划,欢迎正在阅读的你也加入,一起分享。

发表于

我来说两句

0 条评论
登录 后参与评论

相关文章

来自专栏大数据风控

评分卡模型开发-数据集准备

在缺失值和处理完成后,我们就得到了可用作信用风险评级模型开发的样本总体。通常为了验证评级模型的区分能力和预测准确性,我们需要将样本总体分为样本集和测试集,这种分...

2489
来自专栏SIGAI学习与实践平台

理解生成模型与判别模型

我们都知道,对于有监督的机器学习中的分类问题,求解问题的算法可以分为生成模型与判别模型两种类型。但是,究竟什么是生成模型,什么是判别模型?不少书籍和技术文章对这...

1012
来自专栏大数据挖掘DT机器学习

银行风控案例:Logistics模型预测银行贷款违约

在面试中会经常碰到考察对数据挖掘算法的熟悉程度,面试官会出一道题或给出一些数据,让你结合实际谈谈你选择什么模型,该模型的大致原理是什么,使用条件有哪些,模型优缺...

45212
来自专栏专知

主流机器学习算法简介与其优缺点分析

机器学习算法的分类是棘手的,有几种合理的分类,他们可以分为生成/识别,参数/非参数,监督/无监督等。 例如,Scikit-Learn的文档页面通过学习机制对算法...

3293
来自专栏机器人网

机器学习算法分类与其优缺点分析

机器学习算法的分类是棘手的,有几种合理的分类,他们可以分为生成/识别,参数/非参数,监督/无监督等。 例如,Scikit-Learn的文档页面通过学习机制对算法...

2685
来自专栏机器之心

学界 | CMU与谷歌新研究提出文本跳读方法,速度可达标准序贯LSTM的6倍

选自arXiv 机器之心编译 参与:吴攀 因为很多文本内容都含有一些与主题不相关的东西,所以让机器学会根据上下文进行跳读可以大大节省文本处理的时间和效率。近日...

3124
来自专栏ATYUN订阅号

可能提高GAN性能的方法介绍

生成器试图找到最好的图像来欺骗鉴别器。当两个网络互相对抗时,“最佳”图像不断变化。但是,优化可能会变得过于贪心,使其陷入永无止境的猫捉老鼠游戏中。这是模型不收敛...

2054
来自专栏Petrichor的专栏

深度学习: AlexNet 网络

AlexNet网络 提出于2012年,Hinton大神带领团队在ImageNet图像分类竞赛上夺魁,成为了深度学习的转入兴盛的拐点,因此2012年被称为“计算机...

2053
来自专栏LhWorld哥陪你聊算法

【机器学习】--鲁棒性调优之L1正则,L2正则

第一个更好,因为当把测试集带入到这个模型里去。如果测试集本来是100,带入的时候变成101,则第二个模型结果偏差很大,而第一个模型偏差不是很大。

1363
来自专栏人工智能

主流机器学习算法简介与其优缺点分析

机器学习算法的分类是棘手的,有几种合理的分类,他们可以分为生成/识别,参数/非参数,监督/无监督等。

2K4

扫码关注云+社区