• 【GCN】《Adaptive Propagation Graph Convolutional Network》(TNNLS 2020)


    《Adaptive Propagation Graph Convolutional Network》(TNNLS 2020)

    为每个节点赋予一个停止单元,该单元输出一个值控制Propagation是否应该继续进行下一跳。聚合时停止单元的输出值就是聚合每跳的权重。可以理解成为每个节点找到自己的感受野。
    在这里插入图片描述

    首先节点的特征先经过一个MLP变成embedding,这就是Propagation的起点,然后开始递归的Propagation:
    z i 0 = z i z i 1 = propagate ⁡ ( { z j 0 ∣ j ∈ N i } ) z i 2 = propagate ⁡ ( { z j 1 ∣ j ∈ N i } ) . . . . . .

    zi0=zizi1=propagate({zj0jNi})zi2=propagate({zj1jNi})......" role="presentation" style="position: relative;">zi0=zizi1=propagate({zj0jNi})zi2=propagate({zj1jNi})......
    zi0=zizi1=propagate({zj0jNi})zi2=propagate({zj1jNi})......
    传播的步数应该由每个节点自身决定的,因此给每个节点附加一个线性二分类器作为传播过程的“停止单元”。经过k次迭代传播后的输出:
    h i k = σ ( Q z i k + q ) h_{i}^{k}=\sigma\left(\mathbf{Q} \mathbf{z}_{i}^{k}+q\right) hik=σ(Qzik+q)
    其中 Q , q Q,q Q,q 是训练参数, h i k h_{i}^{k} hik 是该节点当前迭代应该停止的概率(0~1)。为了确保传播步数合理,有两个技巧:规定一个最大步数 T T T;用halting values的加和来定义Propagation的边界:
    K i = min ⁡ { k ′ : ∑ k = 1 k ′ h i k > = 1 − ϵ } K_{i}=\min \left\{k^{\prime}: \sum_{k=1}^{k^{\prime}} h_{i}^{k}>=1-\epsilon\right\} Ki=min k:k=1khik>=1ϵ
    其中 ϵ \epsilon ϵ 是通常设置为一个很小的值0.01,保证传播一次之后也可以终止。对于节点 i 的第 k 轮迭代,当 k = K i k=K_{i} k=Ki 时Propagation停止。

    节点 i 每一次迭代的停止概率为:
    p i k = { R i = 1 − ∑ k = 1 K i − 1 h i k ,  if  k = K i  or  k = T ∑ k = 1 K i h i k ,  otherwise.  p_{i}^{k}=

    {Ri=1k=1Ki1hik, if k=Ki or k=Tk=1Kihik, otherwise. " role="presentation" style="position: relative;">{Ri=1k=1Ki1hik, if k=Ki or k=Tk=1Kihik, otherwise. 
    pik={Ri=1k=1Ki1hik,k=1Kihik, if k=Ki or k=T otherwise. 
    很自然的可以用它来作为节点聚合每层embedding的权重:
    z ^ i = 1 K i ∑ k = 1 K i p i k z i k + ( 1 − p i k ) z i k − 1 \widehat{\mathbf{z}}_{i}=\frac{1}{K_{i}} \sum_{k=1}^{K_{i}} p_{i}^{k} \mathbf{z}_{i}^{k}+\left(1-p_{i}^{k}\right) \mathbf{z}_{i}^{k-1} z i=Ki1k=1Kipikzik+(1pik)zik1
    还定义了节点 i 的 propagation cost:
    S i = K i + R i \mathcal{S}_{i}=K_{i}+R_{i} Si=Ki+Ri
    最终loss有监督信号和惩罚正则化项构成:
    L ^ = L + α ∑ i ∈ V S i \widehat{\mathcal{L}}=\mathcal{L}+\alpha \sum_{i \in \mathcal{V}} \mathcal{S}_{i} L =L+αiVSi
    这个惩罚项控制了信息在图上传播的“难以程度”。每5个step优化一次惩罚项。
    在这里插入图片描述

    AP-GCN学出的停止步数分布。看起来符合直觉:稀疏的图感受野一般更大,稠密的图一般只聚合1~2阶邻居。

  • 相关阅读:
    React18 之 Suspense
    【FreeRTOS(十三)】任务通知
    Programming Languages PartA Week3学习笔记——SML基本语法第二部分
    快速创建Jenkins Job
    峰会回顾 | 阿里云与StarRocks合作、开放、共赢
    千巡翼X1 让航测无人机更小更轻更高效
    Mybatis应用场景之动态传参、两字段查询、用户存在性的判断
    Nacos安装及在项目中的使用
    PyTorch 新库 TorchMultimodal 使用说明:将多模态通用模型 FLAVA 扩展到 100 亿参数
    Maven分离资源文件
  • 原文地址:https://blog.csdn.net/yanguang1470/article/details/125883139