Seq2Seq中Exposure Bias现象的浅析与对策
©PaperWeekly 原创 · 作者|苏剑林
单位|追一科技
研究方向|NLP、神经网络
前些天笔者写了CRF用过了,不妨再了解下更快的MEMM?,里边提到了 MEMM 的局部归一化和 CRF 的全局归一化的优劣。
同时,笔者联想到了 Seq2Seq 模型,因为 Seq2Seq 模型的典型训练方案 Teacher Forcing 就是一个局部归一化模型,所以它也存在着局部归一化所带来的毛病——也就是我们经常说的“Exposure Bias”。
带着这个想法,笔者继续思考了一翻,将最后的思考结果记录在此文。
▲ 经典的 Seq2Seq 模型图示
本文算是一篇进阶文章,适合对Seq2Seq模型已经有一定的了解、希望进一步提升模型的理解或表现的读者。关于Seq2Seq的入门文章,可以阅读旧作玩转Keras之seq2seq自动生成标题和从语言模型到Seq2Seq:Transformer如戏,全靠Mask。
Exposure Bias 的成因分析及例子; 简单可行的缓解 Exposure Bias 问题的策略。
Softmax
对于分类问题,我们所用的 loss 一般是交叉熵,也就是:
Teacher Forcing
现在,我们来看 Seq2Seq,它通过条件分解来建模联合概率分布:
每一项自然也就用 Softmax 来建模的,即:
Exposure Bias
其实 Teacher Forcing 这个名称本身就意味着它本身会存在 Exposure Bias 问题。回想一下老师教学生解题的过程,一般的步骤为:
第一步应该怎么思考; 第一步想出来后,第二步我们有哪些选择; 确定了第二步后,第三步我们可以怎么做; ... 有了这 n-1 步后,最后一步就不难想到了。
Beam Search
事实上,我们真正做题的时候并不总是这样子,假如我们卡在某步无法确定时,我们就遍历几种选择,然后继续推下去,看后面的结果反过来辅助我们确定前面无法确定的那步。对应到 Seq2Seq 来说,这其实就相当于基于 Beam Search 的解码过程。
对于 Beam Search,我们应该能发现,beam size 并不是越大越好,有些情况甚至是 beam size 等于 1 时最好,这看起来有点不合理,因为 beam size 越大,理论上找到的序列就越接近最优序列,所以应该越有可能正确才对。事实上这也算是 Exposure Bias 的现象之一。
正常来说,我们希望目标序列是所有候选序列之中分数最高的,根据本文开头介绍的 Softmax 方法,我们建立的概率分布应该是:
简单例子
思考对策
看到这里,读者可能就能想到一个朴素的对策了:添加额外的优化目标,降低那些Beam Search出来的非目标序列不就行了?
事实上,这的确是一个有效的解决方法,相关结果发表在 2016 年的论文 Sequence-to-Sequence Learning as Beam-Search Optimization [2]。但这样一来几乎要求每步训练前的每个样本都要进行一次 Beam Search,计算成本太大。
还有一些更新的结果,比如 ACL 2019 的最佳长论文 Bridging the Gap between Training and Inference for Neural Machine Translation [3] 就是聚焦于解决 Exposure Bias 问题。此外,通过强化学习直接优化 BLEU 等方法,也能一定程度上缓解 Exposure Bias。
构建负样本
纵观大部分解决 Exposure Bias 的论文,以及结合我们前面的例子和体会,不难想到,其主要思想就是构造有代表性的负样本,然后在训练过程中降低这些负样本的概率,所以问题就是如何构造“有代表性”的负样本了。
这里给出笔者构思的一种简单策略,实验证明它能一定程度上缓解 Exposure Bias,提升文本生成的表现,重要的是,这种策略比较简单,基本能做到即插即用,几乎不损失训练性能。
1. 50% 的概率不做改变;
2. 50% 的概率把输入序列中 30% 的词替换掉,替换对象为原目标序列的任意一个词。
这个策略的灵感在于:尽管 Seq2Seq 不一定能完全生成目标序列,但它通常能生成大部分目标序列的词(但顺序可能不对,或者重复出现同一些词),因此这样替换后的输入序列通常可以作为有代表性的负样本。对了,说明一下,50% 和 30% 这两个比例纯粹是拍脑袋的,没仔细调参,因为生成模型调一次实在是太累了。
效果如何呢?笔者做了两个标题(摘要)生成的实验(就是 CLGE [4] 的前两个),其中 baseline 是 task_seq2seq_autotitle_csl.py [5],代码开源于:
结果如下表:
这表明,笔者提出的上述策略确实是一种值得尝试的方案(注:所有实验都重复了两次然后取平均,所以实验结果应该是比较可靠的了)。
对抗训练
思考到这里,我们不妨再“天马行空”一下:既然解决 Exposure Bias 的思路之一就是要构造有代表性的负样本输入,说白了就是让模型在扰动下依然能预测正确,而前些天我们不是才讨论了一种生成扰动样本的方法吗?
本文小结
本文讨论了 Seq2Seq 中的 Exposure Bias 现象,尝试从直观上和理论上分析 Exposure Bias 的原因,并给出了简单可行的缓解 Exposure Bias 问题的对策。
相关链接
[1] https://kexue.fm/archives/3290
[2] https://arxiv.org/abs/1606.02960
[3] https://arxiv.org/abs/1906.02448
点击以下标题查看更多往期内容:
#投 稿 通 道#
让你的论文被更多人看到
如何才能让更多的优质内容以更短路径到达读者群体,缩短读者寻找优质内容的成本呢?答案就是:你不认识的人。
总有一些你不认识的人,知道你想知道的东西。PaperWeekly 或许可以成为一座桥梁,促使不同背景、不同方向的学者和学术灵感相互碰撞,迸发出更多的可能性。
PaperWeekly 鼓励高校实验室或个人,在我们的平台上分享各类优质内容,可以是最新论文解读,也可以是学习心得或技术干货。我们的目的只有一个,让知识真正流动起来。
📝 来稿标准:
• 稿件确系个人原创作品,来稿需注明作者个人信息(姓名+学校/工作单位+学历/职位+研究方向)
• 如果文章并非首发,请在投稿时提醒并附上所有已发布链接
• PaperWeekly 默认每篇文章都是首发,均会添加“原创”标志
📬 投稿邮箱:
• 投稿邮箱:hr@paperweekly.site
• 所有文章配图,请单独在附件中发送
• 请留下即时联系方式(微信或手机),以便我们在编辑发布时和作者沟通
🔍
现在,在「知乎」也能找到我们了
进入知乎首页搜索「PaperWeekly」
点击「关注」订阅我们的专栏吧
关于PaperWeekly
PaperWeekly 是一个推荐、解读、讨论、报道人工智能前沿论文成果的学术平台。如果你研究或从事 AI 领域,欢迎在公众号后台点击「交流群」,小助手将把你带入 PaperWeekly 的交流群里。