zoukankan      html  css  js  c++  java
  • Exploiting Edge Features in Graph Neural Networks

    介绍

    现如今图神经网络取得了很大进展,最典型的两个模型是GCN模型和GAT模型,然而现有的图神经模型仍然存在以下两个问题:

    1. 边特征未被有效考虑。比如GAT只考虑两个节点之间是否有边(binary indicator),GCN的边特征只能是一个实数(one-dimensional real value),通常表示权重
    2. GAT和GCN在每一层都基于最开始输入的邻接矩阵进行节点特征过滤,而原始的邻接矩阵可能是有噪声,不是最佳的

    因此,这篇文章提出一个新的学习框架来增强GCN和GAT,具体的创新点可以概括为如下:

    • 提出了一个能够利用多为边特征的框架,克服了上述的GAT和GCN的缺点
    • 使用双重随机(doubly stocahstic)对边归一化,这显示出更好的去噪性能
    • 设计了一种新的基于注意力的图网络架构,该架构不仅可以过滤节点特征,还可以跨层适应边特征
    • 提出了一种编码边方向信息方式,便于学习有向图网络

    模型细节

    模型架构

    给定包含(N)个节点的图,(X in mathbb{R}^{N imes F})表示节点特征,(E in mathbb{R}^{N imes N imes P})是边特征,其中(E_{ijcdot}=mathbf{0})表示节点(i,j)直接没有边连接。文章所提出的模型如下图所示:

    双随机正则化(Doubly stocahstic normalization)

    本中使用边特征乘以节点特征的方式过滤节点特征,因此为了避免乘积导致输出特征尺度发生变化,边特征需要被正则化。正则化的方式如下:

    [ ilde{E}_{ijp} = frac{hat{E}_{ijp}}{sum_{k=1}^N hat{E}_{ikp}} \ ]

    [E_{ijp} = sum_{k=1}^N frac{ ilde{E}_{ikp} ilde{E}_{jkp}}{sum_{v=1}^N ilde{E}_{vkp}} ]

    这样做完之后,边特征满足下面条件,即每行每列之和分别都是1:

    [E_{ijp} geq 0 ]

    [sum limits_{i=1}^N E_{ijp} = sum limits_{j=1}^N E_{ijp} = 1 ]

    EGNN(A),基于Attention的EGNN层

    为了利用多维边特征,这篇文章提出了如下聚合操作:

    [X^l = sigma left[ mathop{||} limits_{p=1}^P left(alpha_{cdot cdot p}^l(X^{l-1}, E^{l-1}_{cdot cdot p})g^l (X^{l-1}) ight) ight] ]

    其中(sigma)是激活函数,(alpha)是一个产生(N imes N imes P)张量的函数,(alpha_{cdot cdot p})表示其第(p)个通道切片,(g)是节点特征变换函数。

    (alpha^l)就是所谓的注意力系数,(alpha_{ijp})(X_{icdot}^{l-1})(X_{jcdot}^{l-1})(E_{ijp})的函数,其中(E_{ijp})就是边特征的第(p)个通道。对于多维特征,EGNN将之看作多通道信号,每一个通道会产生单独的Attention操作,不同通道结果直接连接。对于一个特定的通道(p),Attention操作如下:

    [alpha_{cdot cdot p}^l=DS( ilde{alpha}_{cdot cdot p}^l) ]

    [ ilde{alpha}_{ijp}^l = f^l(X_{icdot}^{l-1},X_{jcdot}^{l-1})E_{ijp}^{l-1} ]

    其中,(DS)就是双随机正则化,(f)可以是任何接受两个向量作为输入,输入一个标量值的Attention函数,例如:

    [f^l(X_i^{l-1},X_j^{l-1}) = exp left{ L (a^T[WX_{icdot}^{l-1} || WX_{jcdot}^{l-1}]) ight} ]

    其中(L)是leakyReLU,(W)是映射矩阵,(||)是连接操作。

    因为文章中边特征适用于过滤节点特征的,所以对于下一层,直接将attention系数作为边特征:

    [E^l = alpha^l ]

    EGNN(C),基于卷积的层

    [X^l = sigma left[ mathop{||} limits_{p=1}^P (E_{cdot cdot p}X^{l-1}W^l) ight] ]

    有向图的边特征

    对于有向图,EGNN将通道(E_{ijp})拓展成三个通道:

    [[E_{ijp}, E_{jip}, E_{ijp} + E_{jip}] ]

    分别代表了前向,反向和无向信息。这样在编码时,节点就会从三类邻接点中聚合信息。

  • 相关阅读:
    SpringBoot标准化搭建
    springboot打开swagger文档遇到For input string: ""的报错 swagger版本2.9.2
    MySQL和Redis如何保证数据一致性? 三种方案对比,初版
    [转]QUdpSocket收发信息
    [原][C++][插件]window下C++简单插件机制实现
    php saas 架构设计,SaaS的几种架构解析
    如何处理将HTML打印出来中的断行,分页,修改打印内容等问题?急,谢谢!!
    批量打印 | 多页打印 | PHP多页打印
    web页面的单页打印以及批量打印实现方法
    php批量打印发票三(php用FPDF合并所有图片为PDF文档)
  • 原文地址:https://www.cnblogs.com/weilonghu/p/12443727.html
Copyright © 2011-2022 走看看