神经网络模型(五)(ParamE、InteractE)

本文记录今天看的两篇还是用神经网络来做 KGE 的模型 ParamE 和 InteractE。

6.18 周五,想先说些题外话,本来今天学习效率再高一点的话可能能把第一篇论文的笔记写完,但是一到下午,感觉学习的动力就不如上午足了。忙的时候总想着有一大段安静的不被打扰的时光,而一旦独处很久,又会不由自主地陷入无意识走神的状态而不自知。尤其是在看论文的时候,眼睛面对着论文,思绪却已经飞走了,对福昕阅读器上的黑白文字已经完全免疫,目光呆滞,失去思考的主动力。下午三点,我觉察到自己即将进入这样的状态,于是出去走了一圈,外面风很大、也很晒,但这样与阳光的接触能使一直在阴暗的空调大楼吹空调的我感觉到自己在活着。端午看过了《学习的人》这部纪录片之后,我开始下意识锻炼自己的主动思考的能力。囿于环境,我没办法通过经常讨论和讲的形式来学习,于是只好记笔记,写笔记的过程比只看论文有用得多。看到博客上一千多的阅读量和记录的论文列表,还是有小小的成就感的。这些积累也将会是我开题的素材。这个月还有十几天,马上就要开题了,我却在这里不紧不慢地写论文笔记…… 这周末一定要把开题报告初稿写出来,否则真的就是在玩火orz……

6.21 周一,开题报告还是一个字都没动 orz,周末也没有闲着,但不知道干了什么…… 今天把四篇笔记写完,然后想一下怎么开题吧。人有多大胆,报告拖多晚。

ParamE

paper: ParamE: Regarding Neural Network Parameters as Relation Embeddings for Knowledge Graph Completion

简介: 本文是中科院自动化所发表在 AAAI 2020 上的工作。文章提出了 ParamE,将神经网络的参数视为关系的 embedding,头尾实体分别是网络的输入和输出。这个模型的本质就是对不同的关系训练了不同参数的网络,并没有特别新奇,只是这种解释的说法令人耳目一新。

模型

文章提出的问题是,用于KGE 的神经网络的非线性拟合能力虽然很强大,但是忽略了知识表示的很重要的翻译特性。这两点在 KGE 中都很重要。为了兼顾这两点,文章提出了将网络参数视为关系 embedding 的方法,实体在特征空间,关系在参数空间,符合两者应当在不同空间的要求。具体提出了三种网络结构用于 KGE:ParamE-MLP、Param-CNN 和 Param-Gate。这是一个通用的框架,可以应用到多种具体的网络结构上。

上图是 ConvE 与 ParamE 的对比。一些像 ConvE 的神经网络模型将头实体和关系的 embedding 输入到网络中,网络的输出为尾实体 embedding。而在 ParamE 中,关系的 embedding 作为一种参数,将输入的头实体转化为输出。

ParamE-MLP

多层感知机就是前馈神经网络,这里使用了三层:

关系就是参数的集合:\({W_0,W_1,W_2,b_0,b_1,b_2}\)

三元组的评分函数为:头实体经过关系的翻译,与尾实体做内积:

Param-CNN

这里使用两层卷积:

关系的 embedding 就是 \({\varOmega_0,\varOmega_1}\),打分函数与 Param-MLP 相同,都是先经过线性投影再求内积。

Param-Gate

门结构的核心是让信息有选择地通过,在这里,\((1-y_1)\) 是门,决定 \(y_2\) 的信息有多少被允许通过。打分函数同前两种。

模型架构及训练

尽管上述三种模型的网络结构不同,但它们的核心思想都是一样的,因此 ParamE 的打分函数可以被抽象为:

算出的结果要再过一个 sigmoid 函数,得到实体集中每个实体的得分:

实验

在 FB15k-237 和 WN18RR 上进行了链接预测实验。

选用的 baseline 及数据集统计如下:

链接预测结果:

用 ParamE-Gate 测试了每个关系上的链接预测结果:

代码

文章没有给出代码。


小结: 本文提出了一种用神经网络做 KGE 的新思路,将神经网络参数视为关系的 embedding,并在三种 NN 上进行了实践。idea 并没有太大新意,本质就是一种关系的三元组用同一个网络,对不同关系下的三元组训练了不同的网络。文章胜在了这种解释上。后续工作可做的有很多,可以将 ParamE 拓展到更多的网络结构上。

InteractE

paper: InteractE: Improving Convolution-based Knowledge Graph Embeddings by Increasing Feature Interactions

简介: 本文是哥伦比亚大学印度研究所的学者发表在 AAAI 2020 上的工作,主要关注交互。文章提出了 InteractE,通过特征置换、新的 reshape 操作和循环卷积三种做法捕捉到实体和关系的 embedding 间更多的交互。这篇文章跟中国人的大多数行文思路不太一样,章节分得比较散,一共有 10 章,在会议论文中还是比较少见的。

本文是针对 ConvE 做的改进,指出 ConvE 捕捉 interaction 的能力比较欠缺,因此本文关注如何增加实体和关系的 embedding 间的交互。InteractE 主要有三点关键贡献:特征置换、新的 reshape 操作,和循环卷积。

定义

reshaping 函数

reshaping 函数将头尾实体的 embedding 转换为一个矩阵。文章提出了三种 reshape 方式:stack、alternate 和 chequer。

stack 方式是将两个 embedding 分为两行,然后堆叠起来。

alternate 是堆叠 \(\tau\) 行,然后循环交替,图中示例是 \(\tau=1\) 的情况。

chequer 是每个元素交叉排列。

“交互”的定义

一个交互被定义为一个元组 \((x,y,M_k)\)。如果 x 和 y 分别是头实体和关系 embedding 的元素,那么称之为异质交互,否则为同质交互。

模型

模型整体架构图如下:

特征置换

这一步没有看明白是怎么置换的(时间紧,没有时间细看了。。。)

checkered reshaping

选用三种方式中的 checker 方式进行 reshape。

循环卷积

循环卷积比普通卷积进一步增强了交互。

这一步也没看太明白,大意应当是:普通卷积的 padding 用 0,循环卷积用的自身的元素。


介绍完模型后还有一章是理论分析,提出了一些命题,没有细细关注。附录中还有一堆对于命题的证明,也没来得及看。

实验

实验部分分了两章,一章用于介绍实验设置,另一章进行结果分析展示。结果展示的形式也让人耳目一新,首先提出四个问题,然后针对这四个问题的四个方面分小节进行结果分析。在三个数据集(FB15k-237、WN18RR 和 YAGO3-10)上进行了链接预测实验。

模型效果比较

reshape 和循环卷积的作用

特征置换的作用

不同类型上的模型效果

代码

文中说公开了源码,但我并没有找到代码的链接。

2022.1.12:评论区热心网友指出,paperwithcode 上搜论文名称可以找到代码,感谢~


小结: 本文重点关注 embedding 特征的交互,通过特征置换、checkered reshaping 和 循环卷积增加特征交互。论文中有很多地方没来得及完全看明白,有时间的应当再细看一遍。

posted @ 2021-06-22 11:32  胡萝不青菜  阅读(2555)  评论(6编辑  收藏  举报