博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
DiffPool: Hierarchical Graph Representation Learning with Differentiable Pooling
阅读量:4226 次
发布时间:2019-05-26

本文共 3064 字,大约阅读时间需要 10 分钟。

本文提出了一种分层的图池化机制DiffPool,通过将原始图的部分节点映射成粗粒度图上的一个节点模型能够学习到图的层级结构,在池化多次后将图映射成一个节点,进而得到整张图的表示。

本文被NIPS2018接收,地址:

Motivation

在有机分子中,人们希望能够编码局部的分子结构(原子间的化学键)以及图的粗粒度结构(代表分子功能的结构单元),但当前的GNN无法以分层的方式聚合信息。为了解决这个问题,本文提出了一种图上的层级池化方法DiffPool,通过将多个节点映射成一个簇的方式得到粗粒度的图,在池化多次后,图上的节点个数逐渐减少,最终只剩下一个节点,这样在得到不同层级结构的基础上最终得到整张图的特征表示向量。

在这里插入图片描述

Method

Differentiable Pooling via Learned Assignments

pooling with an assignment matrix

通过 S ( l ) ∈ R n l × n l + 1 S^{(l)} \in \mathbb{R}^{n_{l} \times n_{l+1}} S(l)Rnl×nl+1可以实现从第 l l l层向第 l + 1 l+1 l+1层节点的映射过程, n l n_{l} nl表示第 l l l层节点的个数, S ( l ) [ i , j ] S^{(l)}[i,j] S(l)[i,j] l l l层上节点 i i i映射到 l + 1 l+1 l+1层上节点 j j j的概率,第 l + 1 l+1 l+1层的节点特征矩阵 X ( l + 1 ) X^{(l+1)} X(l+1)和邻接矩阵 A ( l + 1 ) A^{(l+1)} A(l+1)通过 S ( l ) S^{(l)} S(l)可以得到 X ( l + 1 ) = S ( l ) T Z ( l ) ∈ R n l + 1 × d A ( l + 1 ) = S ( l ) T A ( l ) S ( l ) ∈ R n l + 1 × n l + 1 \begin{array}{l} X^{(l+1)}=S^{(l)^{T}} Z^{(l)} \in \mathbb{R}^{n_{l+1} \times d} \\ A^{(l+1)}=S^{(l)^{T}} A^{(l)} S^{(l)} \in \mathbb{R}^{n_{l+1} \times n_{l+1}} \end{array} X(l+1)=S(l)TZ(l)Rnl+1×dA(l+1)=S(l)TA(l)S(l)Rnl+1×nl+1注意到 A ( l + 1 ) A^{(l+1)} A(l+1)可能所有的值都不为0,图上的节点可能全部两两相连, A ( l + 1 ) [ i , j ] A^{(l+1)}[i,j] A(l+1)[i,j]可以看做节点 i i i到节点 j j j的连接强度(connectivity strength)。

learning the assignment matrix

assignment matrix S ( l ) S^{(l)} S(l) 和embedding matrix Z ( l ) Z^{(l)} Z(l)可通过两个GNN得到

Z ( l ) = G N N l , e m b e d ( A ( l ) , X ( l ) ) Z^{(l)}=\mathrm{GNN}_{l, \mathrm{embed}}\left(A^{(l)}, X^{(l)}\right) Z(l)=GNNl,embed(A(l),X(l)) S ( l ) = softmax ⁡ ( G N N l , p o o l ( A ( l ) , X ( l ) ) ) S^{(l)}=\operatorname{softmax}\left(\mathrm{GNN}_{l, \mathrm{pool}}\left(A^{(l)}, X^{(l)}\right)\right) S(l)=softmax(GNNl,pool(A(l),X(l))) G N N l , p o o l \mathrm{GNN}_{l, \mathrm{pool}} GNNl,pool的结果上按行做 s o f t m a x softmax softmax,可以得到图上每一个节点对应下一层图上的每一个节点的可能性。

The embedding GNN generates new embeddings for the input nodes at this layer, while the pooling GNN generates a probabilistic assignment of the input nodes to n l + 1 n_{l+1} nl+1clusters.

Auxiliary Link Prediction Objective and Entropy Regularization

一个直观的想法是在原图上距离更近的节点们(更加连通)更容易被映射为粗粒度图上的一个节点,所以模型在训练时要minimize L L P = ∥ A ( l ) , S ( l ) S ( l ) T ∥ F L_{\mathrm{LP}}=\left\|A^{(l)}, S^{(l)} S^{(l)^{T}}\right\|_{F} LLP=A(l),S(l)S(l)TF ∣ ∣ ⋅ ∣ ∣ F || \cdot||_F F是Frobenius norm,也就是说 A ( l ) A^{(l)} A(l)要尽量地和 S ( l ) S ( l ) T S^{(l)} S^{(l)^{T}} S(l)S(l)T接近。 A ( l ) [ i , j ] A^{(l)}[i,j] A(l)[i,j]代表的是图上i,j之间的连通强度,又因为 S ( l ) S ( l ) T [ i , j ] = ∑ k S ( l ) [ i , k ] S ( l ) T [ k , j ] S^{(l)} S^{(l)^{T}}[i,j]=\sum_{k}S^{(l)}[i,k] S^{(l)^{T}}[k,j] S(l)S(l)T[i,j]=kS(l)[i,k]S(l)T[k,j],当i,j同属于某一簇k的可能性高时 S ( l ) S ( l ) T [ i , j ] S^{(l)} S^{(l)^{T}}[i,j] S(l)S(l)T[i,j]会比较大,所以通过优化 L L P L_{\mathrm{LP}} LLP可以让相邻的节点更容易被映射到同一个簇(下一层的节点)上。

另外, S S S的每一行 S i S_i Si代表原图上的第 i i i个节点向下一层的各个节点映射的概率,所以 S i S_i Si应该接近一个one-hot的向量,即第 i i i个节点仅向下一层的一个节点映射。所以还需要minimize L E = 1 n ∑ i = 1 n H ( S i ) L_{\mathrm{E}}=\frac{1}{n} \sum_{i=1}^{n} H\left(S_{i}\right) LE=n1i=1nH(Si),通过减少熵的方式减少映射分布的不确定性。

转载地址:http://atdqi.baihongyu.com/

你可能感兴趣的文章
数据恢复过程千万不要做的事
查看>>
数据恢复问题分析及注意事项
查看>>
dell服务器服务器数据丢失后,数据恢复
查看>>
日常工作中,如何保证数据安全?
查看>>
mdf数据库文件数据修复/误删除格式化重装系统覆盖数据库数据恢复
查看>>
数据库错误5123修复
查看>>
SQL数据库 “内部一致性错误”
查看>>
金蝶账套误删除修复
查看>>
思讯823错误
查看>>
sql server 2005数据库无法读写
查看>>
用友ERP U8 数据库表误删除修复
查看>>
Sqlserver附加数据库错误823的解决方案824错误修复软件mdf附加失败绿色版
查看>>
linux服务器的安全保障
查看>>
CPU占用高,导致请求超时的故障排查
查看>>
SHELL基础 -1
查看>>
SHELL基础 -2
查看>>
Nginx
查看>>
Memcached,session共享
查看>>
Tomcat,varnish
查看>>
SVN, 制作RPM包
查看>>