一种残膜回收机防缠绕挑膜装置的制 一种秧草收获机用电力驱动行走机构

一种应用于GNN的拓扑感知的后处理置信度校正方法与流程

2021-11-25 00:47:00 来源:中国专利 TAG:

一种应用于gnn的拓扑感知的后处理置信度校正方法
技术领域
1.本发明涉及光纤激光器技术领域,尤其涉及一种应用于gnn的拓扑感知的后处理置信度校正方法。


背景技术:

2.图在现实世界中是无处不在的,包括社交网络、电子商务网络、交通网络等。最近,基于消息传递方式的图神经网络(gnn)在处理图数据方面引起了相当大的关注。迄今为止,gnn已被广泛应用于各种应用并且取得了显著的成果,例如节点分类、链接预测和图分类等。
3.然而在实际的应用中,准确性并不是唯一的目标。在许多尤其是和安全领域相关的应用中,非常需要一个值得信赖的模型。通常来说,一个值得信赖的模型意味着它应该知道它的预测结果什么时候可能是不正确的。换句话说,与预测的类别标签相关联的概率(置信度)应该反映其实际的准确性。例如,在自动驾驶场景中,只有当模型对其预测具有高置信度时,系统才会采纳模型给出的预测;否则,决策权将返回给驾驶员或者系统采取其他更安全的策略。置信度校正已经在深度学习中引起了相当大的关注,许多研究表明现代神经网络模型对预测过于自信,即模型的预测精度低于其置信度。然而置信度校正的问题还没有在gnn中进行过研究,因此,这引发了一个基本问题:当前的gnn是否会与其他神经网络一样对预测过于自信?
4.作为本发明的第一个贡献,我们展示了图卷积网络(gcn)和图注意力网络(gat)在节点分类任务中置信度与精度的关系。我们惊奇地发现现有的gnn远没有被很好的校正,更重要的是gnn往往对其预测缺乏信心,这与其他现有的经常过度自信的深度学习模型大不相同。gnn置信度不足意味着其许多预测分布在低置信度范围内,则可用于安全关键应用的预测将相对较少。因此,本发明将探索如何校正gnn对预测的置信度,以使它们更值得信赖。
5.另外,当前多数自训练方法存在在高标签率数据集中表现不佳的问题。考虑到gcn的低置信度的问题,我们认为现有自训练方法表现不佳的原因是大量高精度的预测分布在在低置信区间中,导致他们无法被加入到训练集中。因此,本发明将同时探索如何通过校正的置信度改善gnn中自训练的精度。


技术实现要素:

6.本发明的目的是提供一种应用于gnn的拓扑感知的后处理置信度校正方法,该方法能对gnn对预测结果的置信度进行校正,使其可以代表真实的分类概率,从而可以用于许多安全相关的应用,提高预测结果的可信赖性。
7.为了实现上述目的,本发明提供如下技术方案:
8.本发明提供一种应用于gnn的拓扑感知的后处理置信度校正方法,包括以下步骤:
9.s1、给定随机变量a和x,对于一个l层的gcn,通过公式(2)得到在softmax层前的输出v
i

10.v=aσ(

aσ(axw
(1)
)w
(2)

)w
(l)
=[v1,

,v
n
]
ꢀꢀꢀ
(2)
[0011]
其中,a∈r
n*n
是相邻矩阵,x=[x1,...,x
n
]是节点特征矩阵,w
(l)
是gcn第l层的权重矩阵,σ(.)代表激活函数,v是节点集,n=|v|是节点数;
[0012]
s2、使用另一个l层gcn作为校正函数,从而沿着网络拓扑传播置信度,给定某个分类gcn的输出v,通过公式(3)得到节点校正后的输出v

i
和置信度
[0013][0014]
其中是softmax算子;
[0015]
s3、令是一个校正函数,是一个一维函数,v
i
=(v
i,1
,...,v
i,k
)是节点i输出,当s是一个严格保序函数且h能够满足:
[0016][0017]
时,h能够保持原始模型的分类精度。
[0018]
进一步地,步骤s3中保持精度的校正方法采用ts方法或nll法。
[0019]
进一步地,ts方法具体为:使用一个温度标量t对所有类同时进行调整,给定节点i的输出v
i
,使用l层gcn为每个节点i学习一个唯一的温度参数t
i
,然后根据ti将原始的v
i
转换为一个校正后的输出v’i
,根据公式(5)最终得到校正后置信度
[0020][0021]
其中,是一个大于零0的标量,σ

(x)=log(1 exp(x)是一个softplus激活函数。
[0022]
进一步地,nll法具体为:将节点i的k类独热标签表示为y
i
=(y
i,1
,...y
i,k
),并假设训练集的大小为|d
train
|,根据公式(8)计算所有训练节点的nll损失
[0023][0024]
nll损失正则化项如公式(9)所示:
[0025][0026]
其中|cor|和|inc|分别是分类正确与错误的节点的数量,z
i,m
和z
i,s
分别是最大和次大的预测概率;
[0027]
组合和根据公式(10)获得整体目标函数:
[0028][0029]
其中,λ为控制着正则化项的权重。
[0030]
与现有技术相比,本发明的有益效果为:
[0031]
本发明提供的应用于gnn的拓扑感知的后处理置信度校正方法,提高了置信度,同时具有拓扑相关、非线性和保存精度。基于该方法的校正过后的gnn自训练方法,可以有效地利用高置信度的预测。此外,通过大量的实验证明了本发明提出的方法在校正和准确性方面的有效性。
附图说明
[0032]
为了更清楚地说明本技术实施例或现有技术中的技术方案,下面将对实施例中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本发明中记载的一些实施例,对于本领域普通技术人员来讲,还可以根据这些附图获得其他的附图。
[0033]
图1为本发明实施例提供的gcn和gat没有校正前的置信度的分布直方图。
[0034]
图2为本发明实施例提供的gcn和gat的置信度分布。
[0035]
图3为本发明实施例提供的置信度传播过程示意图。
[0036]
图4为本发明实施例提供的cagcn整体框图。
具体实施方式
[0037]
在本发明中,我们专注于校正无向的属性图g=(v,e)与相邻矩阵a∈r
n*n
和节点特征矩阵x=[x1,...,x
n
]。v是节点集,e∈v*v是节点之间的边构成的边集,n=|v|是节点数。我们给出gnn被完美校正的定义:
[0038]
定义1:给定随机变量以及一个gnn模型f
θ
,其中θ是可学习参数,对于节点i,定义其标签是y
i
∈y,gnn的输出是z
i
=f
θ
(x
i
,a)=(z
i,1
,...,z
i,k
),并定义和分别是模型的预测和相应的置信度,则我们说当f
θ
满足如下定义时才是被完美校正的:
[0039][0040]
根据定义1,只有当置信度恰好等于每个节点得到正确预测的真实概率时,gnn才被完美校正。
[0041]
接下来,我们以两个具有代表性的gnn(gcn和gat)为例来分析它们是否被完美校正。
[0042]
具体来说,我们将gcn和gat应用于四个被广泛使用的数据集cora、citeseer、pubmed和corafull,并检查结果是否满足完美校正的定义。为了提供更多的实验结果,我们为训练集选择了三个标签率(即每类分别有20、40、60个样本)。由于无法准确知道真实概率p,我们采用近似方法来评估模型是否被完美地校正。
[0043]
具体来说,我们首先将置信度区间划分为20个相等的桶,然后根据模型对节点预测结果的置信度将节点分组到相应的桶中,之后,我们计算每个桶中样本的平均预测准确率。我们期望在每个桶中样本的平均分类准确率等于每个桶中样本的平均置信度,这意味着模型近似被完美校正。例如,如果取值范围在[0.95,1.0]的桶中,样本的平均置信度为0.96,则该桶中样本的平均分类准确率应为96%。
[0044]
我们在图1中使用了可靠性直方图说明标签率为20的实验结果,其中图中的x轴是
20个相同大小的桶中样本的平均置信度,y轴每个桶中样本的平均准确率,深色代表gcn和gat的实际分类准确率,浅色代表我们的预期。我们可以发现,在所有数据集中,大多数桶中样本的平均准确率高于平均置信度,这说明这些gnn实际上拥有卓越的性能,但对预测的置信度均普遍偏低低,即gnn通常是欠置信的。请注意,gnn的这种现象与其他现有神经网络非常不同,后者通常是过度自信的。
[0045]
此外,如图2所示,我们还可视化了测试节点的置信度分布,其中x轴是置信度,y轴是密度,浅色代表正确预测的置信度分布,深色代表错误预测的置信度分布。我们知道,直方图高度乘以宽度等于频率。我们可以看到大量的正确预测分布在低置信区间。上述结果表明,当前的gnn是远没有被完美校正的,置信度是不可靠的。
[0046]
现有技术多是对cv和nlp中的置信度校正的相关问题进行了研究,从来没有考虑过gnn中的置信度校正。但是传统的用于cv和nlp中对置信度进行校正的方法并不能直接应用于graph中,因为这些方法没有考虑过graph中拓扑方面的影响,可能会带来错误。举个简单的例子,考虑两个节点a和b的输出相同,但是节点a与其邻居相似而节点b相反。显然,gcn对a的预测应该比b更有信心,而传统的置信度校正方法将会对a和b给出相同的置信度,这是由于它们没有考虑拓扑的影响造成的,也会因此给出了错误的置信度。
[0047]
基于此,本发明提供了一种应用于gnn的拓扑感知的后处理置信度校正方法,该方法能对gnn对预测结果的置信度进行校正,使其可以代表真实的分类概率,从而可以用于许多安全相关的应用,提高预测结果的可信赖性。为了更好地理解本技术方案,下面结合附图对本发明的方法做详细的说明。
[0048]
给定a和x,对于一个l层的gcn,其在softmax层前的输出可以通过如下方式得到:
[0049]
v=aσ(

aσ(axw
(1)
)w
(2)

)w
(l)
=[v1,

,v
n
]
ꢀꢀꢀ
(2)
[0050]
其中,w
(l)
是gcn第l层的权重矩阵,σ(.)代表激活函数。对于每个节点i∈{0,1,...,n},我们的目标是学习一个后处理的校正函数,其利用留出的数据集根据输入是v
i
得到一个校正的置信度作为输出。校正函数应该满足一下三个要求:(1)将网络拓扑结构考虑在内(2)是一个非线性函数(3)能够保存分类gcn的精度。
[0051]
我们假设图中的置信度分布具有同质性,即经过良好校正的模型给出的相邻节点的置信度应该相似,我们通过实验来验证这一点。我们采用经典的温度缩放(temperature scaling,ts)方法作为我们的校正函数,并使用置信度的总变差作为评估方法,总变差对所有相邻节点之间的置信度差异进行求和。
[0052]
我们比较了置信度校正前后总变差的变化,结果如表1所示。我们可以发现温度缩放后置信度的总变化确实减少了,这验证了我们的假设,并启发我们:经过良好校正之后的gcn的邻居之间的置信度应该比以前更相似。
[0053]
表1在进行置信度校正前后的置信度总变差
[0054][0055]
我们发现gcn可以起到满足上述要求的校正函数的作用,因为gcn能够沿网络拓扑传播节点特征并平滑相邻节点之间的相似信息。因此,我们可以使用另一个l层gcn(cagcn)作为我们的校正函数,从而沿着网络拓扑传播置信度。
[0056]
具体来说,给定某个分类gcn的输出v,可以通过下式得到节点校正后的输出v

i
和置信度
[0057][0058]
其中是softmax算子。
[0059]
此时置信度的总变差一定会变低,从而分类gcn将被校正。请注意,虽然在这里我们可以采用ts方法,但与gcn相比,它并没有考虑网络拓扑结构。此外,ts方法仅仅是一种线性变换,而gcn能够学习到非线性的校正函数。
[0060]
为了全面了解置信度的传播过程,我们在这里进行了一个可视化的详细说明。如图3所示,两个节点a和b的输出是相同的,但是节点a与其邻居相似而节点b相反。显然,gcn对节点a的预测应该比b更有把握。此外,我们假设a、b和他们的邻居均对自己的预测结果不自信。如果我们继续使用另一个gcn沿着拓扑传播它们的输出,节点a及其邻居的输出将趋于一致。因此,如果在置信度校正过程中我们校正了这些节点中的一个或多个,则所有节点也都将被校正,置信度以这种方式完成了传播。另一方面,关注另一个节点b,我们很容易发现即使是依靠人工去分类也难以分对,这对于gcn来说也是同样困难的。因此,b的置信度应该保持不变甚至变得更低。然而,如果我们不考虑网络拓扑而使用传统的校正方法,b的置信度会受a的影响而变得更高。相反,当考虑网络拓扑时,b的输出将被其邻居平均,每个维度趋于1/k。当处于相同情况下的其他节点良好的校正时,它也将被正确校正。
[0061]
到目前为止,我们已经提出了一种可以考虑网络拓扑的非线性校正模型cagcn,但它还不能满足保存精度的特性。为了解决这个问题,我们首先研究了保存精度的校正函数。
[0062]
命题1:令是一个校正函数,是一个一维函数,v
i
=(v
i,1
,...,v
i,k
)是节点i输出。当s是一个严格保序函数且h能够满足:
[0063][0064]
时,h能够保存原始模型的分类精度。
[0065]
ts方法是最简单的保持精度的校正方法,它使用一个称之为温度的标量t对所有类同时进行调整。给定节点i的输出v
i
,预测的置信度应为,预测的置信度应为在ts方法中,是校正函数,s(x)=x/t是严格保序函数。
[0066]
然而我们可以发现ts方法使用相同的参数t对所有节点执行相同的线性变换。因此我们使用cagcn作为我们的校正函数,而cagcn通常不是保序函数,即v
i
和v’i
的类间序不一致,这说明经过cagcn校正后的模型不能保持原始分类gcn的精度。因此,我们提出了改进的cagcn。
[0067]
对于给定的分类gcn的输出v,我们首先使用l层gcn为每个节点i学习一个唯一的温度参数t
i
,然后根据t
i
以类似ts方法的方式将原始的v
i
转换为一个校正后的输出v’i
,最终得到校正后置信度如下所示:
[0068][0069]
其中,是一个大于零0的标量,σ

(x)=log(1 exp(x))是一个softplus激活函数。上述提到的模型不会改变v
i
和v’i
的类间序,这意味着它保留了原始gcn的准确性。
[0070]
我们可以发现上式对v
i
的所有维度进行了相同的变换,这限制了可学习的校正函数空间。然而我们将在命题2中证明式(5)与式(3)中提出的模型在置信度校正方面实际上是相同的。考虑到对于任意输出v
i
,我们实际上期待的是校正后的模型的置信度可以取到区间(1/k,1)中任意值。请注意,否则预测会发生变化。由于式(3)对学习的校正模型没有限制,它的输出可以取遍1/k到1的任何值。因此,如果我们可以证明式5中的输出也可以取遍区间(1/k,1),式(3)和式(5)的相等性便可以得到证明。
[0071]
命题2:对于节点i,给定其模型的原始输出v
i
=(v
i,1
,...,v
i,k
),对于任意的j∈{0,...,k},假设v
i,j
不会趋近于无穷,则式(5)中校正后的置信度可以遍历(1/k,1)区间。
[0072]
关于v
i
的假设很容易满足,因为gcn中的l2正则化使得权重矩阵w趋近于零矩阵,并且特征矩阵x中的每个元素不是无穷大,因此,根据式2,v中的每个元素vi,j都不会趋于无穷大。从命题2中我们得知,对于任何给定的v
i
,确实存在唯一的温度t
i
使得可以取到从1/k到1的任何值。换句话说,模型可以被完美校正。
[0073]
由于nll损失函数可以分解为校正损失和细化损失,因此最小化nll有利于置信度校正,因此我们使用nll损失函数作为我们的目标函数。此外,我们还添加了一个正则化项。我们使用式5中的预测概率z
i
∈r
k
来计算nll损失。将节点i的k类独热标签表示为y
i
=(y
i,1
,...y
i,k
),并假设训练集的大小为|d
train
|,则所有训练节点的nll损失为:
[0074][0075]
由于gcn对预测的置信度偏低,因此我们的目标是增加正确预测的置信度,同时降低错误预测的置信度。考虑到对于错误的预测,nll损失并不能直接降低其置信度,因此我
们为nll损失设计一个正则化项如下:
[0076][0077]
其中|cor|和|inc|分别是分类正确与错误的节点的数量,z
i,m
和z
i,s
分别是最大和次大的预测概率。对式9的直观理解是,我们可以通过减小z
i
的最大和次大的预测概率之差来降低错误预测的置信度。组合和我们有了如下的整体目标函数:
[0078][0079]
其中λ控制着正则化项的权重。我们可以借助有标签数据通过反向传播算法优化cagcn并学到校正之后的置信度。cagcn的整体框图如图4所示。
[0080]
在这里,我们提出了置信度校正在提高gcn自训练性能的实际应用。自训练就是为没有标签的数据预测伪标签,然后将其加入到训练集中以扩充训练集,从而提升自训练的性能。具体来说,我们首先获得gcn的预测和置信度接着将最自信的节点加入到训练集中,然后继续训练直到模型收敛。然而,现有的自训练方法在数据集拥有较高标签率的情况下表现不佳。考虑到gcn的低置信度的问题,我们认为现有自训练方法表现不佳的原因是大量高精度的预测分布在低置信区间中,导致他们无法被加入到训练集中。
[0081]
因此,我们设计了一个新的自训练模型cagcn

st,该模型其中首先对置信度进行校正,然后根据校正之后的置信度选择没有标签的样本生成伪标签。具体来说,对于一个给定的未标记的数据集du和一个标记的数据集dl,其中du被分为三个部分d
train
、d
val
和d
test
,我们首先使用d
train
训练一个分类gcn以获得每个节点的输出,然后将所有的输出输送到cagcn进行训练从而得到图中所有节点校正后的置信度。应该注意的是,我们仍然使用d
train
而不是d
val
来训练我们的cagcn。之后,我们将根据阈值th选择du中最有把握的预测作为伪标签并将其添加到标签集中,d
train
从而被扩大了。上面的过程将重复s阶段直到收敛。请注意,我们的分类gcn和cagcn在每个阶段都会被重新初始化。
[0082]
我们分别评估cagcn在置信度校正上的性能以及cagcn

st对于改善自训练方法的性能。我们选择常用的cora,citeseer,pubmed和corafull数据集进行评估。
[0083]
由于我们的cagcn是gnn的通用校正模型,因此这里我们选择了gcn和gat这两个经典gnn模型作为我们的分类模型。为了进行比较,我们选择经典的后处理校正方法温度缩放(ts)方法和使用非对角正则化的矩阵缩放(ms)方法作为我们的基线方法。
[0084]
对于基本模型gcn和gat,即未经过校正的模型,我们采用现有的参数,并对其进行进一步调整以使其获得最佳性。对于后处理校正基线方法,我们同样遵循官方实现。对于我们的cagcn模型,我们训练了一个隐藏层维度为16的两层gcn模型。对于所有的数据集,我们均将lamda参数设定为lambda=0.5,cora、citeseer、pubmed数据集的权重衰减参数为5e

3,corafull的为0.03。cagcn的其他参数与gcn模型保持一致。我们采用ece、nll和brier(bs)等评测指标评估置信度校正的性能,其值越小越好,其中设置参数bin值m=20。对于所有方法,我们随机进行10次实验并报告平均结果。
[0085]
ece评估的校正结果见表2,通过结果可知:
[0086]
(1)与未校正的模型和其他基线相比,cagcn总体上实现了最佳性能。
[0087]
(2)未校正模型的ece值通常最高,这意味着gcn和gat无法给出一个良好校正的置信度。
[0088]
(3)ms在具有许多类的数据集上表现不佳,如corafull。这是因为ms的参数数量与类数量成二次方比例,而验证集的大小保持不变。因此,当数据集有大量类时,它会过度拟合小验证集。但是,cagcn中没有这个问题。
[0089]
表2在不同模型和不同标签率的引文网络下的ece值。
[0090][0091]
uncal.代表未校正的模型,(

)表明该方法不能收敛到一个有意义的解,颜色加深的值代表最优结果。
[0092]
由于自训练方法可以应用于任何模型,这里我们选择gcn和gat作为我们的基础模型,即没有采用自训练的原始模型(orig.)。我们选择自训练方法中常采用的self

training(st.),co

training(ct.),union,intersection(inter.)方法作为我们的基线方法。此外,我们额外使用ts作为cagcn

st中的置信度校正函数,以此作为另一个基线方法,并用ts

st进行表示。
[0093]
我们为cagcn

st设置学习率lr=0.001,在cora、citeseer、pubmed、cora full上分别对cagcn

st进行200、150、100、500轮训练。我们设置阈值th的取值范围为{0.8,0.85,0.9,0.95,0.99}中某一个值,最大重复训练阶段数s=10。对于基线方法,所有参数均遵循其论文中提供的参数,并且我们对其进行进一步调整以使其获得最佳性能。对于所有方法,我们均随机进行十次实验并报告平均结果。
[0094]
gcn及其自训练变体的节点分类准确率见表3。通过表3可知:
[0095]
(1)cagcn

st在所有数据集和标签率上始终优于所有基线方法。
[0096]
(2)与基础模型相比,自训练方法普遍取得了更好的效果,证明了其有效性。
[0097]
(3)具有置信度校正的自训练方法(即ts

st和cagcn

st)普遍具有更好的性能,这意味着置信度校正将更正确的预测扩展到了高置信度范围,同时保持错误预测基本不变,我们认为这是有利于自我训练。
[0098]
表3 gcn和其自训练变体的节点分类精度(%)与标准差
[0099][0100]
cagcn

st基于校正后的置信度生成伪标签。在这里,我们研究了cagcn

st中置信度校正函数cagcn的有效性。我们提出了cagcn

st的变体gcn

st,即从cagcn

st中移除cagcn而保持其他部分不变。gcn

st的所有实验设置都与cagcn

st相同。我们在表4中展示了实验结果,可以观察到cagcn

st在所有数据集上始终优于gcn

st,这意味着具有校正置信度的自我训练可以生成更正确的伪标签。
[0101]
当前推进gnn的努力主要集中在分类准确性上。但是,在将gnn部署到实际应用中,尤其是安全关键领域时,gnn的结果是否值得信赖是另一个不可忽视的重要因素。在发明中,我们研究了gnn中的置信度校准问题,并发现现有的gnn对其预测的信心不足。为了解决这个问题,我们提出了一种新的可信赖gnn模型cagcn,它利用gnn中置信度的同质性对置信度进行校正,该校正函数是一种非线性变换,但同样保存了原始gnn的分类精度。此外,我们提出了一种新的自训练方法cagcn

st,其中置信度首先由cagcn校准,然后用于生成伪标签。大量实验证明了我们提出的模型在校准和准确性方面的有效性。
[0102]
以上实施例仅用以说明本发明的技术方案,而非对其限制;尽管参照前述实施例对本发明进行了详细的说明,本领域的普通技术人员应当理解:其依然可以对前述各实施例所记载的技术方案进行修改,或者对其中部分技术特征进行等同替换,但这些修改或者替换,并不使相应技术方案的本质脱离本发明各实施例技术方案的精神和范围。
再多了解一些

本文用于企业家、创业者技术爱好者查询,结果仅供参考。

发表评论 共有条评论
用户名: 密码:
验证码: 匿名发表

相关文献