哈佛邓云天:Cascaded Text Generation with Markov Transformers

不到现场,照样看最干货的学术报告!

嗨,大家好。这里是学术报告专栏,读芯术小编不定期挑选并亲自跑会,为大家奉献科技领域最优秀的学术报告,为同学们记录报告干货,并想方设法搞到一手的PPT和现场视频——足够干货,足够新鲜!话不多说,快快看过来,希望这些优秀的青年学者、专家杰青的学术报告 ,能让您在业余时间的知识阅读更有价值。


人工智能论坛如今浩如烟海,有硬货、有干货的讲座却百里挑一。“AI未来说·青年学术论坛”系列讲座由中国科学院大学主办,百度全力支持,读芯术、paperweekly作为合作自媒体。承办单位为中国科学院大学学生会,协办单位为中国科学院计算所研究生会、网络中心研究生会、人工智能学院学生会、化学工程学院学生会、公共政策与管理学院学生会、微电子学院学生会。2020年6月20日,第16期“AI未来说·青年学术论坛”NLP前沿技术及产业化线上专场论坛以“线上平台直播+微信社群图文直播”形式举行哈佛邓云天带来报告《Cascaded Text Generation with Markov Transformers》。

哈佛邓云天的报告视频

邓云天,哈佛大学计算机系在读博士生,师从Alexander Rush教授和Stuart Shieber教授,主要研究方向为文本生成。2017年ACL best demo paper award runner-up,2018年百度奖学金获得者,2018年法国-美国博士交流访问学者。同时,也是OpenNMT机器翻译平台的主要开发者之一,并先后在Bloomberg、Facebook人工智能研究院实习,指导老师分别为David Rosenberg、Gideon Mann和Marc'Aurelio Ranzato。

Cascaded Text Generation with Markov Transformers

首先,邓云天介绍了文本生成的背景。目前文本生成效果最好算法是基于Fully Auto regressive模型。在Fully Auto regressive模型中假定生成每一个单词概率取决于之前生成所有单词,比如说首先生成第一个单词X1,再基于第一个单词X1生成第二个单词X2,基于前两个单词生成第三个单词,基于前三个单词生成第四个单词,依次类推。解码的时候使用beam search,从模型中找到概率最高的文本。

Fully Autoregressive模型可以实现非常高质量的文本生成,但是这个组合存在相依问题。即该组合是顺序解码,为了生成第五个单词X5,需要知道前四个单词,只有X1—X4全部生成完毕才可以,因此没有办法使用并行硬件进行加速这个过程。为实现更快速的文本生成,Jiatao Gu等人提出了Nonautoregressive模型,在Nonautoregressive中假定各个单词是独立,因此在解码的时候只需要对各个位置取argmax就可以了,这个过程可以使用并行硬件,比如GPU进行加速。但该模型的问题是没有办法建模词与词之间的关系,因此会生成低质量的文本,有时候观察到Nonautoregressive模型生成文本重复一个词好几遍。

前面提到Fully Autoregressive模型和Nonautoregressive模型。这两种模型都可以用同一个框架来描述,这个框架就是Markov Random Field概率表达形式(见下图)。如果对概率取log可以看出,log等于各个位置l的fl项的求和,这里每一个fl称为log potential,每一个fl是建模相邻m+1个词之间的关系。举一个具体的例子,比如当m等于1的时候,可以建模相邻两个词之间的关系,f1建模前两个词之间的关系,f2建模第二个词和第三个词之间的关系,f3建模第三和第四个词之间的关系,依次类推。

m取值不同,得到的模型也不同。当m等于0,这时候相当于做了各个单词独立性假设,只考虑各个单词本身的概率,因此是Nonautoregressive模型。当m等于L-1的时候(L是序列长度),可以建模任何两个单词之间的关系,因此是Fully Autoregressive模型。这个工作比较关心m取固定的,介于0—L-1之间的值,把它称之为Partially Autoregressive。

之后,邓云天介绍了Partially Autoregressive模型的三点优势。第一,和Fully Autoregressive模型比,一个固定阶数的Markov RandomField可以并行解码,解码的时间和序列长度log呈正比,而Fully Autoregressive模型解码时间是序列长度呈正比。因此一个Partially Autoregressive模型是比Fully Autoregressive模型解码时候更快。第二,和Nonautoregressive相比,Nonautoregressive模型没有建模词与词的关系,但是partially Autoregressive模型可以建模相邻词之间的关系,因此该模型有可能生成质量更高的文本。第三,这里m是可以调的参数,它可以实现文本生成的质量和文本生成速度的tradeoff。这样使用阶数越高的Markov Random Field,可以实现更高质量的文本生成,但也要牺牲一定的速度。

但Partially Autoregressive模型在文本生成中尚未被广泛应用,因为它有个最大的挑战。如果给定一个m阶Markov Random Field,想要从中精确解码的话,若使用维特比算法,解码的时间和词表大小V的m+1幂是呈正比的,实际应用中词表大小在万这个量级。因此即使m取1,1万的平方在现在硬件条件下也是不现实的,其时间复杂度太高。

针对该挑战,邓云天提出了Cascaded Decoding解码思路。与beam search不同,Cascaded Decoding是考虑所有序列组成的空间,使用逐渐增加阶数的Markov Random Field,从这个空间中逐渐剔除不好的序列,直到最后得到比较小的空间,最后在小空间进行解码。具体来说,首先使用0阶的Markov Random Field,在每一个位置只保留前K个最好的unigram或者单词。其次,在已经缩小的空间再引入1阶的Markov Random Field,保留K个最好的bigram。然后,在此基础上引用2阶Markov Random Field,保留K个最好的trigram,一直重复这个过程直到最后达到比较高阶的模型。最后,缩小空间使用动态算法维特比进行解码。

邓云天以具体案例向大家做了讲解。如图所示,当序列长度为3的情况,长度为3的序列,所有序列可以用三维直角坐标系表示,这里XYZ三个轴对应第一个单词、第二个单词、第三个单词。

第一步从0阶Markov Random Field开始,每个位置保留前10个最好的unigram。这个步骤完成之后空间大小缩解为10×10×10的立方体,对应着第一个词有10种可能、第二个词有10种可能、第三个词有10种可能的组合。

第二步在这个基础上引入1阶Markov Random Field,每个位置保留最好的10个bigram,进一步缩小空间。细心的同学会发现,小方块在二维平面X1、X2和二维空间X2、X3投影,恰好是10个阴影小方块,对应着10个最好bigram,X1、X2和10个最好bigram X2、X3。

第三步再在此基础上引入2阶的Markov Random Field,在每个位置保留前10个最好的trigram。因为序列长度只是3,所以这一步过程中结束之后,得到序列总共个数只有10个,最后在10个序列中使用维特比算法进行解码,找出概率最高的序列。这就是Cascaded Decoding大致的过程。

邓云天进一步补充道,在这个过程中是如何决定哪些ngram是最好的呢?这里面是有很多种可能衡量方式,如使用Max-marginals。一个ngram的Max—marginals定义是,给定ngram,给所有包含这个ngram的序列使用动态算法找出序列中最大概率的序列,这个概率是ngram的Max-marginals。

如前所述,使用一个固定阶数的Markov Random Field原因是想要实现更加快速的解码。前面提到过的log potentialfl可以在各个位置并行计算,因为各个位置fl没有相关的关系,不管序列长度有多长,fl可以用O(1)时间并行计算。比较麻烦的事情是这里Max-marginals不能进行各个位置独立计算。论文中提出一种方法可以并行之后用log时间长度计算Max-marginals取值。理论上讲,这个算法的时间复杂度是log L,但是实际上Max-marginals理论复杂度更高,然而实际使用时间却不到1%。因此,事实上算法的时间复杂度或者说算法速度,实际上和Nonautoregressive算法一样快。

与很多Nonautoregressive算法一样,这里也要提前获得序列长度。但如果没有完成解码,很难准确预测序列的长度。好在Markov Random Field允许同时考虑不同长度的可能取值,只需要在生成的时候,首先估计出来最大可能的长度,当解码的时候在词表中引入特殊占位的字符“padding”,并修改Markov Random Field,使得词尾下一个单词一定是padding,而且padding的下一个单词也是padding。这样一来,在搜索过程中可以考虑所有长度比预先最大长度小的序列,不同长度序列相当于句尾padding个数不一样,但是padding的存在并不影响分数,因此可以同时参与搜索。

此后,邓云天又以最大长度为8的具体的例子进行了讲解。这里面做了机器翻译的工作,原文本是德语,翻译成英语大概意思是an amazing woman。此处,使用K=5,也就是每个位置保留前五个最好的,这里展示连接Markov Random Field的结果,如果看每一列的话,对应前5个最好unigram,按Max-marginal从大到小排列。相当于如果使用Nonautoregressive模型,就会直接输出表格第一行an amazing woman woman eos eos eos padding,可以看到woman这个单词被重复生成了两遍,这是Nonautoregressive模型常见的问题,因为没有办法建模词与词之间关系。

实际上cascaded decoding不会就此直接输出,而会在此基础上,首先引入1阶Markov Random Field,在每个位置输出或者每个位置保留前5个最好的bigram;然后再引入2阶Markov Random Field,每个位置保留前5个最好trigram。此时,当再读取表格第一行,使用维特比算法进行输出时,得到结果是an amazing woman.eos pad pad pad,就解决了重复单词的问题。原因在于最后一步解码时使用的是2阶Markov Random Field,而2阶Markov Random Field可以建模邻近3个单词的关系,所以比Nonautoregressive建模更多的单词之间的关系。

接下来,邓云天介绍了什么样的模型可以支持这个Cascaded Search算法,因为Cascade Search需要不同阶数的Markov Random Field,而我们不希望同时维护多个模型。这里提出一种算法,通过对Transformer训练过程的微小修改,可以把一个Transformer模型在测试时当作不同阶数Markov Random Field使用。训练时,每隔M单词重置一下hidden state,在Transformer中具体来说每隔M单词插入一个屏障,强制要求self attention不能穿越这个屏障,以保证解码时Markov Random Field可以当作任何比M低的Markov Random Field使用。

那么,Cascaded search这一方法的具体效果如何呢?作为文本生成算法,它能实现文本生成质量和速度之间的trade off。这里的实验是在机器翻译实验上做的,使用数据集是IWSLT。和Fully Autoregressive相比,可以比它快5.83倍情况下,speedup值比它低0.5,如果愿意进一步牺牲速度,使用更高阶的Markov Random Field可以实现2.94倍更快速度,但是达到几乎一样的BLEU。因此这个方法可以实现非常理想的文本生成质量和速度之间的trade off。

同时,邓云天进一步比较了这一方法与Beam search之间的区别。如果使用Beam search生成长度为L的文本,若Beam Size是K的话,一共最多只考虑K×L序列的个数。但是Cascaded search过程中,每一步每一个位置保留了全K最好的ngram,所以说有可能考虑序列个数是不同序列ngram的组合,有可能随着序列长度指数增长,而Beam search线性增长。在具体测量上,前三列对应着2阶Markov Random Field、3阶Markov Random Field、4阶Markov Random Field和使用Cascaded Search过程中具体考虑了多少个序列;第四列是Fully Autoregressive模型和Beam search能够考虑多少个序列。可以看到如果比较第三列和第四列的话,即使使用4阶Markov Random Field依然可以比Fully Autoregressive模型多考虑1—2个量级和更多序列的个数,这是非常有意思的特点。

邓云天对上述内容作了简短小结。Nonautoregressive模型是快速文本生成充分但不必要条件,因而可以考虑更一般的情况,就是固定阶数Markov Random Field,它可以实现并行解码,因此速度比Fully Autoregressive模型要快。同时由于Markov Random Field可以考虑词与词之间的关系,因此可以比Nonautoregressive模型生成质量更高的文本。为了实现从固定阶数Markov Random Field用有限时间内或者目前硬件可以支持时间内完成解码,提出Cascaded Search这个和Beam search完全不同解码算法。最后为了支持Cascaded Search这个解码算法,提出了对transformer训练时候的改进,实现Markov Transformer,使得用一个单独模型当作不同阶数Markov Random Field来使用。

最后,邓云天对导师M.Rush教授,HarvardNLP以及百度奖学金的支持表示了感谢,并鼓励大家通过邮件方式向他咨询相关问题。代码已经在https://github.com/harvardnlp/cascaded-generation开源。

谢谢!

(整理人:郭仪)

AI未来说*青年学术论坛

第一期 数据挖掘专场

1. 李国杰院士:理性认识人工智能的“头雁”作用

2. 百度熊辉教授:大数据智能化人才管理

3. 清华唐杰教授:网络表示学习理论及应用

4. 瑞莱智慧刘强博士:深度学习时代的个性化推荐

5. 清华柴成亮博士:基于人机协作的数据管理

第二期 自然语言处理专场

1. 中科院张家俊:面向自然语言生成的同步双向推断模型

2. 北邮李蕾:关于自动文本摘要的分析与讨论

3. 百度孙珂:对话技术的产业化应用与问题探讨

4. 阿里谭继伟:基于序列到序列模型的文本摘要及淘宝的实践

5. 哈工大刘一佳:通过句法分析看上下文相关词向量

第三期 计算机视觉专场

1. 北大彭宇新:跨媒体智能分析与应用

2. 清华鲁继文:深度强化学习与视觉内容理解

3. 百度李颖超:百度增强现实技术及应⽤

4. 中科院张士峰:基于深度学习的通用物体检测算法对比探索

5. 港中文李弘扬 :物体检测最新进展

第四期 语音技术专场

1. 中科院陶建华:语音技术现状与未来

2. 清华大学吴及:音频信号的深度学习处理方法

3. 小米王育军:小爱背后的小米语音技术

4. 百度康永国:AI 时代的百度语音技术

5. 中科院刘斌:基于联合对抗增强训练的鲁棒性端到端语音识别

第五期 量子计算专场

1. 清华大学翟荟:Discovering Quantum Mechanics with Machine Learning

2. 南方科技大学鲁大为:量子计算与人工智能的碰撞

3. 荷兰国家数学和计算机科学中心(CWI)李绎楠:大数据时代下的量子计算

4. 苏黎世联邦理工学院(ETH)杨宇翔:量子精密测量

5. 百度段润尧:量子架构——机遇与挑战

第六期 机器学习专场

1. 中科院张文生:健康医疗大数据时代的认知计算

2. 中科院庄福振:基于知识共享的机器学习算法研究及应用

3. 百度胡晓光:飞桨(PaddlePaddle)核心技术与应用实践

4. 清华大学王奕森:Adversarial Machine Learning: Attack and Defence

5. 南京大学赵申宜:SCOPE - Scalable Composite Optimization for Learning

第七期 自动驾驶专场

1. 北京大学查红彬:基于数据流处理的SLAM技术

2. 清华大学邓志东:自动驾驶的“感”与“知” - 挑战与机遇

3. 百度朱帆:开放时代的自动驾驶 - 百度Apollo计划

4. 北理宋文杰:时空域下智能车辆未知区域自主导航技术

第八期 深度学习专场

1. 中科院文新:深度学习入门基础与学习资源

2. 中科院陈智能:计算机视觉经典——深度学习与目标检测

3. 中科院付鹏:深度学习与机器阅读

第九期 个性化内容推荐专场

1. 人民大学赵鑫:基于知识与推理的序列化推荐技术研究

2. 中科院赵军:知识图谱关键技术及其在推荐系统中的应用

第十期 视频理解与推荐专场

1. 北京大学袁晓如:智能数据可视分析

第十一期 信息检索与知识图谱专场

1. 北京邮电大学邵蓥侠:知识图谱高效嵌入方法

2. 人民大学徐君:智能搜索中的排序-突破概率排序准则

3. 百度周景博:POI知识图谱的构建及应用

4. 百度宋勋超:百度大规模知识图谱构建及智能应用

5. 百度冯知凡:基于知识图谱的多模认知技术及智能应用

第十二期 年度特别专场

1. 复旦大学桂韬:当NLP邂逅Social Media--构建计算机与网络语言的桥梁

2. 清华大学董胤蓬:Adversarial Robustness of Deep Learning

3. UIUC罗宇男:AI-assisted Scientific Discovery

4. 斯坦福应智韬:Graph Neural Network Applications

第十三期 AI助力疫情攻关线上专场

1. 清华大学吴及:信息技术助力新冠防控

2. 北京大学王亚沙:新冠肺炎传播预测模型

3. 百度黄际洲:时空大数据与AI助力抗击疫情——百度地图的实践与思考

4. 百度张传明:疫情下的“活”导航是如何炼成的

第十四期 深度学习线上专场

1. 中国科学院徐俊刚:自动深度学习解读

2. 北航孙钰:昆虫目标检测技术

3. 百度尤晓赫:EasyDL,加速企业AI转型

4. 百度邓凯鹏:飞桨视觉技术解析与应用

第十五期 大数据线上专场

1. 复旦赵卫东:大数据的系统观

2. 中科大徐童:AI×Talent数据驱动的智能人才计算

3. 百度李伟彬:基于PGL的图神经网络基线系统

4. 中科大张乐:基于人才流动表征的企业竞争力分析


推荐阅读专题


留言 点赞 发个朋友圈

我们一起分享AI学习与发展的干货

推荐文章阅读

ACL2018论文集50篇解读

EMNLP2017论文集28篇论文解读

2018年AI三大顶会中国学术成果全链接

ACL2017 论文集:34篇解读干货全在这里

10篇AAAI2017经典论文回顾

长按识别二维码可添加关注

读芯君爱你

展开阅读全文
©️2020 CSDN 皮肤主题: 大白 设计师: CSDN官方博客 返回首页
实付0元
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、C币套餐、付费专栏及课程。

余额充值