一、Main idea--MiniCut
Minicut算子插入在GNN中,ta可以最小化损失的前提下防止产生退化解,这一算法的核心如下:
1)MP(Message-passing)
消息传递机制可以综合节点和其邻居节点的信息,使得图节点的特征区域平滑,文中的消息传递是通过GNN实现,文中的消息传递机制主要借鉴了如下公式:
其中,~A为:
Θm 和 Θs是该层的混合和跳过的权重参数。
重点是文中的消息传递层:
和
是可训练参数,ta们被无监督最小化损失函数
联合优化。
2)Minicut
由两部分组成:
其中借鉴了谱聚类中分类的思路,也就是说尽量使得类内的点之间联系尽可能多而类间的点联系尽可能少,具体的可以用如下公式表示:
分子表示的是类内连接的边数,分母是类间的边数,聚类的目的就是使得这一函数值尽可能的大。
同样的中分子表示了类内联系的紧密度,分母表示了类间联系的紧密度,公式中的S正是经过MP层训练得到的软聚类矩阵。
,取最小值代表不同的节点簇之间正交的理想情况,取最大值时分子为0,此时代表每个点都连接在一起无法分割的极端情况。然而
是一个非凸函数,有可能会得到局部最优解。例如,给定一个连通图,一个简单但最佳的解决方案是将所有节点分配到同一集群。由于连续松弛,当簇分配全部均匀时,即所有节点均等地分配给所有簇时,会出现另一个退化最小值。然而这个问题会被MP算法加剧,为了惩罚最小化
文中引入了正则化参数
,由于
在[0,2]区间内,所以
有着明确合理的取值区间。这里注意
,其中
能够准确地标记每个簇的 N/K 点,聚类矩阵之间的 Frobenius 范数值不会因聚类大小的差异而产生偏差,因此能够用来优化簇内的方差。
二、Pooling and Graph Coarsening
这一段在文中算是对所提出的MiniCut算子的应用,就是在GNN中充当池化层,首先看一下MiniCut层的结构:
我们来顺一下逻辑,对GNN输入图的邻接矩阵和特征矩阵,将GNN学习到的节点信息矩阵再输入到MLP中得到软聚类矩阵S,再利用这一软聚类矩阵生成粗化的邻接矩阵和特征矩阵,公式如下:
三、优缺点
优点:与SC方法对比,本方法可微,且与SC相比不需要消耗太多的计算资源;与无模型方法相比,灵活性更强可以适应于不同的图;与有模型方法相比,它的稳定性更高。
缺点: MinCutPool 的正交性约束与 softmax 类分配结合时限制过多,MinCutPool 的软正交正则化项主导了其聚类项,训练后变得比随机项更差。