cda

数字化人才认证

您的位置:首页 > 大数据时代 > AdaGCN:将传统方法AdaBoost用于深度图神经网络,效果会如何(CDA干货内容分享)

AdaGCN:将传统方法AdaBoost用于深度图神经网络,效果会如何(CDA干货内容分享)

2022-01-14

作者:CHEONG AI

来源:机器学习与知识图谱

本文分享一篇ICLR 2021的文章AdaGCN:Adaboosting Graph Convolutional Networks into Deep Models,AdaGCN模型的核心思想是将传统机器学习中AdaBoost的思想引入到图神经网络中,另外,与之前深层图模型直接堆叠多个卷积层不同,AdaGCN在所有网络层之间共享相同的神经网络架构,然后进行递归优化,类似于RNN

AdaGCN:将传统方法AdaBoost用于深度图<a href='/map/shenjingwangluo/' style='color:#000;font-size:14px;'>神经网络</a>,效果会如何

Paper:https://arxiv.org/abs/1908.05081

Github:https://github.com/datake/AdaGCN

一、摘要

深度图模型仍是一个有待研究的问题,关键之处在于如何有效地汇聚来自多跳邻居节点的特征信息。在本文中,通过将AdaBoost融入到图网络中提出了一个类似于RNN的深度图模型AdaGCN,能够以Adaboost的方式高效的抽取多跳邻居特征信息,不同于之前的深度图模型直接堆叠多个卷积层,AdaGCN在所有网络层之间共享相同的神经网络架构。另外,从理论角度分析了AdaGCN和现有的GCN模型的关联,最后,通过大量的实验,证明了我们的方法在不同的标签率和计算优势下始终保持最先进的性能。

二、模型

首先,最简单的两个卷积层的GCN模型公式如下

其中输入是节点的Raw Features,输出是经过两个卷积层的最终表征。ReLU是一个非线性激活函数。但是,我们认为对于多层GCN网络不需要太多的非线性变化,原因在于节点特征是简单的一维向量而不是多维的。这个想法在SGC模型也已经提出过,直接将非线性变化ReLU函数去除的SGC模型的汇聚公式如下所示

在SGC模型中,将RuLU操作去除后确实在一定程度上缓解了深度图模型常出现的Over-Smoothing问题,并且计算效率也更快;但是,我们认为,对于这种多层堆叠的GCN网络来说,没有了ReLU操作的多层堆叠线性变换也会很大程度降低模型的表征能力,同时也通过实验证明了这个想法。

因此,在本文中,我们提出了一个新的非线性函数来替换没有激活函数的线性变换,公式如下所示

那么,如何使用AdaBoost?其实就是把深度模型的每一层输出的结果放到一个弱分类器中计算,并使用了SAMME(Stagewise Additive Modeling using a Multi-class Exponential Loss function)算法将多个弱分类器结合起来

AdaGCN:将传统方法AdaBoost用于深度图<a href='/map/shenjingwangluo/' style='color:#000;font-size:14px;'>神经网络</a>,效果会如何

如上图所示,我们直接使用基分类器f函数来抽取特征信息,当前层的加权错误概率以及基分类器的权重以如下方式计算

为了得到一个正的权重,需要保证

同时,在传播过程中向错误的节点增加权重以保证其的值减少,也就是对性能差的分类器给予较少的权重

然后,利用Adaboost方法将不同层的预测结果进行组合,得到最终的预测结果

我们也提供了AdaGCN的简化形势

三、实验

我们是在Cora,Citeseer,Pubmed,MS Academic和Reddit五个数据集上进行了实验,通过run 100次实验取平均来保证结果的置信度,取得了SOTA效果,

AdaGCN:将传统方法AdaBoost用于深度图<a href='/map/shenjingwangluo/' style='color:#000;font-size:14px;'>神经网络</a>,效果会如何

并且,如下图所示,随着模型深度增加,模型性能不会因为Over-Smoothing问题而下滑

AdaGCN:将传统方法AdaBoost用于深度图<a href='/map/shenjingwangluo/' style='color:#000;font-size:14px;'>神经网络</a>,效果会如何

完 谢谢观看

分享
收藏

OK