文章题目:One2Multi Graph Autoencoder for Multi-view Graph Clustering 国际万维网大会
-
多视图数据:用多组特征描述的数据。每一组特征被称为一个视图。
-
One2Multi图形自动编码聚类框架:深度学习、使用信息图形视图+内容数据重构多个视图,进行节点嵌入学习,可以获得多个视图的共享特征表示。
-
将自动编码和自训练结合,实现聚类的簇标签分配和嵌入
以往方法:
1.图分析:最大化不同视图之间的相互一致性
2.图嵌入技术学习节点的紧凑表示,后使用传统聚类方法K-means等
使用GNN网络需要解决的问题:
1.如何在无监督环境下融合多视图信息?
答:建立multi2multi模型。使用多个编码器-解码器,每一组用于一个视图。
缺点:每个视图包含不同的噪声,模型只实现了单个视图的表示,我们需要的是共享表示。
2.如何让网络学习到适用于聚类的嵌入表示?
答:节点的嵌入表示和聚类是两个独立的任务。节点嵌入是重构原始图,故学习到的嵌入表示不一定适用于聚类,因此需要使用一个统一的方法来优化节点嵌入和聚类。
问题分析:
1.虽然多视图数据使用不同特征来描述节点关系,但是多视图之间会存在一些共同的节点特征。
2.存在一个包含信息最丰富的视图,该视图在多个场景下对聚类任务的影响最大。
模型构建:
基本思想:step1.选择包含信息最丰富的视图,从该视图和内容数据中获得多个视图的共享表示,利用该共享表示重构所有视图。step2.然后通过自训练聚类目标使得嵌入表示适用于聚类任务。
(需要设计聚类任务、需要预定义K个簇、需要设计启发式度量选择最大信息视图)
模型框架:
- 一个编码器(一个双层的GCN网络)和多个解码器。利用多视图图结构和节点内容学习到(共享表示)节点表示。通过GCN(多层图卷积网络):1.利用包含信息最多的视图编码学习节点表示。2.利用多个解码器重构所有视图(解码器指导编码器实现所有视图的共享表示)。
- 设计自训练聚类目标,使得当前的聚类分布更适合聚类任务。
- 通过同时优化重构损失和聚类损失,实现模型对节点嵌入和聚类的共同优化。
创新点:
1.首个将图深度学习应用于多视图聚类。
2.One2Multi图自动编码器框架:集成了多视图结构和内容信息、同时优化(协同优化、相互促进)多视图嵌入学习和聚类。
问题描述:
将属性多视图图中的节点划分为预定义的K个不相交的簇。使得同一簇的节点:1.多视图图结构彼此相似,但距离较远。2.节点属性相似
选择最大信息视图:
启发式度量:
1.将每个视图的邻接矩阵和内容信息分别输入GCN获得节点嵌入。
2.使用K-means对嵌入进行聚类,获得聚类指标。
3.使用聚类指标和邻接矩阵,计算每个视图的模块化得分(可以评估视图结构),选择得分最高的。
模型详解:
第一部分:编码器-解码器。重构视图获得嵌入表示
1.编码器是一个双层的GCN网络
2.解码器通过重构指导编码器更好的获得共享表示(相互促进)
3.解码器的多视图连接预测层:基于图嵌入预测一个视图中的两个节点之间是否有连接
4.重构损失:计算每个视图前向传播和反向传播过程中的误差和。由于反向传播时解码器的梯度会经过编码器,故前向传播时,编码器获得了所有视图的共享表示。
5.也可看作多任务学习。解码器为编码器提供多任务监督信号,使得编码器可以获得所有视图的共享表示
第二部分:自训练聚类。设计聚类目标指导嵌入表示更适用于聚类
1.聚类目标:PQ分布之间的KL散度最小。
2.Q是软聚类分布,与预定义的簇中心的差别
3.“高度自信”节点对最小化KL散度作用很大。该节点是属于某个簇的概率较大的点。故也可以称为”半监督训练“。
4.总体目标函数 = c*KL散度 + 重构误差 (c>0,实验中为0.1)
具体操作:
1.在没有自训练的情况下获得嵌入表示
2.通过自训练优化嵌入表示
3.对嵌入表示进行K-means聚类(需要更新的参数:编码器-解码器的权值、聚类中心、目标分布P)
具体更新:
1.固定目标分布P,计算KL散度对聚类中心的梯度(偏导)
2.根据给定的学习速率,更新聚类中心
3.更新第i个解码器的权值(只与第i个视图的重构损失有关,故特定解码器的权值与特定视图的结构有关)
4.更新编码器的权值(与所有视图的重构损失有关,故编码器的权值可以获得所有视图的共享表示)
5.更新目标分布。目标分布与软标签有关,更新目标分布就是给节点重新分配标签。需要使用所有节点嵌入。
更新停止条件:目标分布的两次更新之间的标签变化%小于阈值。最终的目标分布就是聚类结果。