(雷锋网)据官方消息,ICLR 2020会议将取消线下会议,并于4月25日-30日线上举办虚拟会议。本届会议共有 2594篇投稿,其中 687篇论文被接收(48篇oral论文,107篇spotlight论文和531篇poster论文),接收率为26.5%。
本文介绍 Google 研究人员发表在 ICLR 2020 上的论文《Measuring Compositonal Generalization: A Comprehensive Method on Realistic Data》。
人类独特的语言天赋体现在其学习一个新单词的意思过后,能够马上在语言环境中使用。正如莱克(Lake)和巴罗尼(Baroni)的名言所述:
如果一个人学会了一个新动词“DAX”,这个人就能立马理解‘dax twice’ 和‘sing and dax’的意思。
同样,人类可以了解新学习对象的形状,然后用之前的学过的颜色或者材料来进一步认知。
这些能力也是我们人类对即存知识的组合创新能力。
因此借用这种“组合”概念引出机器学习中的“合成泛化(compositional generalization)”,即机器学习从一组训练示例学习上下文表示。
在机器学习系统中,测量合成泛化的一种常见方法是根据与成分直接相关的属性划分训练数据和测试数据。例如根据序列长度划分:训练集较短,测试集较长。
此类方法有很多,但是哪个才是组合的更好测量标准?如何系统的设计一个最佳的合成泛化实验?
(雷锋网)论文链接:https://openreview.net/forum?id=SygcCnNKwr
来自谷歌的研究人员在“测量合成泛化:真实数据的综合方法”论文中,试图引入了最大和最全面的基准来解决这个问题。这个基准使用真实的自然语言理解任务,特别是语义解析和问题回答来进行合成泛化。
在具体的工作中,相关研究人员提出了复合散度(compound divergence)测量指标,这个指标可以量化训练-测试集的分离程度,以便测量机器学习的合成泛化能力。
研究人员分析了三种序列到序列机器学习体系结构的合成泛化能力,发现它们的泛化能力堪忧。在论文中,作者还发布了工作中使用的组合Freebase Questions数据集。
为了测量一个系统的泛化能力,首先要理解示例如何生成的基本原理。例如,从生成问题和答案时必须遵守的语法规则开始,然后找出元素(atom)和化合物(compound)之间的区别。其中原子是用于生成示例的构建块,而化合物是这些原元素的具体组合。如下图每一个Box都是一个元素。
(雷锋网)
在理想的组合实验中,原子应该有相似的分布,即训练集中的词和子短语的分布尽可能类似于它们在测试集中的分布,但值得注意的是,复合分布是不相同的。
为了测量电影领域问答任务中的合成泛化能力,研究人员可能设计下图中类似的正在问题:虽然“Directed”、“Inception”和“Who<Predicate><Entity>”等元素都出现在训练集和测试集中,但复合而成的词显然是不同的。
组合性的Freebase问题数据集(CFQ)
为了进行准确的组合性实验,作者创建了CFQ数据集,这是一个从公共Freebase知识库生成的自然语言问答的真实大型数据集,虽然简单,但是非常强大。里面包含大约24万个示例和近35k个查询模式,这个规模是WikiSQL的4倍,查询模式大约是复杂Web问题的17倍(Complex Web Questions)。
另外,CFQ可用于文本输入/文本输出任务以及语义解析。在具体的实验中,作者将重点放在了语义解析上面,其中输入是一个自然语言问题,输出是一个查询,当对Freebase执行查询时,会产生正确的结果。作者还使用了“复杂度级别”指标(L)来量化每个示例中语法的复杂性,该度量大致对应于解析树的深度,示例如下所示。
对于给定的训练-测试分割,如果训练集和测试集的复合分布非常相似,则它们的复合散度将接近于0,这意味着无法为合成泛化提供良好的测试。复合散度为1则相反。
将模型预测与正确答案进行比较从而测量模型的性能,结果发现,当复合散度很小时,所有模型的准确率都在95%以上。
但是,对于所有的体系结构,复合散度最高的的分割平均准确率都在20%以下,这意味着即使是训练和测试之间元素分布相似的大型训练集,也不足以使体系结构很好地进行泛化。
换句话说,对于所有的体系结构,复合散度与准确度之间存在很强的负相关关系。即复合散度能够量化合成泛化的核心问题。
未来工作的重点方向可能是对输入语言或输出查询应用无监督的预训练,或者使用更有针对性的学习体系结构,如句法注意。
最后,将这上述方法应用于其他领域,例如基于CLEVR的视觉推理,或者扩展到语言理解的更广泛的子集,包括使用歧义结构、否定、量化、比较、附加语言和其他垂直领域,也是很有趣的。