GNN中如何利用置信度和不确定性做文章

2023-11-02 12:20

本文主要是介绍GNN中如何利用置信度和不确定性做文章,希望对大家解决编程问题提供一定的参考价值,需要的开发者们随着小编来一起学习吧!

0. 引言

目前图神经网络存在很多的问题,这里作者提出了两个,一个是过平滑,另外一个是对预测结果的不确定性进行评估,换句话说希望预测的结果不仅仅是一个结果,如果有一个置信度就更好了,比如疾病预测,预测了影像目前是什么病,有一个置信度是不是会更有价值一些呢?之前很少有人探讨过GCN背景下的置信度估计,这篇博客将看看仅这些工作是如何做的?

1. Confidence-based Graph Convolutional Networks for Semi-Supervised Learning(AISTATS 2019)

预测图中节点的性质是一个重要的问题,在许多领域都有应用。基于图的半监督学习(SSL)方法旨在通过将一小部分节点标记为种子,然后利用图结构来预测图中其余节点的标记分数来解决这个问题。最近,图形卷积网络在基于图形的SSL任务上取得了令人印象深刻的性能。除了标签分数之外,还希望有与之相关联的置信度分数。但是,在GCN背景下的信心估计以前没有被探索过。我们在这篇文章中填补了这一空白,并提出了一种基于GCN的联合置信度评估方法。ConfGCN使用这些估计的置信度来确定邻域聚合期间一个节点对另一个节点的影响,从而获得各向异性的能力。通过对标准基准的广泛分析和实验,我们发现ConfGCN能够超越最先进的基准。我们已经提供了ConfGCN的源代码,以鼓励可复制的研究。

在这里插入图片描述
我们提出了基于图的SSL的GCN框架。ConfGCN联合估计节点上的标签分数,以及对它们的置信度。对节点标签分数的置信度的一个额外好处是,它们可以用来制服节点邻域中不相关的节点,从而控制每个节点的有效邻居的数量。这实现了GCNs的各向异性行为。

我们通过图1所示的例子来解释这一点。在该图中,虽然节点a具有真正的标签L0(白色),但Kipf-GCN将其错误地分类为L1(黑色)。这是因为Kipf-GCN受到其邻域聚集方案的限制。例如,它对能够影响给定目标节点的表示的节点数量没有限制。在k层-GCN模型中,每个节点都受到其k跳邻域内所有节点的影响。然而,在真实世界的图中,节点经常出现在不同的邻域中,即一个节点经常被其他标签的节点包围。例如,在图1中,节点a被三个主要标记为L1的节点(d、e和f)包围,而两个节点(b和c)标记为L0。请注意,所有这些都是在GCN学习期间估计的标签分数。在这种情况下,希望节点a比其他三个节点更受节点b和c的影响。然而,由于基普-GCN不区分相邻节点,它被大多数节点所左右,从而为节点a估计了错误的标签L1。

ConfGCN能够通过估计每个节点的标签得分的置信度来克服这个问题。在图1中,这种估计的置信度用条形表示,白色和黑色条形分别表示标签L0和L1的得分的置信度。ConfGCN使用这些标签置信度来抑制节点d、e、f,因为它们对它们的标签L1(较短的黑条)具有低置信度,而节点b和c对它们的标签L0(较高的白条)具有高置信度。这导致在聚合期间b和c的影响更大,从而ConfGCN以高置信度正确地预测节点a的真实标签为L0。这清楚地表明了标签置信度的好处及其在估计节点影响方面的效用。

之前的GCN公式如下:
在这里插入图片描述
采用置信度的GCN公式如下:
对于任意两个给定的节点u和v,利用标签分布和协方差矩阵,它们之间的距离定义如下:
在这里插入图片描述在这里插入图片描述
在这里插入图片描述


2. Bayesian Graph Neural Networks with Adaptive Connection Sampling(ICML 2020)

作者提出了一个用于图神经网络(GNNs)自适应连接采样(connection sampling)的框架,该框架概括了现有的用于训练GNN的随机正则化方法,可以简单理解为一种Dropout与DropEdge升级版+贝叶斯。该框架不仅缓解了深层GNNs的过平滑和过拟合的问题,而且使得GNNs在图分析任务中可以应付不确定(uncertainty)的问题,这一点就非常具有实用价值了,也是贝叶斯的擅长的地方。

本文作者提出GDC(Graph DropConnect), 它跟随机正则化Dropout方法不同,Dropout使用固定的采样率dropout rate或手动调整作为模型超参数,本文提出的自适应连接采样GDC它可以与GNN模型参数以全局和局部的方式联合训练。Dropout存在一些问题,因为它没有考虑图的拓扑结构,只是把图上节点的特征随机的丢掉,本篇作者提出的GDC可以在每一个channel分别进行约束,此外,通过自适应地学习GDC中的连接采样,可以提供更好的随机正则化。

作者进一步证明,在每个通道的GDC自适应连接采样可被视为GNN中的随机聚集和扩散,其贝叶斯近似解释与CNN的贝叶斯DropOut相似。体而言,GNN输出的蒙特卡洛估计可用于评估预测性后验不确定性。该公式的一个重要推论是,任何具有邻域采样的GNN,例如GraphSAGE,都可以被视为其对应的贝叶斯近似。

在基准数据集上的消融实验结果验证了自适应学习采样率是在半监督节点分类任务中提高GNNs性能的关键,使其不容易过平滑和过拟合,具有更稳健的预测能力。
在这里插入图片描述


3. Bike Flow Prediction with Multi-Graph Convolutional Networks (ACM 2018)

本文的问题是预测共享单车站点时序流量,利用时刻t前各时段的流量及特征去预测t的流量。
文中比较有意思的地方一方面利用GCN+seq2seq模型处理时空数据,另一方面是估计置信区间,这个对实际业务指导有比较大的帮助。
整个框架分成三个模块:
构建和融合Graph:定义站点间不同关系并融合得到Graph。
GCN+encoder-decoder 模型:生成包含时间、空间、流量等信息的embedding
MLP:结合embedding和节假日、天气等其他特征去预测站点流量。
在这里插入图片描述
重点说一说置信区间的估计。
除了预测流量外,还额外输出一个置信区间,比较有实际意义。
比如有两个站点:学校和小区,学校站点置信区间比较大(用车模式复杂),小区站点置信区间比较小(早出晚归)。运营人员可以把精力集中在学校这一类置信区间较大站点上;另后续提升算法的方向可以是深挖这类站点的模式;甚至可以用于异常检测,在置信区间以外的是异常的。

首先定义了模型不确定性由以下三个因素决定
在这里插入图片描述
然后通过dropout方法估计前两个因素的方差 ,通过划分出测试集估计得到第三个因素的方差 ,最终得到预测结果的置信区间如下:
在这里插入图片描述

这篇关于GNN中如何利用置信度和不确定性做文章的文章就介绍到这儿,希望我们推荐的文章对编程师们有所帮助!



http://www.chinasem.cn/article/330570

相关文章

GNN中的Over-smoothing与Over-squashing问题

Over-squashing (过度压缩,顾名思义就是数据被“压缩”的过分小了,导致学不到什么东西。) 1、 why 会被压缩的过分小? 可能因为网络过深,那么在多层传播后,信息可能会被过度压缩(本质是特征减少了,当层数过多时会大大杂糅信息,导致特征减少,输出维度过小也会),导致细节丢失。 2、why 学不到什么东西? 会加剧梯度消失的现象,导致早期层几乎不学习,从而使得输入信息的重要细

图神经网络(GNN):同质图模型【GCN/GraphSAGE/GAT...】、异质图模型【HAN/HetGNN...】

目前的图神经网络主要针对同质图(节点类型和边类型单一)设计. 同质图中只有一种类型的节点和边(例如,只有朋友关系的社交网络),网络结构较为简单.因此,同质图神经网络通常只需要聚合单一类型的邻居来更新节点的表示即可(例如,通过在朋友关系下的邻居来更新节点表示).但真实世界中的图大部分都可以被自然地建模为异质图(多种类型的节点和边,如下图所示,IMDB数据中包含三种类型的节点Actor、Movie和

GNN-2008:Original GNN【消息传递(前向传播):聚合函数+更新函数+输出函数】【核心:不动点理论】【梯度优化:用Almeida-Pineda算法,而不是用BPTT(反向传播)算法】

GNN-2008:Original GNN【消息传递(前向传播):聚合函数+更新函数+输出函数】【核心:不动点理论】【梯度优化:用Almeida-Pineda算法,而不是用BPTT(反向传播)算法】 《原始论文:A new model for learning in graph domains-2005》 《原始论文:The Graph Neural Network Model-2008》 一

GNN-频域-2014:Spectral Networks and Locally Connected Networks on Graphs(频谱图卷积神经网络)【第一篇从频域角度分析】

《原始论文:Spectral Networks and Locally Connected Networks on Graphs》 空域卷积非常直观地借鉴了图像里的卷积操作,但缺乏一定的理论基础。 而频域卷积则不同,相比于空域卷积而言,它主要利用的是**图傅里叶变换(Graph Fourier Transform)**实现卷积。 简单来讲,它利用图的**拉普拉斯矩阵(Laplacian ma

GNN-第三方库:PyTorch Geometric Temporal【PyG的一个时间图神经网络扩展库】

PyTorch Geometric Temporal 是PyTorch Geometric(PyG)的一个时间图神经网络扩展库。它建立在开源深度学习和图形处理库之上。 GitHub源码:benedekrozemberczki/pytorch_geometric_temporal PyTorch Geometric Temporal由最先进的深度学习和参数学习方法组成,用于处理时空信号。 Py

GNN-第三方库:DGL【图神经网络框架,支持对异构图的处理,开源相关异构图神经网络的代码,在GCMC、RGCN等业内知名的模型实现上也取得了很好的效果】

一、DGL库的实现与性能 实现GNN并不容易,因为它需要在不规则数据上实现较高的GPU吞吐量。 1、DGL库简介 DGL库的逻辑层使用了顶点域的处理方式,使代码更容易理解。同时,又在底层的内存和运行效率方面做了大量的工作,使得框架可以发挥出更好的性能。 2、DGL库特点 GCMC:DGL的内存优化支持在一个GPU上对MovieLens10M数据集进行训练(原实现需要从CPU中动态加载数据

GNN-节点向量(Node Embedding)的表征学习-发展:随机游走/一阶二阶相似度(静态表征)【直接学习出各个节点的向量表示】 -->图卷积(动态表征)【学习节点间聚合函数的参数】

静态表征 基于“随机游走”、“Word2vec”的:DeepWalk、Node2vec、Metapath2vec;基于“一阶相似度”、“二阶相似度”的:LINE、SDNE; 动态表征(GCN、GraphSAGE、GAT)【训练聚合函数的参数】

图神经网络GNN的前世今生

GNN 图神经网络(Graph Neural Network,简称GNN)已经成为处理图形结构数据的一种强大工具,广泛应用于社交网络分析、知识图谱、推荐系统等领域。在本文中,我们将深入探讨图神经网络的历史背景、关键的发展阶段以及未来可能的发展方向。 一、背景介绍 图(Graph)是一种数据结构,由节点(Node)和连接节点的边(Edge)组成。在许多现实世界的应用中,数据