文 | Yimin_饭煲
相信大多数学习过人工智能课程的读者,当听到算法的时候,都会有一种既熟悉又陌生的感觉。说算法熟悉,是因为一听到这个算法,就想起那本厚厚的《人工智能——一种现代的方法》,想起这个算法似乎是人工智能课程考试的重点;说算法陌生,是因为大家现在在从事人工智能相关的研究和开发工作时,似乎又很少用到这个算法,大部分时间都花在了研究数据处理和处理实验设置上面。而在NAACL2022上,一群来自AI2的自然语言处理研究者们 利用算法开发了一种新的自然语言生成解码方式,还被授予了NAACL2022 Best New Method paper。看起来已经过时的A*算法,居然能在深度学习时代有如此的妙用,看完这篇论文,笔者情不自禁地打开了《人工智能——一种现代的方法》,想看看还有什么经典算法可以深挖一下!
论文标题:
NEUROLOGIC A*esque Decoding: Constrained Text Generation with Lookahead Heuristics
论文链接:
https://arxiv.org/pdf/2112.08726.pdf
问题背景
自然语言生成任务一般指给定一个输入序列,生成一个输出序列。目的是解出使得目标函数最大化的序列,其中, , 而衡量对约束条件的满足。传统的Beam Search不考虑全局的最优,而是最优化当前步骤添加的Token.
402 Payment Required
为了达到全局最优的效果,需要满足如下的优化目标
主要方法
前向启发算法
直接优化全局最优目标面临着搜索空间过大的问题。而A算法可以被用来解决这个搜索问题。A算法是一个最优优先的搜索算法,可以解决这样形式的搜索问题:
其中是迄今为止的分数,是对于未来分数的启发式估计。因此我们将优化目标修改为如下形式
同时,需要限制前向搜索的长度为,避免模型无限制地向前搜索
402 Payment Required
在前向生成的过程中有几种不同的方法。方法只生成一个序列,从开始,每次选择概率最大的Token 。方法采用插值的思想,混合方法和随机选择一个Token的概率分布。方法从开始进行步的Beam Search,选择前个概率最大的序列, 而方法则是直接从按照概率进行采样。
无限制生成
在无限制生成的场景下,使用的优化函数为
其中控制的是对未来估计的重视程度,类似于加权算法
受限制生成
在受限制生成任务上,作者们基于之前的工作NeuroLogic进行改进。首先我们简要介绍一下NeuroLogic方法。首先,将对生成文本的限制表示为合取范式。其中每一个表示一个限制条件,。NeuroLogic的优化目标可以写为
其中远大于0,用来惩罚不满足的约束。在每一步搜索时,NeuroLogic利用如下的打分函数进行计算
其中是约束条件的前缀,这个优化函数的目标是奖励那些满足约束条件的样本。接下来,作者们加入了前向启发函数
402 Payment Required
这样的前向启发函数有两个好处,如果是满足多Token约束的一个Token,前向启发函数包含了全部约束的分数,如果不是约束的一部分,如果被选中,这一前向策略能考虑到未来约束的分数。
实验结果
无限制生成
作者们在故事生成任务上开展了实验,可以发现提出的方法不论是在流畅性,丰富性还是人工评估上都有着很好的表现。
受限制生成
在受限制生成方面,作者们在常识生成,机器翻译,表格到文本生成,问题生成等任务上开展了实验。在这里展示常识生成方面的结果。这一任务的主要内容是给定一系列概念,利用全部概念生成一个合理的句子.可以发现,作者们提出的方法在多个指标上都明显超越了基线模型,取得了很好的效果。从文章中给出的例子来看,作者们提出的方法确实有着更好的生成效果。
结语
本文的方法实现并不复杂,所用到的原理和思想也是非常经典的人工智能算法,但却取得了非常不错的性能,一举摘得了NAACL2022的最佳方法论文。看来,好的研究并不是追逐热点,调参魔改结构的增量式创新,而是打好数学基础,深入地思考研究问题,广泛接触各个领域的算法,才能在发现领域的关键待解决问题时取得成果~
萌屋作者:Yimin_饭煲
在微软NLC组搬砖的联培博士生,爱好摄影和运动,希望卖萌屋早日开通视频业务,我来当摄影师!
作品推荐
后台回复关键词【入群】
加入卖萌屋NLP、CV、搜推广与求职讨论群