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

《Adaptive Propagation Graph Convolutional Network》(TNNLS 2020)

为每个节点赋予一个停止单元,该单元输出一个值控制Propagation是否应该继续进行下一跳。聚合时停止单元的输出值就是聚合每跳的权重。可以理解成为每个节点找到自己的感受野。
【GCN】《Adaptive Propagation Graph Convolutional Network》(TNNLS 2020)_第1张图片

首先节点的特征先经过一个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({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}= \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=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优化一次惩罚项。
【GCN】《Adaptive Propagation Graph Convolutional Network》(TNNLS 2020)_第2张图片

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

你可能感兴趣的:(论文解读,图神经网络,机器学习,机器学习,算法,人工智能)