NASE Learning Knowledge Graph Embedding for Link Prediction via Neural Architecture Search 阅读笔记

本文主要是介绍NASE Learning Knowledge Graph Embedding for Link Prediction via Neural Architecture Search 阅读笔记,希望对大家解决编程问题提供一定的参考价值,需要的开发者们随着小编来一起学习吧!

我的博客链接

0. 导读

0.1 文章是关于什么的?(what?)

知识图谱表示,

0.2 要解决什么问题?(why?|challenge)

  • AutoML只在双线性语义匹配的方法中搜索适合KG的表示方法,这显然不够全面;

0.3 用什么方法解决?(how?)

  • 提出了一种搜索方法,但是感觉具体的如何搜索并没有讲明白。

0.4文章有什么创新?

  • 把搜索空间变为连续空间提高算法效率;

0.5 效果如何?

0.6 还存在什么问题?

  • 感觉没读懂,文中好多细节描述不够清晰
  • 每一层是怎么选择用哪一种方法?
  • g函数分解候选操作还有权重又是什么?

1 背景知识

我觉得在读这篇之前可能需要读一下两篇论文:

  • Hanxiao Liu, Karen Simonyan, and Yiming Yang. 2018. Darts: Differentiable architecture search. arXiv preprint arXiv:1806.09055 (2018).

  • Yongqi Zhang, Quanming Yao, Wenyuan Dai, and Lei Chen. 2020. AutoSF:

    Searching Scoring Functions for Knowledge Graph Embedding. In ICDE. IEEE.

2 模型

如图1所示,作者的的NAS框架包含两个搜索模块。 表示搜索模块旨在通过多个表示层分别优化头部,关系和尾部的嵌入 e h , e r , e t e_{h,} e_{r}, e_{t} eh,er,et得分函数搜索模块负责选择浅层架构,以计算输入三元组的合理性得分。

2.1 表示搜索模块

该模块中,作者包含了卷积运算符和翻译运算符,分别对应了两种主流的reconstruction-based 链接预测模型。

图1中所示,每个操作都是一个融合步骤,作者以头实体嵌入为例定义了融合步骤如下:
e h l + 1 = β h l e h l + ( 1 − β h l ) opt ⁡ ( e r l , e t l ) β h l = σ ( W h l [ e h l ; opt ⁡ ( e r l , e t l ) ] + b h l ) \begin{aligned} \boldsymbol{e}_{\boldsymbol{h}}^{l+1} &=\beta_{\boldsymbol{h}}^{l} \boldsymbol{e}_{\boldsymbol{h}}^{\boldsymbol{l}}+\left(1-\beta_{h}^{l}\right) \operatorname{opt}\left(\boldsymbol{e}_{r}^{l}, \boldsymbol{e}_{t}^{l}\right) \\ \beta_{h}^{l} &=\sigma\left(\boldsymbol{W}_{h}^{l}\left[\boldsymbol{e}_{h}^{l} ; \operatorname{opt}\left(\boldsymbol{e}_{r}^{l}, \boldsymbol{e}_{t}^{l}\right)\right]+b_{h}^{l}\right) \end{aligned} ehl+1βhl=βhlehl+(1βhl)opt(erl,etl)=σ(Whl[ehl;opt(erl,etl)]+bhl)

  • 其中 e h l e_{h}^{l} ehl是第l层的头嵌入输出, opt ⁡ ( ⋅ , ⋅ ) \operatorname{opt}(\cdot, \cdot) opt(,)表示可搜索的运算符, W h l and  b h l W_{h}^{l} \text { and } b_{h}^{l} Whl and bhl是可训练的参数。

引入融合步骤的目的是迫使新的嵌入集中在有关头部的信息上,而不是应该通过关系或尾部嵌入进行建模的事物。同样,该方法可以应用到关系和尾实体。

作者把候选运算符分为3类:

  • 卷积运算符
    e h l + 1 = ReLU ⁡ ( Conv ⁡ 1 d ( [ e r l ; e t l ] ) ) , e h l + 1 = ReLU ⁡ ( Conv ⁡ 2 d ( [ e ‾ r l ; e ‾ t l ] ) ) \boldsymbol{e}_{h}^{l+1}=\operatorname{ReLU}\left(\operatorname{Conv} 1 \mathrm{d}\left(\left[\boldsymbol{e}_{r}^{l} ; \boldsymbol{e}_{t}^{l}\right]\right)\right), \boldsymbol{e}_{h}^{l+1}=\operatorname{ReLU}\left(\operatorname{Conv} 2 \mathrm{d}\left(\left[\overline{\boldsymbol{e}}_{r}^{l} ; \overline{\boldsymbol{e}}_{t}^{l}\right]\right)\right) ehl+1=ReLU(Conv1d([erl;etl])),ehl+1=ReLU(Conv2d([erl;etl]))

    • [ ⋅ ; ⋅ ] [\cdot ; \cdot] [;]代表row-wise 连接, e ‾ \overline{\boldsymbol{e}} e表示 e e e的2D重建形状。
  • 翻译运算符
    g r , 1 ( e h ) + e r − g r , 2 ( e t ) = 0 g_{r, 1}\left(e_{h}\right)+e_{r}-g_{r, 2}\left(e_{t}\right)=0 gr,1(eh)+ergr,2(et)=0

    • g r , ⋅ ( x ) = W x g_{r,\cdot} (x)=\mathbf{W} \mathbf{x} gr,(x)=Wx, 其中 W \mathbf{W} W可以是单位矩阵或者无限制矩阵,这样就分别对应了TransE和TransR的方法。
  • 本身运算符

    身份运算符无需任何转换即可直接将输入映射到输出。 引入这种运算符的目的是为了防止生成的体系结构过于复杂,并它能够使最终模型在得分函数搜索空间中退化为基本模型。

2.2 分数函数搜索模块

在此模块中,作者在几个基于语义匹配的模型中搜索以产生最终的合理性得分,该得分用于预测三元组是否有效。

  • 基于卷积的分数函数:ConvKB

    • f ( h , r , t ) = W ( ReLU ⁡ ( Conv ⁡ ( [ e h ; e r ; e t ] ) ) ) f(h, r, t)=W\left(\operatorname{ReLU}\left(\operatorname{Conv}\left(\left[e_{h} ; e_{r} ; e_{t}\right]\right)\right)\right) f(h,r,t)=W(ReLU(Conv([eh;er;et])))
  • 基于翻译的分数函数:TransE
    f ( h , r , t ) = ∥ e h + e r − e t ∥ p f(h, r, t)=\left\|e_{h}+e_{r}-e_{t}\right\|_{p} f(h,r,t)=eh+eretp

  • 双线性分数函数:DistMult,SimplE
    f ( h , r , t ) = e h T M r e t f ( h , r , t ) = 1 / 2 ( e h T M r , e t + e h T , M r ′ , e t ) \begin{array}{c}f(h, r, t)=\boldsymbol{e}_{h}^{T} \boldsymbol{M}_{\boldsymbol{r}} \boldsymbol{e}_{\boldsymbol{t}} \\ f(h, r, t)=1 / 2\left(\boldsymbol{e}_{h}^{T} \boldsymbol{M}_{r}, \boldsymbol{e}_{t}+\boldsymbol{e}_{h}^{T}, \boldsymbol{M}_{r}^{\prime}, \boldsymbol{e}_{t}\right)\end{array} f(h,r,t)=ehTMretf(h,r,t)=1/2(ehTMr,et+ehT,Mr,et)

  • MLP分数函数

    使用一个单一的隐藏层来处理三元组。

2.3 NASE搜索过程

作者把 k k k个候选操作组合起来,形成一个函数如下:
g = ∑ i = 1 k a i φ i ( x ) , a i = exp ⁡ ( α i ) ∑ i = 1 k exp ⁡ ( α i ) g=\sum_{i=1}^{k} a_{i} \varphi_{i}(x), \quad a_{i}=\frac{\exp \left(\alpha_{i}\right)}{\sum_{i=1}^{k} \exp \left(\alpha_{i}\right)} g=i=1kaiφi(x),ai=i=1kexp(αi)exp(αi)

  • 这里 g g g代表了在表示搜索模块,每一层中应用的运算操作,也表示每层中的运算可以由多种操作同时进行然后给以不同权重作为选择过程。
  • g还可以代表在分数函数搜索时的函数选择。

但是这里就又问题了,要是按照上面来说这是组合也不是选择了呀。

整个损失函数:
L = − 1 N ∑ i = 1 N ( y i log ⁡ ( f ( ⋅ ) ) + ( 1 − y i ) ( 1 − log ⁡ ( f ( ⋅ ) ) ) \mathcal{L}=-\frac{1}{N} \sum_{i=1}^{N}\left(y_{i} \log (f(\cdot))+\left(1-y_{i}\right)(1-\log (f(\cdot)))\right. L=N1i=1N(yilog(f())+(1yi)(1log(f()))

3 实验

常规实验,感觉没啥可以细讲的。

这个图就没咋懂,为啥三个颜色用的是不同的函数,这个是怎么选择出来的,论文中并没有解释。

参考链接

这篇关于NASE Learning Knowledge Graph Embedding for Link Prediction via Neural Architecture Search 阅读笔记的文章就介绍到这儿,希望我们推荐的文章对编程师们有所帮助!



http://www.chinasem.cn/article/804915

相关文章

TP-LINK/水星和hasivo交换机怎么选? 三款网管交换机系统功能对比

《TP-LINK/水星和hasivo交换机怎么选?三款网管交换机系统功能对比》今天选了三款都是”8+1″的2.5G网管交换机,分别是TP-LINK水星和hasivo交换机,该怎么选呢?这些交换机功... TP-LINK、水星和hasivo这三台交换机都是”8+1″的2.5G网管交换机,我手里的China编程has

Spring Security--Architecture Overview

1 核心组件 这一节主要介绍一些在Spring Security中常见且核心的Java类,它们之间的依赖,构建起了整个框架。想要理解整个架构,最起码得对这些类眼熟。 1.1 SecurityContextHolder SecurityContextHolder用于存储安全上下文(security context)的信息。当前操作的用户是谁,该用户是否已经被认证,他拥有哪些角色权限…这些都被保

JAVA智听未来一站式有声阅读平台听书系统小程序源码

智听未来,一站式有声阅读平台听书系统 🌟 开篇:遇见未来,从“智听”开始 在这个快节奏的时代,你是否渴望在忙碌的间隙,找到一片属于自己的宁静角落?是否梦想着能随时随地,沉浸在知识的海洋,或是故事的奇幻世界里?今天,就让我带你一起探索“智听未来”——这一站式有声阅读平台听书系统,它正悄悄改变着我们的阅读方式,让未来触手可及! 📚 第一站:海量资源,应有尽有 走进“智听

【生成模型系列(初级)】嵌入(Embedding)方程——自然语言处理的数学灵魂【通俗理解】

【通俗理解】嵌入(Embedding)方程——自然语言处理的数学灵魂 关键词提炼 #嵌入方程 #自然语言处理 #词向量 #机器学习 #神经网络 #向量空间模型 #Siri #Google翻译 #AlexNet 第一节:嵌入方程的类比与核心概念【尽可能通俗】 嵌入方程可以被看作是自然语言处理中的“翻译机”,它将文本中的单词或短语转换成计算机能够理解的数学形式,即向量。 正如翻译机将一种语言

【学习笔记】 陈强-机器学习-Python-Ch15 人工神经网络(1)sklearn

系列文章目录 监督学习:参数方法 【学习笔记】 陈强-机器学习-Python-Ch4 线性回归 【学习笔记】 陈强-机器学习-Python-Ch5 逻辑回归 【课后题练习】 陈强-机器学习-Python-Ch5 逻辑回归(SAheart.csv) 【学习笔记】 陈强-机器学习-Python-Ch6 多项逻辑回归 【学习笔记 及 课后题练习】 陈强-机器学习-Python-Ch7 判别分析 【学

系统架构师考试学习笔记第三篇——架构设计高级知识(20)通信系统架构设计理论与实践

本章知识考点:         第20课时主要学习通信系统架构设计的理论和工作中的实践。根据新版考试大纲,本课时知识点会涉及案例分析题(25分),而在历年考试中,案例题对该部分内容的考查并不多,虽在综合知识选择题目中经常考查,但分值也不高。本课时内容侧重于对知识点的记忆和理解,按照以往的出题规律,通信系统架构设计基础知识点多来源于教材内的基础网络设备、网络架构和教材外最新时事热点技术。本课时知识

AI基础 L9 Local Search II 局部搜索

Local Beam search 对于当前的所有k个状态,生成它们的所有可能后继状态。 检查生成的后继状态中是否有任何状态是解决方案。 如果所有后继状态都不是解决方案,则从所有后继状态中选择k个最佳状态。 当达到预设的迭代次数或满足某个终止条件时,算法停止。 — Choose k successors randomly, biased towards good ones — Close

论文阅读笔记: Segment Anything

文章目录 Segment Anything摘要引言任务模型数据引擎数据集负责任的人工智能 Segment Anything Model图像编码器提示编码器mask解码器解决歧义损失和训练 Segment Anything 论文地址: https://arxiv.org/abs/2304.02643 代码地址:https://github.com/facebookresear

数学建模笔记—— 非线性规划

数学建模笔记—— 非线性规划 非线性规划1. 模型原理1.1 非线性规划的标准型1.2 非线性规划求解的Matlab函数 2. 典型例题3. matlab代码求解3.1 例1 一个简单示例3.2 例2 选址问题1. 第一问 线性规划2. 第二问 非线性规划 非线性规划 非线性规划是一种求解目标函数或约束条件中有一个或几个非线性函数的最优化问题的方法。运筹学的一个重要分支。2

【C++学习笔记 20】C++中的智能指针

智能指针的功能 在上一篇笔记提到了在栈和堆上创建变量的区别,使用new关键字创建变量时,需要搭配delete关键字销毁变量。而智能指针的作用就是调用new分配内存时,不必自己去调用delete,甚至不用调用new。 智能指针实际上就是对原始指针的包装。 unique_ptr 最简单的智能指针,是一种作用域指针,意思是当指针超出该作用域时,会自动调用delete。它名为unique的原因是这个