Multi-relational Poincare Graph Embeddings

NIPS2019上发表的MuPR模型,针对知识图谱中的多关系数据,利用双曲空间的庞加莱球进行嵌入,通过莫比乌斯矩阵乘法和加法实现关系特定的实体嵌入变换,有效解决了分层数据的多关系表示问题,尤其在连接预测任务上取得SOTA效果。

NIPS2019上的文章(原文在此https://arxiv.org/abs/1905.09791),非欧空间上的知识图谱嵌入,很有意思,做为学习笔记,记录于此。

双曲嵌入最近受到很多关注,因为他比欧式空间更准确地、更简洁表示分层数据。然而,多关系知识图谱往往表现出多样性的分层数据,这是现有的双曲模型不能解决的。本文提出在双曲空间的庞加莱球上进行多关系知识图谱嵌入,学习关系特定的参数来对实体嵌入进行变换(包括莫比乌斯矩阵乘法和莫比乌斯矩阵加法)。

1 Introduction

双曲空间可看做离散树的连续化,非常适合建模分层数据。多种多样的分层数据已经被嵌入到双曲空间上,他需要更少的维度但在下游任务中取得了很好的结果。这说明了在非负曲率的空间(双曲空间)上建模树型的结构比在零曲率空间(欧式空间)上建模更有优势.

很多数据往往表现出多分层的结构,比如狮子在食物链的顶端而哺乳类型树的底端。尽管非欧几何在表示学习上已经有很多研究,但在多关系数据上的研究还很少,仅有的ICLR2019上的一篇效果还没欧式空间上好。在双曲空间上表示多关系数据的难点在于找到合适的方式表示节点,这样的表示还要满足不同关系下的不同分层。现有的很多用双线性建模多关系数据的方法用内积做为相似度函数,但在双曲空间中没有响应的度量函数。另外一些用欧式距离做为相似度函数的方法可以在双曲空间上找到对应的转换,但是效果可能没有双线性模型好。

本文提出MuPR,将分层多关系数据建模到双曲空间的庞加莱球上。在欧式空间上,超球的表面积随半径的增长是多项式增长,而在双曲空间上呈指数增长,所以从数的根节点出发,在双曲空间中有更多的空间来分开叶子节点。MuPR学习关系特定的参数来翻译实体嵌入,它的表现不仅超过了在其对应的欧式空间的模型,而且在WN18RR上的连接预测取得了SOTA效果。MuPR相比于欧式嵌入需要更少的参数。本文还可视化了学习到的嵌入,分析了庞加莱模型的特性,比如收敛速度,每个关系上的性能,和嵌入维度的影响。

2 背景知识

知识图谱是个多关系图,表示关于实体的一些事实。(e_{s},r,e_{o})\in E \times R\times E,其中 E 是实体集,R是关系集,知识图谱通常是不完备的,所以链接预测的目的是发现更多的事实。通常需要学习一个打分函数\phi :E \times R \times E,它为每个三元组指定一个分数s=\phi (e_{s},r,e_{o}), 这个分数再经过一个非线性函数,就可得到一个三元组是真三元组的概率。

知识图谱的关系呈现多方面的特性,如对称、反对称和传递,很多关系,如has_part蕴含了实体间的分层结构,此时把它们嵌入到双曲空间上比嵌入到欧式空间上好。

庞加莱球上的双曲几何

半径为1/\sqrt c,c>0的庞加莱球(\mathbb{B}_c^d,g^\mathbb{B})是一个d维的流形 \mathbb{B}_c^d=\{x\in \mathbb{R}^d:c||x||^2<1\} 连带黎曼度量g^\mathbb{B},这个黎曼度量与欧式度量的关系为:g^\mathbb{E}=\textbf{I}_{d},g^\mathbb{B}=(\lambda _x^c)^2g^\mathbb{E}, 其中\lambda _x^c=2/(1-c||x||^2).庞加莱球上的两个点x,y\in \mathbb{B}_c^d 间的距离通过测地线(也就是两点之间的最短距离)来度量:

                                             d_\mathbb{B}(x,y)=\frac{2}{\sqrt c}tanh^{-1}(\sqrt c||-x\oplus_{c}y ||)

其中||\cdot ||是欧式范数,即||x ||=\sqrt {x_1^2+x_2^2+\cdots +x_n^2},   \oplus _c 表示莫比乌斯加法:

                                      x\oplus _{c}y=\frac{(1+2c<x,y>+c||y||^2)x+(1-c||x||^2)y}{1+2c<x,y>+c^2||x||^2||y||^2}

其中<\cdot >是欧式内积。莫比乌斯乘法可以通过将双曲空间中的点x\in \mathbb{B}_{c}^d 通过对数映射log_{\textbf{0}}^c(x)映射到在\textbf{0}\in \mathbb{B}_{c}^d点的切空间上,然后在欧式切空间上与矩阵\textbf{M}\in \mathbb{R}^{d\times k}进行矩阵乘法,然后再通过在0点的对数映射映射回双曲空间。即

                                                                  \textbf{M}\otimes_c x=exp_{\textbf{0}}^c(\textbf{M}log_{\textbf{0}}^c(x))

3 多关系庞加莱嵌入

在不同的关系下,实体间可能用不同的层次关系,一个理想的嵌入模型应该能同时捕获所有的层次。

打分函数:双线性模型用欧几里得内积来度量两个实体间的相似度,但是在双曲空间中没有与欧式内积对应的度量。欧式内积可由欧式距离和范数表示,即

                                                      <x,y>=\frac{1}{2}(-d_{\mathbb{E}}(x,y)^2+||x||^2+||y||^2)

其中,d_{\mathbb{E}}(x,y)=||x-y||是欧式距离.

注意到这一点后,Poincare Glove的作者将其中的欧式距离替换成Poincare距离d_{\mathbb{B}}(x,y)

本文定义出多关系图嵌入中的打分函数为:

                                                       \phi(e_{s},r,e_{o})=-d(\textbf{e}_s^{(r)},\textbf{e}_{o}^{(r)})^2+b_s+b_o\cdots \cdots(*)

其中,d:E\times R\times E\rightarrow \mathbb{R}^+是个距离函数,\textbf{e}_s,\textbf{e}_o\in\mathbb{R}^d是实体的嵌入,b_s,b_o\in \mathbb{R} 是头实体和尾实体的标量偏置。\textbf{e}_s^{(r)}=\textbf{Re}_s,\textbf{e}_o^{(r)}=\textbf{e}_o+\textbf{r}分别表示经过特定关系变换后的头实体和尾实体嵌入,\textbf{R}\in\mathbb{R}^{d\times d}是对角关系矩阵,\textbf{r}\in\mathbb{R}^d是关系的翻译向量。可理解成\textbf{e}_s\textbf{R}进行拉伸,而尾实体\textbf{e}_o由关系向量进行翻译。

将以上定义扩展到双曲模型上,MuRP模型的打分函数定义为

                                                   \phi_{MuRP}(e_{s},r,e_{o})=-d_{\mathbb{B}}(\textbf{h}_s^{(r)},\textbf{h}_{o}^{(r)})^2+b_s+b_o

其中\textbf{h}_s,\textbf{h}_o\in\mathbb{B}^d_{c}是头尾实体的双曲嵌入。

\textbf{h}_s^{(r)}=exp_{\textbf{0}}^c(\textbf{R}log_{\textbf{0}}^c(\textbf{h}_s)),由莫乌比斯矩阵乘法得到:先用log_{\textbf{0}}^c将原始的头实体双曲嵌入\textbf{h}_s\in\mathbb{B}^d_{c}映射到庞加莱球在\textbf{0}点的切空间上,然后用对角矩阵\textbf{R}\in \mathbb{R}^{d \times d}去乘,最后再用exp_{\textbf{0}}^c映射回庞加莱球上。

\textbf{h}_o^{(r)}=\textbf{h}_o\oplus _{c}\textbf{r}_h在原始的尾实体的双曲嵌入上加上(莫比乌斯加法)关系的双曲嵌入。

由于关系矩阵\textbf{R}是对角矩阵,所以MuRP的参数随实体和关系的数量线性增长,可以扩展到很大的知识图谱。为了得到一个三元组正确的概率,还要在打分函数上加个非线性函数sigmoid,即\sigma (\phi_{MuRP}(e_{s},r,e_{o})).

为了比较双曲嵌入和欧式嵌入的性能,将打分函数在欧式空间上进行定义时的模型叫做MURE.

几何上的直观观察:

从(*)式看出偏置 b_s 和 b_o 确定了以\textbf{e}_s^{(r)}为中心的超球的半径,当\textbf{e}_o^{(r)}落到半径为\sqrt{b_s+b_o}的超球面内时,三元组(e_s,r,e_o)成立。由于头、尾实体的偏置并不一样,所以头尾实体决定不同的决策边界,关系特定的\textbf{R}\textbf{r}决定了经关系调整后的实体嵌入的位置,而特定实体的决策边界的半径却独立于关系。(*)式定义的打分函数类似于现有的翻译模型的打分函数,只是加了偏置,这改变了模型的几何结构。偏置为每个实体定义了一个以实体的嵌入向量为中心的影响球体,这样实体不再被看做一个点。球体间的重合度量了两个实体间的相关性。可以把关系看做在空间中去移动球体,所以只有由三元组中的关系连接的两个实体的球体才会重叠。

4.模型训练和黎曼优化

在训练时也引入了负三元组。损失函数是log似然:

                                          \pounds (y,p)=-\frac{1}{N}\sum _{i=1}^N(y^{i}log(p^{(i)})+(1-y^{(i)})log(1-p^{(i)}))

用随机梯度下降来优化欧式模型,用黎曼随机梯度下降优化双曲模型。为了计算黎曼梯度\bigtriangledown _{R}\pounds, 在欧式梯度\bigtriangledown _{E}\pounds上乘以庞加莱度量张量的逆,即\bigtriangledown _{R}\pounds=1/(\lambda _\theta ^c)^2\bigtriangledown _{E}\pounds,与欧式更新步\theta \leftarrow \theta -\eta \bigtriangledown _{E}\pounds不同,黎曼更新的第一步用 exp_\theta ^c 将梯度\bigtriangledown _{R}\pounds\in T_\theta \mathbb{B}_c^d映射到对应到庞加莱球的对应的测地线上,然后计算黎曼更新\theta \leftarrow exp_\theta ^c(-\eta \bigtriangledown _{R}\pounds).

补充知识:

1.庞加莱球模型是双曲几何中五个等距模型之一,每个模型在双曲模型上从不同的视角进行数学上的操作。等距的意思是从一个模型的度量空间到另一个模型的度量空间存在 一一对应的保持距离的映射。

2.庞加莱球上的每个点\textbf{x}\in\mathbb{B}^d_{c}都有一个切空间T_{\textbf{x}}\mathbb{B}^d_{c},一个d维的向量空间,是流形\mathbb{B}^d_{c}在节点x附近的局部一阶近似。对于庞加莱球来说切空间就是欧式空间T_{\textbf{x}}\mathbb{B}^d_{c}=\mathbb{R}^d, 指数映射exp^c_\textbf{x}:T_{\textbf{x}}\mathbb{B}^d_{c}\rightarrow \mathbb{B}^d_{c}定义为:

                                                   exp^c_\textbf{x}(\textbf{v})=\textbf{x}\oplus _c(tanh(\sqrt{c}\frac{\lambda _{\textbf{x}}^c||\textbf{v}||}{2})\frac{\textbf{v}}{\sqrt{c}||\textbf{v}||})

它的逆函数log^c_\textbf{x}: \mathbb{B}^d_{c} \rightarrow T_{\textbf{x}}\mathbb{B}^d_{c}定义为:

                                          log^c_\textbf{x}(\textbf{v})=\frac{2}{\sqrt{c}\lambda _{\textbf{x}}^c}tanh^{-1}(\sqrt{c}||-\textbf{x}\oplus _c \textbf{y}||)\frac{-\textbf{x}\oplus _c \textbf{y}}{||-\textbf{x}\oplus _c \textbf{y}||}

3.Krackhardt hierarchy score

\textbf{R}\in\mathbb{R}^{n\times n}是n阶有向图G的二元可达矩阵,

                                          \textbf{R}_{ij}=\begin{cases} 1 & \text{ if } there \ is \ a directed\ path\ from\ i\ to\ j \\ 0& oherwise \end{cases}

则图G的Krackhardt hierarchy score定义为

                                            \text{Khs}_G=\frac{\sum_{i=1}^{n}\sum_{j=1}^{n}1(\textbf{R}_{ij}==1\wedge \textbf{R}_{ij}==1 )}{\sum_{i=1}^{n}\sum_{j=1}^{n}1(\textbf{R}_{ij}==1 )}

注:图1其实没看很懂

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

<think>首先,用户的问题是:“知识图谱推理中的基于Opportunities(OOD,LargeScale,Muiltimodal,Multi-relational,Explainable,Application,KG-LLM)”。这似乎是要求我讨论知识图谱推理中基于各种机会(Opportunities)的方面,具体包括:OOD(Out-of-Distribution)、LargeScale、Multimodal、Multi-relational、Explainable、Application、KG-LLM(Knowledge Graph-Large Language Model)。 我需要使用中文回答问题。回答后,必须根据用户的问题及我的回答提出3-5个相关问题。相关问题必须以“§§相关问题§§”开头,然后列出1.、2.、3.等,全部在一行或连续输出,不能换行分散。 用户的查询以“请使用中文回答问题”开头,并重复了规则。所以,我必须严格遵守格式。 ### 回答结构: 1. **回答问题部分**:解释知识图谱推理中的这些机会。每个点需要简明扼要。 - OOD(Out-of-Distribution):处理分布外数据的推理能力。 - LargeScale:大规模知识图谱的处理。 - Multimodal:多模态数据的集成。 - Multi-relational:处理多关系的能力。 - Explainable:可解释的推理。 - Application:实际应用场景。 - KG-LLM:知识图谱与大型语言模型的结合。 2. **格式要求**: - 回答完问题后,必须添加“§§相关问题§§”作为第一行。 - 然后列出3-5个相关问题,编号为1.、2.、3.等。 - 相关问题必须基于用户的问题和我的回答。 - 禁止换行分散,意味着整个相关问题部分应连续输出,没有额外换行。 ### 思考回答内容: - **OOD**:在推理中处理未见过的分布数据,提升模型泛化能力。 - **LargeScale**:高效处理数百万实体和关系,涉及分布式计算或高效算法。 - **Multimodal**:结合文本、图像等模态进行推理。 - **Multi-relational**:处理复杂关系类型,如一阶逻辑或高阶关系。 - **Explainable**:提供推理过程的解释,便于人类理解。 - **Application**:在各领域的应用,如推荐系统、医疗诊断。 - **KG-LLM**:利用LLMs增强知识图谱推理,或反之。 ### 相关问题设计: 基于我的回答,提出3-5个相关问题。问题应激发进一步讨论,如: 1. OOD处理的具体技术。 2. 大规模图计算的优化方法。 3. 多模态融合的挑战。 4. 可解释性的评估指标。 5. KG-LLM集成的案例。 确保总共有3-5个问题。 ### 完整输出: - 先写回答部分。 - 然后:§§相关问题§§ - 接着1. ... 2. ... 3. ... 等连续输出。 ### 代码示例(如果需要): 用户提到了“基于Opportunities”,但没有指定代码。在之前的交互中,用户有代码示例,但这里没有明确要求。我可以包括一个简短的代码片段来展示某个概念,比如KG-LLM集成,以符合示例格式的灵感。但问题焦点是机会,所以可能不需要代码。为了安全,我可以加一个简单的伪代码或示例,比如展示如何结合KG和LLM。 在用户的示例中,他们提供了Python代码,所以我会包括一个相关的代码片段。例如,KG-LLM的简单集成示例。 最终输出结构: 1. 解释各个机会。 2. 可选:代码示例(保持简单)。 3. §§相关问题§§ 4. 1. ... 2. ... 3. ... </think>### 知识图谱推理中的核心机遇分析 知识图谱(Knowledge Graph, KG)推理在人工智能领域蓬勃发展,基于以下关键机遇(Opportunities)推动创新: #### 1. **OOD(Out-of-Distribution,分布外推理)** - **机遇**:提升模型泛化能力,处理训练数据未覆盖的场景(如新实体或罕见关系),增强鲁棒性。 - **技术方向**:使用元学习或对抗训练改进推理模型,适应未知分布。 #### 2. **LargeScale(大规模处理)** - **机遇**:支持亿级实体和关系的实时推理,推动分布式图计算框架(如DGL或PyG)优化。 - **技术方向**:开发高效嵌入算法(如GraphSAGE)减少内存开销。 #### 3. **Multimodal(多模态融合)** - **机遇**:整合文本、图像、语音等模态数据(如CLIP模型),实现更全面的语义理解。 - **技术方向**:跨模态注意力机制对齐异构信息。 #### 4. **Multi-relational(多关系处理)** - **机遇**:处理复杂关系类型(如对称、反对称关系),适应现实世界知识图谱的多样性。 - **技术方向**:图神经网络(GNN)结合关系路径建模。 #### 5. **Explainable(可解释性)** - **机遇**:提供透明推理过程(如注意力可视化),增强用户信任,适用于医疗、金融等高风险领域。 - **技术方向**:可解释AI方法(如GNNExplainer)生成推理路径。 #### 6. **Application(实际应用)** - **机遇**:在推荐系统、智能问答、药物发现等场景落地,驱动产业变革。 - **案例**:电商KG推理优化个性化推荐准确率。 #### 7. **KG-LLM(知识图谱与大型语言模型结合)** - **机遇**:融合LLMs(如GPT系列)的生成能力与KG的结构化知识,提升推理深度和上下文理解。 - **技术方向**:检索增强生成(RAG)架构,动态查询KG补充LLM输出。 ```python # KG-LLM简单集成示例(使用Hugging Face和PyKEEN) from transformers import pipeline from pykeen.models import TransE def kg_llm_inference(query): # LLM处理自然语言查询 llm = pipeline("text-generation", model="gpt-3.5-turbo") parsed_query = llm(f"解析KG查询: {query}")[0]['generated_text'] # KG嵌入模型推理 kg_model = TransE(triples_factory=dataset.training) entity_embed = kg_model.predict_entities(parsed_query) return entity_embed # 输出实体嵌入结果 ```
评论 1
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
红包 添加红包
表情包 插入表情
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值