论文《Bilinear Graph Neural Network with Neighbor Interactions》阅读

  • 论文概况
  • Introduction
  • Bilinear Graph Neural Network
    • Bilinear Aggregator
    • 转置不变性证明
    • BGNN模型介绍
  • 论文总结

论文概况

作者提出了一个利用邻接节点的互动情况用于聚合(aggregate)结点feature作为目标节点embedding的图神经网络模型BGNN。这篇文章发表在IJCAI 2020上,文章是图神经网络的改进版本,实验使用baseline方法GCN的semi-supervised node classification实验。

论文地址:BGNN论文
代码地址:BGNN代码

Introduction

本文题目:Bilinear Graph Neural Network with Neighbor Interactions。
bilinear是指使用了双向互动,对于目标结点,不止是将邻接节点的embedding进行加权求和汇聚到目标结点这一种方式;而是将邻接节点(包括目标结点)的互动情况进行计算并汇聚到目标节点上去。
上文的互动情况,也是题目中的interaction,是指使用element-wise product表现,并将所有邻接节点的product进行加和。

Bilinear Graph Neural Network

Bilinear Aggregator

这里介绍了双线性的具体内容。

具体的,见下式:
BA({hi}i∈N~v)=1bv∑i∈N~v∑j∈N~v&i<jhiW⊙hjW(2)BA(\{\bf{h}_i\}_{i\in \tilde{\mathcal{N}} _v }) = \frac{1}{b_v} \sum \limits _{i \in \tilde{\mathcal{N}} _v } \ \ \sum \limits _{j \in \tilde{\mathcal{N}} _v \& i < j } \ \ \bf{h}_i W \odot \bf{h}_j W \tag{2}BA({hi}iN~v)=bv1iN~vjN~v&i<jhiWhjW(2)

上式中限定 i<ji < ji<j 的原因在于避免重复计算,利用这点即可给出矩阵计算形式,并证明算法的线性复杂度,如下所示:
BA({hi}i∈N~v)=1bv∑i∈N~v∑j∈N~v&i<jhiW⊙hjW=12bv(∑i∈N~v∑j∈N~vsi⊙sj−∑i∈N~vsi⊙si)=12bv((∑i∈N~vsi)2−∑i∈N~vsi2)(3)\begin{aligned} BA(\{\bf{h}_i\}_{i\in \tilde{\mathcal{N}} _v }) = \frac{1}{b_v} \sum \limits _{i \in \tilde{\mathcal{N}} _v } \ \ \sum \limits _{j \in \tilde{\mathcal{N}} _v \& i < j } \ \ \bf{h}_i W \odot \bf{h}_j W \\= \frac{1}{2b_v} (\sum \limits _{i \in \tilde{\mathcal{N}} _v } \ \ \sum \limits _{j \in \tilde{\mathcal{N}} _v} \ \ \bf{s}_i \odot \bf{s}_j - \sum \limits _{i \in \tilde{\mathcal{N}} _v } \bf{s}_i \odot \bf{s}_i ) \\ = \frac{1}{2b_v} ((\sum \limits _{i \in \tilde{\mathcal{N}} _v } \bf{s}_i )^2 - \sum \limits _{i \in \tilde{\mathcal{N}} _v } \bf{s}_i ^2 ) \tag{3} \end{aligned} BA({hi}iN~v)=bv1iN~vjN~v&i<jhiWhjW=2bv1(iN~vjN~vsisjiN~vsisi)=2bv1((iN~vsi)2iN~vsi2)(3)

公式中 si=Whi∈RD\bf{s}_i=Wh_i\in\mathbb{R}^{D}si=WhiRD 是为了表示直观。分析时间复杂度可以看到,对所有 si\bf{s}_isi 求和以及求平方都是 O(∣N~v∣)\mathcal{O}(|\tilde{\mathcal{N}}_v|)O(N~v) 复杂度,即线性复杂度。

转置不变性证明

将上式矩阵化表示,如下:

BA(H,A)=12B−1((A~HW)2−A~(HW)2)(4)BA(H, A) = \frac{1}{2} \bf{B}^{-1}((\tilde{A}HW)^2 - \tilde{A}(HW)^2) \tag{4}BA(H,A)=21B1((A~HW)2A~(HW)2)(4)

这里需要注意的是这个平方符号指的是矩阵内部元素每个都进行平方的意思,是一个element-wise product符号。

作者为了证明转置不变性(具体哪个文献提出的不太清楚),使用了一个辅助的转置矩阵PPP,P具有以下性质:(1)PTP=IP^TP=IPTP=I,这个容易理解,转置矩阵行变换后列变换就换回去了;(2)对任意矩阵MMM,如果PMPMPM存在,则 PM⊙PM=P(M⊙M)PM \odot PM = P(M \odot M)PMPM=P(MM),这个也容易理解,就是同一转置矩阵进行元素相乘,就等于矩阵先相乘再转置。

因此,作者对公式(4)进行了转置,有
HHH 变成了 PHPHPH,另外,由于A~\tilde{A}A~B~\tilde{B}B~ 是对称阵,所以转置后不变,也可以表示为左边行变换右边列变换的形式(就等于没有变换,参考性质2),因此可以有 A~\tilde{A}A~ 变成了 PA~PTP\tilde{A}P^TPA~PTB~\tilde{B}B~ 变成了 PB~PTP\tilde{B}P^TPB~PT。将公式(4)中的各个变量都进行替换,可以得到

BA(PH,PAPT)=12PB−1PT((PA~PTPHW)2−PA~PT(PHW)2)=12PB−1PT((PA~HW)2−PA~PT(PHW)2)=12PB−1PT(P(A~HW)2−PA~PTP(HW)2)=12PB−1PTP((A~HW)2−A~PTP(HW)2)=12PB−1((A~HW)2−A~(HW)2)=P⋅BA(H,A)BA(PH, PAP^T) = \frac{1}{2} PB^{-1}P^T((P\tilde{A}P^T\ PH W)^2 - P\tilde{A}P^T (PH \ W)^2) \\ \ \\ = \frac{1}{2} PB^{-1}P^T((P\tilde{A} \ H W)^2 - P \tilde{A}P^T (PH \ W)^2) \\ \ \\ = \frac{1}{2} PB^{-1}P^T(P(\tilde{A} \ H W)^2 - P \tilde{A}P^TP (H \ W)^2) \\ \ \\= \frac{1}{2} PB^{-1}P^TP((\tilde{A} \ H W)^2 - \tilde{A}P^TP (H \ W)^2) \\ \ \\ = \frac{1}{2} PB^{-1}((\tilde{A} \ H W)^2 - \tilde{A} (H \ W)^2) \\ \ \\ = P \ \cdot \ BA(H, A) BA(PH,PAPT)=21PB1PT((PA~PTPHW)2PA~PT(PHW)2)=21PB1PT((PA~HW)2PA~PT(PHW)2)=21PB1PT(P(A~HW)2PA~PTP(HW)2)=21PB1PTP((A~HW)2A~PTP(HW)2)=21PB1((A~HW)2A~(HW)2)=PBA(H,A)

上面的步骤是在文章的基础上,将每一步的详细过程写了出来方便读者理解。主要就是将PTP=IP^TP=IPTP=I进行消减,同时注意将element-wise平方中的P提取出来,就可以得到结果。从上面的公式可以看到,权重 WWW 没有变换,除此以外,将邻接矩阵进行置换(同时包括度矩阵,即BBB),并进行BA运算,得到的结果也是置换过的,即相对于每一行,对应每个节点,计算结果是没有变化的。这一结果就证明了置换不变的性质。

BGNN模型介绍

作者并不是单一使用节点之间的bilinear interaction作为聚合方式,而是结合常用的AGG(加权求和)方式和本文提出的BA(双线性聚合bilinear aggregation)方式两种方法,并使用一个超参数 α\alphaα 进行权衡。具体的,如下所示:
H(k)=BGNN(H(k−1),A)=(1−α)⋅AGG(H(k−1),A)+α⋅BA(H(k−1),A)H^{(k)} = BGNN(H^{(k-1)}, A) \\ = (1 - \alpha) \cdot AGG(H^{(k-1)}, A) + \alpha \cdot BA(H^{(k-1)}, A)H(k)=BGNN(H(k1),A)=(1α)AGG(H(k1),A)+αBA(H(k1),A)

模型架构如下图所示:


具体到多层BGNN的使用中,作者又引入了一个超参系数β\betaβ,这个系数是为了平衡多层之间节点的互动情况,越大则代表互动情况影响力越大。

论文总结

这篇文章在GNN的基础上加入了bilinear的互动,提出了BGNN模型。本文对于转置不变性的证明非常充实。

缺点是本文提出的BGNN不适用于大型的图,因为无法进行Batch Learning。

论文《Bilinear Graph Neural Network with Neighbor Interactions》阅读相关推荐

  1. 《基于卷积神经网络的深度迁移学习,用于燃气轮机燃烧室的故障检测》论文阅读

    目录 突出 抽象 引言 1.1动机 1.2文献综述获得的结论 1.3贡献 1.4组织 2方法 2.1燃汽轮机组故障知识共享 2.2迁移学习 2.3 基于卷积神经网络的深度迁移学习 2.4用于燃气轮机燃 ...

  2. 基于卷积神经网络和投票机制的三维模型分类与检索 2019 论文笔记

    作者:白静 计算机辅助设计与图形学学报 1.解决的问题 由于三维模型投影得到的视图是由不同视点得到,具有相对独立性,这种像素级的融合运算并没有直接的物理或者几何意义,更有可能造成图像有益信息淹没和混淆 ...

  3. TextCNN——基于卷积神经网络的文本分类学习

    1.CNN基础内容 CNN的全称是Convolutional Neural Network,是一种前馈神经网络.由一个或多个卷积层.池化层以及顶部的全连接层组成,在图像处理领域表现出色. 本文主要学习 ...

  4. 读懂深度迁移学习,看这文就够了 | 赠书

    百度前首席科学家.斯坦福大学副教授吴恩达(Andrew Ng)曾经说过:迁移学习将是继监督学习之后的下一个促使机器学习成功商业化的驱动力. 本文选自<深度学习500问:AI工程师面试宝典> ...

  5. 一种基于卷积神经网络的图像去雾研究-含matlab代码

    目录 一.绪论 二.去雾卷积网络 2.1 特征提取 2.2 多尺度映射 2.3 局部均值 2.4 非线性回归 三.实验与分析 四.Matlab代码获取 一.绪论 雾是一种常见的大气现象,空气中悬浮的水 ...

  6. 机械臂论文笔记(一)【基于卷积神经网络的二指机械手 抓取姿态生成研究 】

    基于卷积神经网络的二指机械手 抓取姿态生成研究 论文下载 摘要 第1章 绪论 1.1 抓取生成国内外研究现状 1.1.1已知物体抓取生成 1.1.2相似物体抓取生成 1.1.3 未知物体抓取生成 1. ...

  7. 毕业设计 - 基于卷积神经网络的乳腺癌分类 深度学习 医学图像

    文章目录 1 前言 2 前言 3 数据集 3.1 良性样本 3.2 病变样本 4 开发环境 5 代码实现 5.1 实现流程 5.2 部分代码实现 5.2.1 导入库 5.2.2 图像加载 5.2.3 ...

  8. 基于卷积神经网络与迁移学习的油茶病害图像识别

    基于卷积神经网络与迁移学习的油茶病害图像识别 1.研究思路 利用深度卷积神经网络强大的特征学习和特征表达能力来自动学习油茶病害特征,并借助迁移学习方法将AlexNet模型在ImageNet图像数据集上 ...

  9. Python深度学习实例--基于卷积神经网络的小型数据处理(猫狗分类)

    Python深度学习实例--基于卷积神经网络的小型数据处理(猫狗分类) 1.卷积神经网络 1.1卷积神经网络简介 1.2卷积运算 1.3 深度学习与小数据问题的相关性 2.下载数据 2.1下载原始数据 ...

  10. 基于卷积神经网络实现图片风格的迁移 1

    卷积神经网络详解 一.实验介绍 1.1 实验内容 Prisma 是最近很火的一款APP,它能够将一张普通的图像转换成各种艺术风格的图像.本课程基于卷积神经网络,使用Caffe框架,探讨图片风格迁移背后 ...

最新文章

  1. 2014年:这些词都快被玩坏了
  2. 苏大JAVA题库_苏州大学Java程序设计课程试卷含答案(B)
  3. kvm_guest主机克隆
  4. 查看MYSQL数据库中所有用户及拥有权限
  5. modelsim的do文件
  6. mysql5.7命中率_MySQL5.7中 performance和sys schema中的监控参数解释(推荐)
  7. S3c2440A平台HIVE注册表+binfs的实现
  8. 三层架构学习的困难_“网工起航计划”3天集训营 带你了解大型企业网络架构设计!...
  9. L2-008 最长对称字串 以下标i展开
  10. CF 717A Festival Organization——斯特林数+递推求通项+扩域
  11. C扩展php的方法(制作php扩展库)
  12. abaqus6.14 帮助 Abaqus Example Problems Guide翻译
  13. ncl butterworth滤波官网例子学习
  14. 【prometheus+alertmanager告警管理】
  15. 阻容感基础01:从宇宙起源到阻容感(1)
  16. eclipse建web工程的dynamic web module version 具体是什么意思
  17. 在Layui框架里设计一个评论列表的前端界面
  18. Self-augmented Unpaired Image Dehazing via Density and Depth Decomposition程序运行记录
  19. 部署 redis 和基本操作
  20. OC学习----设计模式

热门文章

  1. wince6.0桌面背景+设置默认IP+开机自动运行程序
  2. 22考研 | 英语我该用什么参考书复习?
  3. 使用JSONObject解析
  4. vim替换字符串总结
  5. 让顾客进店的一些小方法
  6. 高考计算机是做题的吗,2021年高考临近,看看高考电脑阅卷是什么样子的,不丢冤枉分...
  7. 农业掀起“上链”潮 区块链等数字技术正成为乡村振兴新动力
  8. Tomcat 的安装与环境配置教程(超详细)
  9. android动画 - 收藏集 - 掘金
  10. python训练营 朋友圈广告_朋友圈广告优秀案例解析