论文阅读_基于动态辩论的知识图推理

介绍

英文题目:Reasoning on Knowledge Graphs with Debate Dynamics(R2D2)
中文题目:基于动态辩论的知识图推理
论文地址:https://arxiv.org/pdf/2001.00461.pdf
领域:知识推理,自然语言处理,知识图谱
发表时间:2020
出处:AAAI 2020
被引量:6
代码和数据:https://github.com/m-hildebrandt/R2D2

泛读

  • 针对问题:基于图的自动知识推理
  • 目标:提升对真命题和伪命题的识别,提升可解释性
  • 结果:对于分类和链接预测任务均有良好表现,且实现了一些归因。
  • 核心方法:
    • 利用动态辩论的强化学习算法。
    • 这是一个相对白盒的方法
    • 采用两个agent的对抗,一个找真命题相关路径,一个找假命题相关路径,使用知识图中的路径作为参数生成特征,最终由判别器做出判断推理的真伪。
  • 具体模型:深度学习模型,两个Agent使用LSTM,判断使用MLP
  • 难点:对抗学习应用于图论和知识推理。
  • 泛读后理解程度:60%
    (看完题目、摘要、结论、图表及小标题)

精读

(只翻译了实现部分)

3. 方法

文中方法由三部分组成:一个分类器judge和两个agent。agent用于在知识图(KG)中寻径,两个agent分别寻找支持各自论点的证据:基于逐渐训练的模型,决定在每一个node上如何选择下一跳;并将每一跳记入当前路径;所有路径都作为judge判断的依据,来训练和预测推理是否为真。

如图-1所示:

图中各种颜色的线都是已存在的边edge,其中蓝色线是judge的推理:Jordan是不是专业的篮球运动员;绿色的边是agent1找到的认为该假设成立的证据;红边是agent2找到的认为该假设不成立的证据。

可以看到,模型通过训练(包括judge判断子模型、两个agent子模型寻径的方法,都学习成网络参数)。最终模型不仅能做出推理,且能展示推理相关的证据链。

其推理如下:

States
将可观察的状态定义为S,每个agent在某个时点的状态定义为e,t为时间点,i指定是哪个agent,q=(s,p,o)是一个三元组,s,p,o分别指主谓宾。将状态定义为:
S_t^{(i)}=(e_t^{(i)},q)
Actions
将在状态S时所有可能的动作定义为A(原地不动也是一种动作self-loops),它包含所有从e点出发的边和相关的目标结点,A定义为:

A_{S_t^{(i)}}=\{(r,e)\in R\times\xi:S_t^{(i)}=(e_t^{(i)},q)\land(e_t^{i},r,e)\in Kg\}

Environments
将环境定义为:agent动作更新状态的过程

Policies
将agent一系列的行为定义为策略。第一步仅是一个主谓宾三元组,而后每一步根据其动作和上一步的状态来决定,通常将每个agent的动作历史通过LSTM编码。

其中的动作a也隐含了之前的状态,q是对三元组的编码。实体和关系嵌入是每个agent特有的,在训练和搏奕过程中学习。

将每一步每一个动作可能的概率分布定义为d:
h_t^{(i)}=LSTM^{(i)}([a_{t-1}^{(i)},q^{(i)}])
其中A包含了S状态所有可能的潜在行为。

最终训练出的策略,就是上述公式中学习到的一系列模型参数。

Debate Dynamics
动态辩论,φ(q) ∈ {0,1}是agent针对三元组q得出的结果,agent1尽量找到结构为true的三元组,agent2则相反。设共辩论T次(上例中辩论了两次),用τ 表示论据。

The Judge
送别器由两部分组成,第一部分是二分类器,第二部分用于评价论据的质量,并将结果回传给agent,以供agent调参,使agent通过训练更好地寻找证据。

模型结构如下:

对于每一步(第n步)计算判别结果y。
y_n^{(i)}=f([\tau_n^{(i)},q^J])
需要注意的是,这里的判断不是根据q的主谓宾做出的,而是根据agent的行为做出的。

最终,对所有步的综合得分如下,它加入了每个agent每一步的y:
t_\tau=\sigma(w^TReLU(W\sum_{i=1}^2\sum_{n=1}^Ny_n^{(i)}))
损失函数使用交叉熵:

L_q=\phi(q)log t_{\tau}+(1-\phi(q)(1-logt_{\tau})

在训练过程中,优化每一步的损失,并使用L2惩罚以避免过拟合。

Reward
为了给每个agent更多反馈信息,judge可以分别计算两个agent的t。

Reward Maximization and Training Scheme
反馈最大的训练方案:文中利用强化学习来最大化agent的累积反馈,信息增益是反馈R的累积。
构建KG+,它包含在KG中未观察到的三元组,其基本原理如下:由于KG只包含真实事实,因此,创建负标签的数据集。对(s,p,o)∈KG,生成(s,p,!o)构造KGc。KG+ :=KG ∪ KGc。(我理解好像是以此方法构造反例)。
另外,优化的方法还包括:在开始迭代时先冻结agent的权重,先训练judge的权重;用移动平均线减少误差;用正则化强化探索等。

一些问题

看论文过程中一直没太明白,为什么可以根据图中的红色边+绿色边,就能推断蓝色边?我觉得可能是:传入模型的是node和edge的嵌入(比如:一开始可能是词嵌入或者图嵌入),如示例中所示:Jardan是专业的蓝球运动员(蓝色),可以通过公牛队,NBA(绿色)这些词嵌入得到职业的相关性;而明显与儿童电影,棒球(红色)相关的职业相反;黑色的性别、国籍则与之无关。

  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值