当前位置:网站首页>【GCN】《Adaptive Propagation Graph Convolutional Network》(TNNLS 2020)
【GCN】《Adaptive Propagation Graph Convolutional Network》(TNNLS 2020)
2022-07-25 11:11:00 【chad_lee】
《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 } ) . . . . . . \begin{aligned} &\mathbf{z}_{i}^{0}=\mathbf{z}_{i}\\ &\mathbf{z}_{i}^{1}=\operatorname{propagate}\left(\left\{\mathbf{z}_{j}^{0} \mid j \in \mathcal{N}_{i}\right\}\right)\\ &\mathbf{z}_{i}^{2}=\operatorname{propagate}\left(\left\{\mathbf{z}_{j}^{1} \mid j \in \mathcal{N}_{i}\right\}\right) \\ &...... \end{aligned} zi0=zizi1=propagate({ zj0∣j∈Ni})zi2=propagate({ zj1∣j∈Ni})......
传播的步数应该由每个节点自身决定的,因此给每个节点附加一个线性二分类器作为传播过程的“停止单元”。经过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=1∑k′hik>=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}= \begin{cases}R_{i}=1-\sum_{k=1}^{K_{i}-1} h_{i}^{k}, & \text { if } k=K_{i} \text { or } k=T \\ \sum_{k=1}^{K_{i}} h_{i}^{k}, & \text { otherwise. }\end{cases} pik={ Ri=1−∑k=1Ki−1hik,∑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} zi=Ki1k=1∑Kipikzik+(1−pik)zik−1
还定义了节点 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+αi∈V∑Si
这个惩罚项控制了信息在图上传播的“难以程度”。每5个step优化一次惩罚项。
AP-GCN学出的停止步数分布。看起来符合直觉:稀疏的图感受野一般更大,稠密的图一般只聚合1~2阶邻居。
边栏推荐
- Classification parameter stack of JS common built-in object data types
- 【Debias】Model-Agnostic Counterfactual Reasoning for Eliminating Popularity Bias in RS(KDD‘21)
- Layout management ==pyqt5
- 【多模态】《TransRec: Learning Transferable Recommendation from Mixture-of-Modality Feedback》 Arxiv‘22
- 微信公众号开发 入手
- Learning to Pre-train Graph Neural Networks(图预训练与微调差异)
- Start with the development of wechat official account
- LeetCode 50. Pow(x,n)
- JS作用域以及预解析
- Teach you how to configure S2E as the working mode of TCP client through MCU
猜你喜欢

什么是全局事件总线?

【图攻防】《Backdoor Attacks to Graph Neural Networks 》(SACMAT‘21)

'C:\xampp\php\ext\php_zip.dll' - %1 不是有效的 Win32 应用程序 解决

JS中的函数

JS流程控制

Hardware connection server TCP communication protocol gateway

Maskgae: masked graph modeling meets graph autoencoders

return 和 finally的执行顺序 ?各位大佬请看过来,

OneNET平台控制W5500开发板LED灯

Experimental reproduction of image classification (reasoning only) based on caffe resnet-50 network
随机推荐
图神经网络用于推荐系统问题(IMP-GCN,LR-GCN)
银行理财子公司蓄力布局A股;现金管理类理财产品整改加速
【无标题】
擎创科技加入龙蜥社区,共建智能运维平台新生态
brpc源码解析(五)—— 基础类resource pool详解
Chapter 4 linear equations
The JSP specification requires that an attribute name is preceded by whitespace
【CTR】《Towards Universal Sequence Representation Learning for Recommender Systems》 (KDD‘22)
【6篇文章串讲ScalableGNN】围绕WWW 2022 best paper《PaSca》
Learning to Pre-train Graph Neural Networks(图预训练与微调差异)
教你如何通过MCU将S2E配置为UDP的工作模式
程序员送给女孩子的精美礼物,H5立方体,唯美,精致,高清
Various controls ==pyqt5
Brpc source code analysis (VII) -- worker bthread scheduling based on parkinglot
W5500 upload temperature and humidity to onenet platform
JS process control
微信公众号开发 入手
Pycharm connects to the remote server SSH -u reports an error: no such file or directory
Introduction to pl/sql, very detailed notes
【高并发】高并发场景下一种比读写锁更快的锁,看完我彻底折服了!!(建议收藏)