Dialogue Response Selection with Hierarchical Curriculum Learning-论文阅读
会议:ACL2021
论文链接:
摘要(翻译):
我们研究了对话反应选择匹配模型的学习。受最近发现的使用随机负样本训练的模型在现实场景中并不理想这一现象的启发,我们提出了一个分层课程学习框架(hierarchical curriculum learning framework),以“从易到难”的方案训练匹配模型。
我们的学习框架包括两个互补的课程:
(1)语料库级课程(CC);
(2)实例级课程(IC)。
在CC中,该模型逐渐增强了在对话上下文和候选答案之间寻找匹配线索的能力。
在IC中,它逐渐增强了模型识别对话上下文和候选答案之间不匹配信息的能力。
对三个基准数据集和三个最先进的匹配模型的实证研究表明,所提出的学习框架显著提高了模型在各种评估指标上的性能。
*课程学习-curriculum learning:
它是一种训练策略,模仿人类的学习过程,主张让模型先从容易的样本开始学习,并逐渐进阶到复杂的样本和知识。
目前大多数CL都是基于"难度测量器+训练调度器 "的框架设计。根据这两个是否自动设计可以将CL分成两个大类即 Predefined CL 和 Automatic CL。 *
**
一、 介绍:
**
问题描述:从一组候选回答中根据已知的对话上下文选择最佳的回答。
从前的消极答案与对话完全无关,但在现实场景中,这种研究方法忽视了上下文-回答匹配度的多样性。比如上图中的N2,含有多个对话中出现的关键词,但是并不是理想回答;对于P2,虽然是匹配回答,但是没有出现相关的关键词.
为了能够识别P2和N2 这类复杂回答,我们引入了课程学习的思想。
贡献:
1)提出了一个分层课程学习框架(HCL),框架分为两个课程方案:CC和IC。
(注意:该框架独立于模型,本论文中将框架应用在匹配模型上)
2)在benchmark的三个数据集上应用该框架并测试效果。
二、方法:
1、数据格式:
数据集:D={(ci, ri)};
匹配模型G(·,·)给出的分数:s(·,·);
消极答案集:R-I,j(从语料库中随机选择)
学习目标:
m: 消极答案的数量
在测试中,对每个上下文-回答对(C-R对),模型都会给出一个匹配分数s(ci, ri),因此可以根据分数对回答进行选择。
2、学习框架:
CC:展示了两个实例,从下到上难度增加(竖轴为难度)。
在CC中,简单的实例在难的实例之前输入模型,这样,模型就能逐渐的学习匹配的能力,适应难度的增加。
IC:对于展示的实例的消极答案,竖轴为难度
在IC中,也是由易到难输入消极答案,使模型逐渐有能力去发现不匹配的信息,
3、CC
CC会对数据集中的实例按难度进行排序,然后依次输入模型学习。
判断难易:语义是否连贯和词汇是否重叠
难易度函数(difficulty function,dcc(ci, ri)):定量的表示每对上下文-回答对的难度,我们加载了一个预训练的分级模型G(·,·),计算难度得分G(ci, ri),更高的分数意味着ci和ri之间关联度更高。则难度dcc(ci, ri):
dcc(ci, ri)在[0,1]之间。
步幅函数(pacing function, pcc(t)):在训练中选择合适难度的C-R对,控制学习的步伐。也就是说,对于时间步长t,pcc(t)表示难度的上限,模型只能使用难度得分dcc(ci, ri)低于pcc(t)的C-R对。
pcc(0):预设的初始值;T:训练总步骤(train steps)
第一个时间步长中我们用一个基本的匹配模型,使用训练数据的一个简单子集(所有难度分数均低于pcc(t)),当pcc(t)到达1时,CC完成,模型可以自由的使用整个数据集。
CC过程:
1) 根据每一个时间步长t计算pcc(t);
2) 选择难度小于pcc(t)的C-R对(蓝色阴影)组成一个batch,在这张图中初始值pcc(0)=0.3,T=20000
4、IC:
CC结束后,IC控制消极回答的难度。对于每个C-R对,因为选择的消极答案可能是训练集中的任何一条回答,所以不同的Rj的难度是多样的。对于更难的消极回答,模型需要识别他和上下文之间更细粒度的语义区别。IC的目的是根据学习的状态选择合适难度的消极回答。
难度函数dic(ci, ri):对于一个特定的已知C-R对,将其回答根据相关度进行降序排序,dic(ci, ri):
在这个公式中,rh表示排名最高的回答,即dic(ci,rh)=1;rl表示排名最后的回答,dic(ci,rl)=|D|。
Dic越小越相关,因此越难。
步伐函数pic(t):,已知一个训练实例C-R对,在时间步伐t,函数选择难度等级小于10pic(t)的回答rj,组成一个子集。pic(t)越小,消极回答的难度越高。
K0=log10|D|,表示训练开始的时候,消极回答从整个训练集D中取样,kT:一个比k0小的超参数(hyperparameter)。当pic(t)值达到kT时,IC完成了。取样空间的大小取决于10kT。
IC过程:
5、分层课程学习:
1)模型训练
模型采用CC和CI课程进行训练,对于每一个训练步骤,
产生训练数据(算法1):
1、 根据pcc(t)选择合适的C-R对;
2、 对每个C-R对,根据pic(t)选择合适的消极答案(由易到难)
**2) 快速分级模型(fast ranking model,G(·,·)):**之前提到的分级模型
(略)
3) 线下索引(offline index):
1、 在使用子集中的实例训练完G模型
2、 我们对数据集D中的所有上下文和答案计算密集表示(dense representation),
3、 然后为所有上下文和答案随机组成的C-R对计算相关度得分(dic)(通过C和r的表示向量点乘实现),
4、 然后我们可以计算它们CC和IC难度。
三、 数据集
豆瓣、E-commerse、Ubuntu
四、 结果
在SA-BERT上结果最佳。