当前位置: 代码迷 >> 综合 >> 学习论文Generative Adversarial Zero-Shot Relational Learning for Knowledge Graphs笔记
  详细解决方案

学习论文Generative Adversarial Zero-Shot Relational Learning for Knowledge Graphs笔记

热度:26   发布时间:2023-12-17 11:14:28.0

1.文章的重点工作和创新点

1.Zero-shot:零样本学习,相关简介如下,
禁 止 套 娃

零样本学习常用演算法有:

  • Domain Adaptation,推荐Associative Adaptation系列的论文"Associative Domain Adaptation
    "
  • Data Selection:是一种相对直观的方法,论文《Selecting Training Data for Cross-Corpus Speech Emotion Recognition: Prototypicality vs. Generalization
    》在训练集中寻找和测试集相似性较高的来训练一个新的模型
  • Semantic Space:利用已知的Semantic Space方法来对训练资料库中没看过的领域做预测,论文《Zero-shot learning through cross-modal transfer》透过文字和图片两种Modality做结合
  • Feature Normalization:最后一个方法就是在特征端动手。通常不同数据集之间训练的网络无法通用(比如猫狗数据有监督不能识别小乌龟)的原因就是在特征空间Feature Space中这些数据的分布差异过大,甚至不在同一个Space上,所以才会导致模型无法共用,所以论文《Unsupervised learning in cross-corpus acoustic emotion recognition》t讨论了各种不同的Feature Normalization方法来得到训练出一个更加智能的Model

2.GAN:https://zhuanlan.zhihu.com/p/42606381

3.idea:通过关系类别的文本描述生成关系类别的表征,让生成器来通过未知文本的描述得到未知文本的表征(以关系向量的形式表征)

2. Introduction

传统的large-scale知识图谱需要大量的结构数据(structured data),也就是节点,实体和边用头实体和尾实体及其对应的关系的三元组来表征。但是对于newly-added relations就GG了,因此考虑Zero-shot learning(ZSL)
零次学习。作者概括为:新的语义特征类别(semantic features of new classes)可以直接从文本描述(textual descriptions)获得。所以作者希望利用unseen relations的文本描述直接生成relation embeddings。这一过程面临两个挑战:1.需要解决如何将文本语义空间(text semantic space)knowledge transfer到知识图语义空间(knowledge graph semantic space)中,从而实现这种无监督的zero-shot目的。2.对于文本描述中的噪声问题对分辨目标关系的干扰。对于挑战1,作者用将文本描述喂给GAN来生成虚假关系embeddings,作为我们"inter-class diversity"的未知关系(unseen relations);对于挑战2,作者利用词嵌入的词袋模型,计算TF-IDF特征降低less relevant words的weight。

3. Zero-Shot Learning Setting

3.1 Zero-shot Setting

According to the zero-shot setting, there are two different relation setsRs={rs}R_s=\{ r_s\}Rs?={ rs?}也是训练集,Ru={ru}R_u=\{ r_u\}Ru?={ ru?},也是测试集:

  • Rs?Ru=?R_s\bigcap R_u=\phiRs??Ru?=?,即seen关系集和unseen关系集不重叠(seen classes and unseen classes)

定义 background KG G\mathcal GG:G={(e1,rs,e2)∣e1∈E,e2∈E}\mathcal G=\{(e_1,r_s,e_2)|e_1\in E,e_2 \in E\}G={ (e1?,rs?,e2?)e1?E,e2?E}其中, G\mathcal GG包含大量的关系三元组,且所包含的关系类型均属于已知关系RsR_sRs?(seen relation)的实体e,也提供给训练集用。EEE是实体集合,训练集DsD_sDs?和测试集DuD_uDu?的实体都来自EEE
在这里插入图片描述
零样本学习目标是在没有任何标注目标信息的前提下对未知目标信息进行判别,这建立在大量标注数据的基础上,且已知与未知关系需要共同的知识背景。关键是知识转移问题,需要通过关系类别的文本描述生成关系类别的表征。如果可以通过训练数据集很好的学习这种能力,那么我们的模型就可以对任意的关系建立关系向量表征。于是作者采用了基于条件的生成对抗网络,通过设置合理的对抗学习目标,让生成器具备通过文本描述生成文本类别表征的能力。
在这里插入图片描述

那么对于一个新的文本关系描述(unseen relation text description),生成器生成合理的关系类别向量,就可以通过Link prediction余弦相似度完成。
在这里插入图片描述

3.2 Generative Adversarial Models

当给定一个关系类别的描述,生成器的作用是生成合理的关系向量表征,这里的关系向量表征被认为是合成数据,即Fake data。相对于Fake data,该数据集的标注数据就被视为real data。为了形成对抗学习的条件,鉴别器的作用是区分real 和 fake 。
在这里插入图片描述

3.2.1 生成器的结构

在这里插入图片描述
首先是对文本描述编码——采用词袋模型,并且用TF-IDF加权。随机向量z由零一高斯分布得到。Generator的结构十分简单,由两层FC和一个layer normalization构成。通过Generator得到Fake data的向量表征。

3.2.2 Feature Encoder的结构

在这里插入图片描述
FE:对真实数据进行编码生成real data,是对抗学习之前完成的,并且其参数在对抗学习过程中也是不变的。

3.2.3 Discriminator的结构

在这里插入图片描述

Discriminator:对REAL和fake鉴别并给出输出样本关系的类别,可以有效提升Generator生成数据的多样性。结构为FC+ReLU及norm,然后进行分支计算。

4. Methodology

4.1 Feature Encoder

FE的作用:对三元组中的实体对的关系进行建模,其通过已知和未知的标注类别的数据(seen/unseen classes)进行训练。要求不仅给出已知类别的实体对合理的特征表征,也需要给出未知unseen类别实体对的特征标准。传统有监督方法会造成对已知模型参数的过拟合因此采用基于matching的方法进行训练。

Feature Encoder Network Architecture

在这里插入图片描述

FE包含两种子编码器:Entity Encoder和Neighbor Encoder。

  • Entity Encoder:实体本身提供的信息,得到UepU_{ep}Uep?的表征:uep=σ(f2(ve1)?f2(ve2))u_{ep}=\sigma (f_2(v_{e1})\oplus f_2(v_{e2}))uep?=σ(f2?(ve1?)?f2?(ve2?))f2(ve)=W2(ve)+b2f_2(v_{e})=W_2(v_e)+b_2f2?(ve?)=W2?(ve?)+b2?
  • Neighbor Encoder: 考虑的是实体在知识图谱结构化中的信息。采用一种one-hop结构(首先找到实体及他的one-hop实体以及他们之间的关系,我们用NeNeNe表示)然后分别计算每一个实体结构化表征,我们对所有one-hop三元组采用XXX计算得到Ue1U_{e1}Ue1?Ue2U_{e2}Ue2?,最后concatenate得到x(e1,e2)x(e_1,e_2)x(e1?,e2?)。具体实现方法,首先利用嵌入层(embedding layer)去寻找相邻邻点的实体向量(entity embeddings)venv_{e^n}ven?和关系向量(relation embeddings)vrnv_{r^n}vrn?。然后实体eee的基于结构的表示(structure-based representation)计算为:ue=σ(1∣Ne∣∑(rn,en)∈Nef1(vrn,ven))u_e=\sigma (\frac{1}{|\mathcal N_e|}\sum_{(r^n,e^n)\in \mathcal N_e}f_1(v_{r^n},v_{e^n}))ue?=σ(Ne?1?(rn,en)Ne??f1?(vrn?,ven?))f1(vrn,ven)=W1(vrn?ven)+b1f_1(v_{r^n},v_{e^n})=W_1(v_{r^n} \oplus v_{e^n} )+b_1f1?(vrn?,ven?)=W1?(vrn??ven?)+b1?

4.2 Matching-based Training Objective

FE是基于Matching-based 方法得到,这里定义三种三元组:

  • Reference Triple:(e1?,rs,e2?)(e_1^*,r_s,e_2^*)(e1??,rs?,e2??)
  • Positive Triple:(e1+,rs,e2+)(e_1^+,r_s,e_2^+)(e1+?,rs?,e2+?)
  • Negative Triple:(e1+,rs,e2?)(e_1^+,r_s,e_2^-)(e1+?,rs?,e2??)
    在每一步的训练中,首先从关系类型三元组RsR_sRs?中随机抽取K个参考三元组Reference Triple,从batch中选取positive triple。Negative Triple是替换部分positive triple得到的然后score,然后得到loss函数。
    在这里插入图片描述

4.2 Generative Adversarial Model

Generator:

下面给出对抗学习过程中目标函数的定义:
在这里插入图片描述
首先看generator目标函数LGθL_{G_{\theta}}LGθ??:第一项是与鉴别器进行对抗训练的训练目标,起希望通过对抗文本描述生成的关系向量尽可能的被鉴别器判定为real data,为了防止对抗训练的模型崩溃采用WGAN定义生成器的损失函数。第二项为针对类别分类的训练目标,第三项是一个策略。

Discriminator:

在这里插入图片描述

鉴别器希望将生成器的输出表征判断为fake,也希望将来对真实样本的表征判断为real,所以第一项也用了WGAN。第二项是类别分类的训练目标,第三项防止模型训练崩溃。

同时对于G和D我们采用了Spectral Normalization方法,可以进一步提升对抗训练的可靠性

5.Experiment

  • 改造两个数据集NELL和WIKI
  • baseline设置:因为没KG的ZSL相关工作所以我们在这簪中改造了一下,不在使用随机初始化d 关系向量进行训练,而是采用了一个前馈网络,通过关系类别描述的文本想来那个Tr生成关系向量,为了公平对比前馈网络采用了和Generator相似的结构。
  相关解决方案