图机器学习(Knowledge Graph Embeddings)
1. 前言
1. 基本定义
G=(V,E,R,T),分别代表节点,边,边类型,节点类型
2. 举例
异质图举例:生物医学知识图谱或事件图
3. Relational GCN(RGCN)
将GCN拓展到异构图上。
- 从只有一种边类型的有向图开始:通过GCN学习节点A的表示向量,即沿其入边形成的计算图进行信息传播(message + aggregation)。
- 对于有多种边类型的情况:在信息转换时,对不同的边类型使用不同的权重 W
- RGCN的定义
RGCN中如果有L层,那么就还有L个参数矩阵: W R ( 1 ) , W R ( 2 ) , … … , W R ( L ) W_R^{(1)},W_R^{(2)},……,W_R^{(L)} WR(1),WR(2),……,WR(L)每个矩阵维度大小为:$d^{(l+1)}\times d{(l)}其中d{(l)} $ 是第 l l l个隐藏层 的维度,可以看到RGCN中参数数量和关系类型数量成正比,知识图谱中关系类型数量很多,容易产生过拟合,不好训练。
-
解决RGCN过拟合问题
-
block diagonal matrices
将 W r W_r Wr弄成block diagonal matrices形式,使得权重矩阵变稀疏,减少非零元素个数:
-
相当于用小的block在对角线上进行拼接,每个block是对应一个关系要学习的参数,如有有B个block,那么参数数量从 d ( l + 1 ) × d ( l ) d^{(l+1)}\times d^{(l)} d(l+1)×d(l) 减少到: B × d ( l ) B × d ( l + 1 ) B B\times \frac{d^{(l)}}{B}\times \frac{d^{(l+1)}}{B} B×Bd(l)×Bd(l+1)。这个法子有一个缺点,可以看到各个block在大矩阵里面的关系是正交的,因此相互之间没有交互,也就是认为关系和关系之间是独立的,没有相互的影响。
- Basis/Dictionary learning
类似提取公因式的思想,将所有的参数矩阵提取一个共享权重,然后乘以一个各个关系的常量参数: W r = ∑ b = 1 B a r b ⋅ V b W_r=\sum_{b=1}^Ba_{rb}\cdot V_b Wr=∑b=1Barb⋅Vb
这里只需要学习B个常量参数 a r b a_{rb} arb即可
2. Knowledge Graphs: KG Completion with Embeddings
知识图谱是异质图,用节点代表实体,边表示实体间的关系
下面是一个citation KG的例子:
KG最常见的应用就是推理和问答。目前公开的大型KG数据集:FreeBase, Wikidata, Dbpedia, YAGO, NELL, etc.
特点:数据量大、缺少很多关系
对于以上特点的KG,是不可能遍历所有可能存在的实体的,我们还能预测可能存在却缺失的边吗?
3.Knowledge Graph Completion: TransE, TransR, DistMult, ComplEx
特点:数据量大、缺少很多关系
对于以上特点的KG,是不可能遍历所有可能存在的实体的,我们还能预测可能存在却缺失的边吗?
1. 知识补全任务
已知 (head, relation),预测 tails(注意,这跟链接预测任务有区别,链接预测任务是啥都不给,直接预测哪些链接最有可能出现)
举例:已知(JK罗琳,作品流派),预测 tail “科幻小说”
2. 知识图谱表示
边被表示为三元组的形式:( h , r , t ) head, relation, tail
思想是使得(ℎ, 𝑟)的embedding与𝑡的embedding越接近越好,这样预测的结果才准确。
(ℎ, 𝑟)的embedding方式(TransE、TransR)
(ℎ, 𝑟)与𝑡的接近程度如何定义(DistMult, ComplEx)
3. 四种模型对比
其中:
1.
s
y
m
m
e
t
r
i
c
r
e
l
a
t
i
o
n
s
(如室友关系)
r
(
h
,
t
)
⇒
r
(
t
,
h
)
2.
a
n
t
i
s
y
m
m
e
t
r
i
c
r
e
l
a
t
i
o
n
s
(如上位词关系
−
马和白马)
r
(
h
,
t
)
⇒
¬
r
(
t
,
h
)
3.
i
n
v
e
r
s
e
r
e
l
a
t
i
o
n
s
(如导师
−
学生关系)
r
1
(
h
,
t
)
⇒
r
2
(
t
,
h
)
4.
c
o
m
p
o
s
i
t
i
o
n
(
t
r
a
n
s
i
t
i
v
e
)
r
e
l
a
t
i
o
n
s
(如母亲
−
姐姐
−
姨母关系)
r
1
(
x
,
y
)
∧
r
2
(
y
,
z
)
⇒
r
3
(
t
,
h
)
5.1
−
t
o
−
N
r
e
l
a
t
i
o
n
s
(如这几个数据都是属于学生的关系)
r
(
h
,
t
1
)
,
r
(
h
,
t
2
)
,
r
(
h
,
t
3
)
…
…
r
(
h
,
t
n
)
1. symmetric relations(如室友关系)r(h,t)\Rightarrow r(t,h)\\ 2. antisymmetric relations(如上位词关系-马和白马)r(h,t)\Rightarrow \neg r(t,h)\\ 3. inverse relations(如导师-学生关系)r_1(h,t)\Rightarrow r_2(t,h)\\ 4. composition (transitive) relations(如母亲-姐姐-姨母关系)r_1(x,y)\land r_2(y,z) \Rightarrow r_3(t,h)\\ 5. 1-to-N relations(如这几个数据都是属于学生的关系)r(h,t_1),r(h,t_2),r(h,t_3)……r(h,t_n)
1.symmetricrelations(如室友关系)r(h,t)⇒r(t,h)2.antisymmetricrelations(如上位词关系−马和白马)r(h,t)⇒¬r(t,h)3.inverserelations(如导师−学生关系)r1(h,t)⇒r2(t,h)4.composition(transitive)relations(如母亲−姐姐−姨母关系)r1(x,y)∧r2(y,z)⇒r3(t,h)5.1−to−Nrelations(如这几个数据都是属于学生的关系)r(h,t1),r(h,t2),r(h,t3)……r(h,tn)
针对任务的需求,选择相应的模型进行训练