DiffPool:Hierarchical Graph Representation Learning with Differentiable Pooling
关于diffpool的读书笔记。
Architecture
池化操作主要分为两步:
- 使用 GNN 获得节点的特征
- 聚类获得池化后的池化网络
具体实现
使用分配矩阵来进行池化操作
通过学习获得分配矩阵
需要注意到是,上述公式中使用的 GNN 输入相同的数据但是具有不同参数和起到不同作用:
- 嵌入GNN生成节点特征
- 池化GNN生成输入节点到 {n_{l+1}} 个集群的分配概率
排列不变性
请注意,为了对图分类有用,池化层在节点排列下应该是不变的。 对于 DIFFPOOL,我们得到以下肯定结果,这表明任何基于 DIFFPOOL 的深度 GNN 模型都是置换不变的,只要组件 GNN 是置换不变的。
辅助链接预测目标和熵正则化
在训练早期,存在非凸优化问题,在训练早期很难将池化 GNN 推离虚假的局部最小值。
为了缓解这个问题,我们使用辅助链接预测目标来训练池化 GNN,该目标编码了附近节点应该被池化在一起的直觉。
All articles in this blog are licensed under CC BY-NC-SA 4.0 unless stating additionally.