苏涛 作者萝卜兔编辑整理

基于attention的半监督GCN | 论文分享

图卷积对图中节点的特征和图结构建模,本文中作者首先移除图卷积中的非线性变换,发现在GCN中起关键作用的是传播层,而不是非线性感知层。然后提出AGNN模型,在传播层引入attention机制,使中心节点特征的聚合过程中,对邻居节点的注意力产生差异。模型在benchmark测试用的文献引用数据集上的效果优于其他state-of-the-art的方法。并且,通过传播矩阵计算节点之间的关联强度,得到了一些更有趣的信息。在预测目标节点类别时,与预测类别相同的邻居节点将会在此过程中,承担了比其他邻居节点更重要的角色。

Graph Neural Network

回顾半监督GCN,交替叠加两次传播层和感知层, 模型第l层的隐含状态

其中,。非线性激活函数ReLU。参数通过在所有标记样本集合L上,最小化损失函数,训练得到:

为了更好的理解GCN,作者将GCN中的非线性变换剔除,只保留传播层,称为GLN。这样GLN模型就是一个简单的线性模型。

与GCN中一样,权重矩阵是最小化损失函数训练得出。两个传播层只是简单的对邻居节点特征加权求平均,权重为节点的度,输出层也是一个线性分类器。如此,分离出线性传播层和非线性感知层。GLN与其他方法的表现对比,如表2。比较GCN和GLN,GLN的准确度甚至更高,这表明对提升模型表现至关重要的是传播层,而不是感知层。其他不使用图卷积的方法对比,GLN模型在准确度上有明显差距。基于这个结果,考虑使用attention机制,替换GLN中的线性传播。

AGNN

原始的GCN和其他图神经网络使用的是静态,无法自适应的传播法则。无法捕捉中心节点的哪个邻居节点对于中心节点的分类贡献更大。真实数据并非所有的边都是代表着相同的关联强度,其中必然有一些才是至关重要的。基于GLN的实验结果,提出了作用与邻居节点集合的attention机制,它可以学习到分类模型中,那些邻居与中心节点更相关,并相应的权衡他们的贡献。

AGNN第一层网络与原始GCN一样,参数矩阵将节点特征X转化为长度为的特征向量,激活函数使用ReLU。

在每个传播层加入参数化的注意力引导机制,参数

这样,对于节点i的输出向量为:

其中传播矩阵也是关于第l层状态和参数的函数。attention中的softmax函数是确保传播矩阵每行的和为1,代表邻居节点对中心节点的影响力总和为1。这样从节点j到i的注意力为 :

计算节点i和节点j在第l层隐含状态的余弦距离,它捕捉了节点j到节点i的关联程度。注意力机制更倾向于选择那些与中心节点相同类别的邻居节点,给予更强的关联强度。

Experiments

在benchmark数据集上,作者设计了三个对比试验,验证AGNN模型的半监督分类精度。与其他baseline方法的结果对比,见下表。无论是只包含传播层的GLN模型还是基于attention的AGNN模型,都取得了优于其他方法的精度。 

定性分析

之所以将attention引入模型,有一部分是因为,它提供了一定的解释性。学习得到的传播矩阵P,反映特征聚合过程中,中心节点i,对邻居节点j的关注度,它代表在对节点i分类过程中,节点j起到的作用。

上图,作者提供了基于Cora和CiteSeer数据集,提供了邻接矩阵成对节点之间attention的统计。展示了来自的节点c到来自的节点c2平均attention。将其定义为c2c的相关性。 

每个边的相关性得分即为:

上式中,表示节点i的度,表示包含self-loop在内的所有边的集合。如果不使用任何attention,那么,传播中对中心节点的每个邻居的关注度是均匀的,。加入attention之后,上式中的attention 需要为0,所以要减去这个基础误差。并且使用做归一化,这样,attention度量的是中心节点与其邻居节点之间的相对强度,而不是绝对差异。

Figure1展示了CiteSeer和Cora数据集的相关性得分。对于两个数据集,对角线上的元素占主导地位,这表明注意力机制正在学习为同一类别的节点增加权重。如果cc2的相关性很高,那说明平均来看,类别c的节点更加关注邻居集合中那些类别c2的节点。 

剔除self-loops,分析相关性得分较高和较低的边。对相关性得分进行排序,分别取top100和bottom100,计算这些边中,两端节点是相同类型节点的边的占比。如表5,这表明作者提出的模型结构倾向于更关注来自相同类型的两个节点。 

最后,分析测试集中,GCN没有分类正确,但AGNN正确分类的节点。展示注意力机制如何加权局部邻居节点的贡献。Fig2中作者展示了三个实例,节点外有黑色镶边的为目标节点,展示出目标节点的二阶邻居,邻居节点的大小代表目标节点对邻居节点的注意力强度。同样可以发现,AGNN对目标节点分类时,邻居节点中的某一类节点会受到更多的关注,这帮助模型将给目标节点打出正确的标签。

参考链接

https://openreview.net/pdf?id=rJg4YGWRb

AMiner学术头条
AMiner学术头条

AMiner平台由清华大学计算机系研发,拥有我国完全自主知识产权。系统2006年上线,吸引了全球220个国家/地区800多万独立IP访问,数据下载量230万次,年度访问量1000万,成为学术搜索和社会网络挖掘研究的重要数据和实验平台。

https://www.aminer.cn/
专栏二维码
理论注意力机制图神经网络GCN
3
相关数据
线性分类器技术

机器学习通过使用对象的特征来识别它所属的类(或组)来进行统计分类。线性分类器通过基于特征的线性组合的值进行分类决策。 对象的特征也称为特征值,通常在称为特征向量的向量中呈现给机器。

激活函数技术

在 计算网络中, 一个节点的激活函数定义了该节点在给定的输入或输入的集合下的输出。标准的计算机芯片电路可以看作是根据输入得到"开"(1)或"关"(0)输出的数字网络激活函数。这与神经网络中的线性感知机的行为类似。 一种函数(例如 ReLU 或 S 型函数),用于对上一层的所有输入求加权和,然后生成一个输出值(通常为非线性值),并将其传递给下一层。

权重技术

线性模型中特征的系数,或深度网络中的边。训练线性模型的目标是确定每个特征的理想权重。如果权重为 0,则相应的特征对模型来说没有任何贡献。

感知技术

知觉或感知是外界刺激作用于感官时,脑对外界的整体的看法和理解,为我们对外界的感官信息进行组织和解释。在认知科学中,也可看作一组程序,包括获取信息、理解信息、筛选信息、组织信息。与感觉不同,知觉反映的是由对象的各样属性及关系构成的整体。

参数技术

在数学和统计学裡,参数(英语:parameter)是使用通用变量来建立函数和变量之间关系(当这种关系很难用方程来阐述时)的一个数量。

损失函数技术

在数学优化,统计学,计量经济学,决策理论,机器学习和计算神经科学等领域,损失函数或成本函数是将一或多个变量的一个事件或值映射为可以直观地表示某种与之相关“成本”的实数的函数。

注意力机制技术

我们可以粗略地把神经注意机制类比成一个可以专注于输入内容的某一子集(或特征)的神经网络. 注意力机制最早是由 DeepMind 为图像分类提出的,这让「神经网络在执行预测任务时可以更多关注输入中的相关部分,更少关注不相关的部分」。当解码器生成一个用于构成目标句子的词时,源句子中仅有少部分是相关的;因此,可以应用一个基于内容的注意力机制来根据源句子动态地生成一个(加权的)语境向量(context vector), 然后网络会根据这个语境向量而不是某个固定长度的向量来预测词。

感知层技术

IoT (物联网) 三层结构中的一层,用于识别物体,采集信息等感知类的任务;另外两层是应用层(Application layer)和网络层(Network layer)。

图神经网络技术

图网络即可以在社交网络或其它基于图形数据上运行的一般深度学习架构,它是一种基于图结构的广义神经网络。图网络一般是将底层图形作为计算图,并通过在整张图上传递、转换和聚合节点特征信息,从而学习神经网络基元以生成单节点嵌入向量。生成的节点嵌入向量可作为任何可微预测层的输入,并用于节点分类或预测节点之间的连接,完整的模型可以通过端到端的方式训练。

推荐文章
暂无评论
暂无评论~