VCR是用于视觉常识推理的大规模数据集,包含约290K问题、答案和解释对,涵盖超过110K不重复的电影场景。 构建如此大规模的数据集,最大的挑战来自于构造的过程中如何避免引入人对于事物认识的bias。一般来说QA类型的数据集,人工标注的答案包含难以预料但明显的bias,这样因为人的认识观念而注入的偏见很容易被模型所利用。在很多情况下,这些偏差是明显的,以至于模型甚至可以不给出问题的描述就选出正确答案。
一种新颖的针对QA的分配算法,用于生成具有鲁棒性的多项选择QA数据集。该算法的核心思路在于:对于某个问题,将其正确答案重复3次作为其他3个问题的错误候选答案。这样使得每个答案都有25%的几率(这个数据集中给每个问题提供了4个候选答案)成为正确选项,以消除模型只对正确选项有偏见的问题,并抑制了机器总是选择最普遍的答案的积极性。 更具体地,作者将”把答案重复多次“这个事形式化为一个有限制的优化问题:以每个候选否定答案和正确答案之间的相关性和隐含分数为基础,用最先进的自然语言推理模型进行衡量,使得构造一个对人而言简单但对机器而言难度较高的数据集。
前文已经提到过对抗匹配算法要解决的核心问题:如何给一个问题生成3个高质量的错误答案。人工生成高质量的错误答案代价昂贵,此外容易引入bias,而机器可能只通过人工答案引入进来的bias就能区分正确或错误答案。 不难发现,生成高质量错误答案的两个关键点:(1)错误答案要尽可能与视觉、语言上下文关联程度高(以使机器错误判断);(2)也不能和正确答案过度相似,否则会出现正确答案不唯一的情况。 作者实现时的做法,让错误答案的生成在这两个目标之间折衷,以创建一个对机器来说具有挑战性但对人类来说很容易的数据集。完成这两个关键步骤需要两个模型的辅助。一个模型用于计算一个问题和一条回答之间的相关性P_rel;另一个模型用于计算两条回答之间的相似度P_sim。作者完成这个任务使用的两个模型分别是BERT和ESIM+ELMo。
给定一些数据样例(N个问题和它们各自对应的回答), ( q i , r i ) 1 < = i < = N (q_i,r_i)_{1<=i<=N} (qi,ri)1<=i<=N ,通过在一张权值分数表 W ∈ R N × N W\in\Bbb R^{N\times N} W∈RN×N上做maximum-weight二分匹配可以为每个问题 q i q_i qi生成一个错误答案。权值分数表 W W W的构造规则如下: W i , j = l o g ( P r e l ( q i , r i ) ) + λ l o g ( 1 − P s i m ( r i , r j ) ) W_{i,j} = log(P_{rel}(q_i,r_i))+\lambda log(1-P_{sim}(r_i,r_j)) Wi,j=log(Prel(qi,ri))+λlog(1−Psim(ri,rj))这里 λ \lambda λ是权衡参数,用于折衷相似度和相关性。 对抗匹配算法的示意图 为了给一个问题生成多个否定答案,需要多次进行二分匹配。为确保训练集和测试集中没有问题/答案重合,全部数据被划分为11折。每一折数据内独立进行二分匹配。有两折数据被用于验证和测试。