Zero-Shot Learning with Common Sense Knowledge Graphs

Title: 《Zero-Shot Learning with Common Sense Knowledge Graphs》

Author: Nihal V. Nayak, Stephen H. Bach

DOI:https://doi.org/10.48550/arXiv.2006.10713

URI:https://arxiv.org/abs/2006.10713

Abstract

ZSL在进行预测任务时是没有任何带标签的样本的,因此需要依赖于类别的语义表示如手工标注的属性、学习到的一些语义嵌入等。

论文提出了一种学习类别语义表征的方法,即对常识知识图中的节点在向量空间中进行嵌入。

什么是常识知识?它有什么用?

常识知识是关于日常事务的可靠的实际判断,或者是几乎所有人都共有的感知、理解和判断的基本能力。通俗一点说常识就是所有人都知道,所有人都知道所有人都知道,所有人都知道所有人都知道所有人都知道,。。。。

人类能够很好地利用常识并且不需要过多的思考,而计算机则不同,对于计算机来说,常识知识与常识知识图是一种未被开发的显而易见的高级别的知识资源,并且只需要少量的人力就可以将其应用到一系列任务中去。

本文提出了ZSL-KG框架,该框架是一种通用目的的框架,使用新颖的Transformer图卷积神经网络(TrGCN)对知识图中的知识进行捕获并用于生成类别表示。TrGCN架构对计算节点的邻近节点的非线性组合。

论文提出的ZSL-KG方法与现有的基于WordNet方法相比,在视觉和语言任务方面的了6个基准数据集中的5个指标更优。

Code: https://github.com/BatsResearch/zsl-kg

Introduction

ZSL是一种训练策略,它能够使模型在不拥有新类别带标签样本的情况下对该类别进行分类。这些模型使用已知类别的带标签数据进行训练,同时使用这些类别的语义表示。在推导阶段,只要新的类别的语义表示被给定,然后对于这个新的类别的样本进行分类。

之前的ZSL工作使用了手工标注的属性、预训练的语义嵌入以及学习好的语义嵌入作为类别的表示。

先前的用于类别表示的方法有着各种不同的限制。如基于属性的方法虽然能够提供丰富的特征以及在许多ZSL对象分类的数据集上达到了SOTA的效果,但是对于未知的类别,属性必须提前为未知类别准备好,并且不能很好的适应数据集外新的类别。此外,构建属性数据集花费很大,基于属性的方法可能不适用于语言任务,因为语言任务需要属性拥有更细致的划分以及灵活性。

或者,预训练嵌入模型如GloVe或Word2Vec虽然提供了对于新类别的灵活性以及适应性,但是由于这些方法是基于大型语料库训练的,导致在ZSL任务中无法提供需要的明显的特征。许多方法都属于这一范畴,它们从文本或图片类别表示的描述中获取用于ZSL任务的类别表示。

最近,一个新兴的方法受到广泛的关注,即使用图卷积神经网络在ImageNet图、WordNet的名称子图上,用于学习将节点映射为类别表示。这些基于图的方法在ZSL对象分类任务中获得了优异的性能。这些方法提供了来源于图的高层次知识的优点,又有预训练嵌入模型的灵活。这些方法是通用目的,可用于除对象分类外的广大的任务中,同时这些方法也可以很好的用于语言数据集中。但是,ImageNet图是专门用于对象类型层次结构的,因此可能不能适用于多个领域的下游任务中。

本文提出的方法可以从常识知识图中获取类别表示并用于广泛的下游任务中。常识知识图是一种高层次的显示知识,只需要很少的人工就可以应用于广泛的任务中去。但是将现有的ZSL框架调整为从常识知识图中学习类别表示有几个方面的挑战。

常识知识图很大而且在一整个图中训练图神经网络可能非常昂贵。另外,常识知识图没有有向无环图结构。

本文提出的ZSL-KG框架使用新颖的Transformer图神经网络学习类别表示。图神经网络通过聚合每个节点的相邻节点来学习图结构的表示,之前的一些方法如GCNZ,DGP方法的聚合操作都是线性的,如(基于权重的)邻居节点特征平均池化或最大池化。为了获取常识知识图中的复杂信息,TrGCN学习了一种基于Transformer的聚合器来计算相邻节点特征的非线性组合,并且能够增强对于类别表示的表达能力。

主要贡献有以下四个方面:

  • 提出了一种学习将常识知识图中的节点映射为用于ZSL任务的类别表示的方法
  • 提出了ZSL-KG方法,该方法使用了Transformer图神经网络的结构,该架构能够学习节点邻域节点的非线性组合并且能够生成富有表现力的类别表示。
  • 同时还证明了论文提出了本来用于对象分类目的地框架还能用于语言任务。
  • ZSL-KG框架在多个数据集上达到了SOTA并且比现有的基于WordNet的ZSL框架性能更优。

Background

本节简要的总结了零样本学习和图神经网络。

Zero-Shot Learning

现有训练集,其中属于已知类别。

在传统的ZSL(CZSL)中,给定未知类别的样本,需要预测它的正确的类别,同时

在广泛的ZSL(GZSL)中,给定的样本来自于已知和未知的类别,要求预测出它的类被

论文选择了CZSL和GZSL任务。

ZSL分类器是在已知类别中进行训练的,与传统的监督学习不同的是,它们在训练时会使用到一些类别表示如属性、预训练嵌入模型等。最近的一些方法通过学习一个类编码器来生成从初始输入到向量形式的类别表示。(初始输入可以说一串字符串、或者该类的其他形式表示方法,在本文中y是图中节点的k邻近节点)。

在推导阶段,类别表示将会用于为每个已知或未知类别的样本打上一个标签,它是将样本通过一个编码器传递,之后预测该样本类别为其样本表示与所有样本类别表示中内积最大的样本的类别。

之前的工作常常使用了一种或两种方法来学习类编码器。一种方法是使用相容性矩阵定义的一种双线性相似函数: 这个双线性相似函数给每个样本-类别对都会打一个分数。上式中参数是通过对f函数进行softmax操作得到的,而f函数则是对于所有可能的已知类别,最小化它们与真实标签的交叉熵损失或ranking损失。

Ranking Loss:

Ranking Loss被广泛的应用在机器学习的许多领域、任务和神经网络中,所有它还有一些其他的名字如Contrastive Loss、Margin Loss、Hinge Loss或Triplet Loss等。

对于BCE和MSE loss而言,它们的目标是去预测一个label或一个值或一个集合,与它们不同的是Ranking Loss是去预测与输入之间的相对距离,这个任务也被称为度量学习。

虽然Ranking Loss有很多名字,但是可以将其分成两种情况:

  1. 每组使用两个训练数据:Pairwise ranking loss
  2. 每组使用三个训练数据:Triplet ranking loss

详细介绍可看:【译】如何理解 Ranking Loss, Contrastive Loss, Margin Loss, Triplet Loss, Hinge Loss这些容易混淆的概念 - 知乎 (zhihu.com)

换句话说,f具有对于正确的类别打分高而错误类别打分低的特点。而W经常被现在为低级别的,以降低可学习参数的数量。其他的一些相似函数的变体增加了较小的变化,比如W因子之间的非线性。

另一种方式是以监督的方式学习一种卷积神经网络分类器。该网络的最后的全连接层对于每个类别都会生成一个向量表示,剩余的层作为样本编码器,然后类别编码器通过最小化监督学习与的L2损失进行训练。

Graph Neural Network

图神经网络的主要想法是学习图中的节点嵌入,用于反映图的结构。

对于一个图而言,V表示带有节点特征的顶点集合,是有标签的边,而表示关系类别。

图神经网络通过k邻近节点方法的迭代聚合来学习节点的嵌入,每一层的图神经网络都有两个主要的组件:AGGREGATE和COMBINE: 其中表示邻域聚合的节点特征,表示节点v邻域的节点特征(包括自环)。这个聚合的节点被传递给COMBINE用于生成第l层的节点表示 其中,,这里的是节点的初始特征向量。

之前使用GNN用于ZSL的工作使用了GloVe用于表示初始化向量;还有工作提出使用LSTM作为一个非线性的聚合器。然而这些工作的输出对输入的邻域顺序十分敏感。最近也有工作提出将LSTM模型对于输入不敏感,通过输出的排列进行平均,但是这样即增加了大量计算耗费同时对于预测进度的提升也十分有限。相反,本文提出的TrGCN模型在ZSL-KG架构中是非线性的同时还能很自然地排除排列顺序的干扰。(又是一篇将xxx模型替换为Transformer的论文😳)

ZSL-KG框架

上图展示了ZSL-KG框架并以“律师”作为例子。

常识知识图以图的形式提供了一种对于人类来说高层次的知识。图中的节点是一些概念,它们通过进行连接,这些图中的联系提供了一种丰富的和大尺度的高层次信息,这使得它们能够扩展到很多任务中。

GCNZ框架和DGP框架从结构化的知识中学习类别表示,这些方法只能应用于一些小图如ImageNet或WordNet,因为这些图是做了限制性的假设。GCNZ在训练节点读取整个图,因为现有的开放的可获得的常识知识图中的节点数量从十万到八百万不等,边的数量从2百万到2千万不等,这使得训练时的计算量会很大。另外,在ZSL任务中,因为测试阶段新的类别的加入可能导致知识图可能会改变。其次,DGP模型需要的是一个有向无环图或者图中的亲子关系。而在常识知识图中,我们并不局限于亲子关系。

论文使用一种新的图神经网络TrGCN:Transformer GCN学习类别表示来克服这些问题。

首先Transformer是一种非线性的模型,常用于机器翻译和语言模型的任务中。它使用多次感知机和自注意力来实现输入集合的非线性组合。本文基于此特点采用Transformer学习一个排列顺序无关的非线性聚合器,该聚合器能够捕获常识知识图的复杂结构。之后这个学习到的模型可以在不进行重新训练的情况下预测新的图结构,这使得它能够很好的用于ZSL任务。

下列是对TrGCN的描述:

首先将邻域节点特征通过 一个两层的使用ReLU的MLP,然后将输出的特征与输入的特征进行一个残差连接,之后将融合后的特征通过一个Layer Normalization层:

形式化表示式为: 上式中都是前馈神经网络的可学习的权重矩阵,表示ReLU激活函数。

然后,非线性的邻域特征被传递到自注意力层用于计算每个查询节点特征的加权组合: 上式中是所有邻域查询向量的集合,是所有key向量的集合,是所有值向量的集合,而是维度为的可学习的投影矩阵。

注意力层输出的特征被投影到另一个线性层中,并于之前的特征进行一个残差连接,之后通过一个Layer Normalization层:

上式中,是可学习的矩阵。

为了获得节点v的聚合向量,将上述从Transformer Encoder中获得到的输出向量通过一个置换不变性池化函数如平均池化。然后这个聚合向量会通过一个线性层后使用一个非线性的变换如ReLU或LeakyReLU: 上式中是一个可学习的权重矩阵。

有工作将图注意力网络与Transformer进行了比较,研究发现如果图被视为全连接的,则GAT就等同于Transformer。而GAT与TrGCN也有一定的相似之处,也有一些显著的区别。

TrGCN将自注意力运用到所有的节点对:

基于Transformer的聚合器通过的邻居节点计算该节点的新的非线性表示

与此相对应的是,GAT仅将自注意力运用到计算节点的邻居节点的权重的标量。

Neighborhood Sampling

本论文的实验使用ConceptNet作为常识知识图,但是选取的知识图对于ZSL-KG框架来说是透明的,不可知的。

ConceptNet具有较高的节点度数,这对于训练图神经网络是一个挑战

现有的邻域采样方法包括随机采样、重要性采样、随机游走采样等。论文模拟了图中节点的随机游走,将邻域节点赋予一个命中概率,在训练和测试阶段,从邻域中根据命中率,采样Top N个节点。

Stacked Calibration

在GZSL配置下,GZSL模型倾向于Overpredict已知类别,根据之前的工作,本文使用通过降低下列共存分数解决这个问题: 上述公式中的校正系数是已知类别上进行调整的超参数。

Task and Results

目标任务:Fine-grained entity typing、intent classification、object classification

Proposed Method: ZSL-KG

Baseline: GCNZ、SGCN、DGP

其中,GCNZ使用对称归一化拉普拉斯算子生成类别表示;SGCN使用非对称归一化图拉普拉斯算子来生成类别表示;DGP使用具有祖先和后代两阶段传播的稠密图链接方案来学习类别表示。

对于每个任务,本文都将ZSL-KG与该任务的SOTA进行比较。

Setup

本文对于基于图的方法使用了两层的图神经网络与ZSL-KG。首先将类别与WordNet图中的节点进行了对应,然后使用了 Kampffmeyer 等人的工作的代码将方法适应于语言数据集。论文将类别与ConceptNet进行类对应,后处理ConceptNet,采样,以及随机游走。

4.1 Fine-Grained Entity Typing

Fine-Grained Entity Typing指的是将句子的实体分类为一个或多个小范围的语义类型的任务。这种不需要额外人力就能识别新的细粒度类别的类型的能力可以用于一些下游任务如:关系提取、共同引用解析。

数据集

细粒度实体分类是一个Zero-Shot多标签分类任务,因为每个实体可以与多个标签有关联。

评估的数据集包括:OntoNotes和BBN数据集。

首先将数据集分成两部分:粗粒度的标签(/location)和细粒度的标签(/location/city),基于前人的工作,本实验在粗粒度的标签上训练,然后在测试集中对粗粒度和细粒度的标签都进行预测。

实验

在ZSL-KG和其他基于图的方法上使用了bilinear相似度函数,例子编码器为AttentiveNER biLSTM,类别编码器为图神经网络。同时还重建了该任务的几个SOTA方法:OTyper和DZET,前者使用平均词嵌入作为类别表示,后者使用Wiki百科全书描述符作为类别表示。两个方法都是通过最小化交叉熵损失进行训练的。

评价指标为:Strict Accuracy 、Loose micro F1、Loose macro F1

使用场景:在计算公式中考虑到了每个类别的数量,所以适用于数据分布不平衡的情况;但同时因为考虑到数据的数量,所以在数据极度不平衡的情况下,数量较多数量的类会较大的影响到F1的值;

使用场景:没有考虑到数据的数量,所以会平等的看待每一类(因为每一类的precision和recall都在0-1之间),会相对受高precision和高recall类的影响较大;

Strict Accuracy 对模型的错误标签预测进行惩罚,而且标签预测的数量必须与ground Truth相符,而Loose Micro F1和Loose Macro F1则衡量在其他假阳性预测中是否预测到了正确的标签。

上表显示,平均来说,ZSL-KG比SGCN在Strict Accuracy指标是高2.18个百分点,而SGCN模型在OntoNotes数据集上有更好的Loose Micro F1数值以及在BBN数据集上有更好的Loose Macro F1数值,因为该模型能够 overpredict标签,并且相比ZSL-KG有更大的False Positive。ZSL-KG模型在标签预测上有更高的精确度,以及相比于其他的方法有更高的严格准确度。

上表展示了ZSL-KG比特定的Baseline表现更为优异,同时达到了SOTA。

Indent Classification

意图分类是一种文本分类任务,旨在识别用户与聊天机器人或个人语音助手对话时所表达的意图。

Dataset

SNIPS-NLU

训练集有5个已知类别,本文将其分成包含3个类别的训练集以及2个类别的验证集

Experiment

零样本意图分类是一种多类别分类任务。

样例Encoder为结合注意力的biLSTM

模型训练10个epoch,最小化交叉熵损失,选取在验证集上损失最小的模型,在测试集上评价准确性。

现有的在零样本意图分类任务的SOTA:Zero-Shot DNN、IntentCapsNet、ResCapsNet-ZS

Result

Object Classification

Datasets

数据集包括:Imagenet、Attribute2(AWA2)、attribute Pascal Yahoo(aPY)

Experiment

首先学习类别表示:最小化学习的类别表示在ILSVRC2012数据集上预训练的ResNet分类器的全连接层的权重的L2距离。

然后将类别表示冻结,将ResNet骨干在数据集的训练图像中微调。

评估ImageNet使用两种配置:ZSL和GZSL,评估模型使用三种层次的难度:2-hops、3-hops、ALL

hops代表测试的类别与ILSVRC数据集类别的距离。

对于ZSL,预训练的ResNet101作为骨干网络,然后报告类别平衡的未知类别的准确度。

对于GZSL,微调的ResNet101来报告已知类、未知类以及他们调和平均数的类别平衡的准确度。

Results

上图可以看出ZSL-KG框架在噪声越大的情况下的效果相对更好。

上图展示了在平均总的调和平均准确度的指标上,ZSL-KG框架比其他方法的性能有显著提升。也能看到从AWA2数据集到aPY数据集,其他基于图的方法的准确度都有一个大的降低,而本文的框架仍然保持了高的准确度

上图展示了ZSL-KG与其他一些基于属性的特定的方法进行比较的结果,在aPY数据集上,ZSL-KG方法在调和平均准确度上比之前的SOTA方法高了14个点。论文认为在ILSVRC2012数据集上进行预训练类别表示对ZSL-KG框架有一个很好的帮助,但是现有的基于属性的方法不能在该数据集上进行预训练是因为该数据集没有手工标注的属性。这也突出了从图中获得类别表示的好处。

Discussion

实验结果表明,ZSL-KG比现有的基于WordNet的方法在OntoNotes、BBN、SNIPSNLU、aPY和ImageNet数据集上有了显著的提升。虽然DGP方法在AWA2数据集上的表现更好,但是在aPY和ImageNet数据集上的表现则不佳。相比之下,ZSL-KG方法在大的ImageNet数据集上达到了最高的性能以及在aPY数据集上达到了SOTA。

Comparison of Graph Aggregators

论文还对ZSL-KG框架针对不同的聚合器进行了消融实验。

Result

TrGCN比现有的使用线性聚合器的GNN网络性能更优,TrGCN比这些方法在这些任务中的准确度上高至少1.23个百分点。虽然没有一种架构在所有的任务上都是最优,但是TrGCN在大多数任务上都是最好的。

ZSL

GNN

Common Sense Knowledge Graph

Conclusion

ZSL-KG是一个灵活的框架,使用零样本学习集合常识知识图,可以应用到大范围的任务中去且不需要更多的标注花费。本文的工作介绍了一种新颖的Transformer图卷积神经网络,用于学习常识知识图中的丰富的表示。