go for a walk and arrive at the answer: reason over paths in knowledge bases using reinforcement learning
来源
2018 ICLR MINERVA模型
Rajarshi Das, Shehzaad Dhuliawala, Manzil Zaheer
Luke Vilnis, Ishan Durugkar, Akshay Krishnamurthy, Alex Smola, Andrew McCallum
frajarshi, sdhuliawala, luke, akshay, mccallumg@cs.umass.edu
manzil@cmu.edu, ishand@cs.utexas.edu, alex@smola.org
University of Massachusetts, Amherst, Carnegie Mellon University
University of Texas at Austin, Amazon Web Services
背景
自动推理长久以来一直是人工智能的长期目标,自动推理能力指的是计算机具有从目前的证据推断出新的证据的能力。本文主要专注于知识图谱上的推理,知识图谱通常是不完整的,很多事实都没有在知识图谱中并且通常是可以根据图谱中的事实推断出来。本文的目标是机器自动化学习这样的路径,将这个问题建模为查询问答,问题的形式是
(
e
s
,
r
q
,
?
)
(e_s, r_q, ?)
(es,rq,?)。
在自动推理的研究工作中,主要分为三类:早期基于符号表示的推理,这类方法的泛化能力较差,被第二种基于向量表示的方法替代,一些使用张量分解或者神经网络的方法,这些方法可解释性差,并且不能够捕捉知识图谱中路径表示的链式推理。神经网络多跳模型通过在知识库路径(embedding)上解决上面的链式推理问题,但是这些模型都需要通过在知识图谱上进行随机游走获取路径作为输入。本文利用强化学习方法高效的在知识图谱上进行路径搜索,不需要预先计算路径。
模型
state:
S
=
(
e
t
,
e
1
q
,
r
q
,
e
2
q
)
S=(e_t, e_{1q}, r_q, e_{2q})
S=(et,e1q,rq,e2q)
observation: 环境完整的状态不是完全可见的,智能体知道当前所在位置
e
t
e_t
et, 查询
(
e
1
q
,
r
q
)
(e_1q, r_q)
(e1q,rq), 但是答案是不知道的
e
2
q
e_{2q}
e2q
action:
A
s
=
{
(
e
t
,
r
,
v
)
∈
E
}
⋃
{
(
s
,
∅
,
s
)
}
A_{s} = \{(e_t,r,v) \in E\} \bigcup \{(s, \emptyset, s)\}
As={(et,r,v)∈E}⋃{(s,∅,s)}
transition:
δ
(
S
,
A
)
=
(
v
,
e
1
q
,
r
q
,
e
2
q
)
\delta(S,A) = (v, e_{1q},r_q,e_{2q})
δ(S,A)=(v,e1q,rq,e2q)
rewards: 如果agent 当前的节点是正确答案,则返回奖励1,否则是0
策
略
网
络
:
策略网络:
策略网络:
a
t
−
1
a_{t-1}
at−1是
t
−
1
t-1
t−1时刻的action,
o
t
o_t
ot是
t
t
t时刻的observation
训练:
##代码
代码