点击上方“ CVer ”,选择加" 星标 "置顶
重磅干货,第一时间送达
论文推荐:在图神经网络里面,应该如何选择更好的归一化技术?本文将介绍一种为图神经网络学习有效的图归一化的方式。
摘要
作者在不同任务中尝试了节点式归一化(Node-wise),邻接式归一化(Adjance-wise),图式归一化(Graph-wise)和批处理归一化(Batch-wise)作为归一化计算方式,来分析每种归一化方式的优劣,并提出一种基于学习的四合一自动加权组合的方式来学习适合当前任务的图归一化。
Paper:
Learning Graph Normalization for Graph Neural Networks
https://arxiv.org/abs/2009.11746
Source Code:
https://github.com/cyh1112/GraphNormalization
背景
图神经网络(GNN)近年来吸引了大量的关注,因为图神经网络成为了处理图结构数据最有希望的一种范例。图神经网络通过堆叠多层,每一层通过节点间的信息传递与聚合来更新每个节点的表示,多层信息传递,可以捕捉远程节点之间的依赖关系,而带来更好的性能。要训练一个多层的GNN,归一化技术是必不可少的。但不同的归一化技术对不同任务有不一样的表现,最近arXiv上公开的一篇文章《Learning Graph Normalization for Graph Neural Networks》探讨了在图神经网络里面,应该如何选择更好的归一化技术。
核心思想介绍
首先我们来看在论文中提到的四种归一化技术,(a)节点式(node-wise)归一化,其实类似于NLP里面的层归一化(LayerNorm), 每个节点单独来计算归一化;(b)邻接式归一化(Adjance-wise)是将该节点的邻接节点信息加进来一起计算归一化,在查阅源代码之后,这一点实现作者用了一个比较巧妙的实现方式,利用dgl的消息传递机制,邻接节点特征聚合到中心节点之后再计算归一化,等于是做了两次的信息传递。(c)图式(Graph-wise)归一化, 就是利用整个图所有节点的特征来计算归一化,归一化只考虑图内信息,而不是考虑整个数据库的分布。(d)批处理式(Batch-wise)归一化,在CV领域最常用的归一化方式。(e)(f)(g)(h)是同样的计算,在图的边上的体现。
节点式归一化Node-wise Normalization计算如下:,
本质上Node-wise Normalization和LayerNorm的计算方式是一样的, 只是LayerNorm经常用在NLP任务中,NLP任务中数据大多是Sequence化的,如Transformer, Bert。而图中的数据不一定是序列化,大多数情况下不是序列化的,因此Node-wise Normalization对哪类图问题会比较好是疑问。
邻接式的归一化计算Adjance-wsie Normalization如下:
其中k表示第k个图, i表示第i个节点, 表示第k个图中第i个节点的所有近邻节点。
邻接式的Normalization的计算量要大一点。
图式的归一化计算 Graph-wise Normalization如下:
其中
表示第k个图中的所有节点,
表示第k个图中所有节点的数量。
批处理式的归一化计算 Batch-wise Normalization如下:
Batch-wise Normalization和BN本质上也是等价的。BN是CV中至关重要的一个技术,有效的改善了梯度爆炸的问题。
除了以上四种归一化技术之后,作者还提出一种自动学习加权组合的归一化技术(United Graph Normalization), 将以上四种归一化技术,加上可学习权重lambda,在lambda可视化中也可以看到,这个lambda权重学习有一定倾向性,作用越大的归一化方式,对应lambda权重越大,公式如下:
在节点分类上,图式的归一化效果好,它在最后一层的权重就大,在图分类和图回归上面批处理式的效果好,它在最后一层权重就大。在边预测问题上面规律没有图分类回归明显。
4种归一化方法分析
节点式归一化: 等同于层归一化(LayerNorm),只考虑自身特征,但忽略了邻域和图结构等信息。
邻接式归一化: 计算引入邻接节点的信息,能反映节点在不同邻域的差异。
图式归一化: 在单图做归一化,能体现图内节点在图中的差异,在节点分类任务中表现更加优异。
批处理归一化: 与标准的批处理归一化一样,但当在单图任务上时,与图式归一化相似。只是在训练的时候一个用momentum,一个不用。
实验
论文除了follow [1]中的实验之外,还做了一个关键信息抽取SROIE的任务,这个任务有四个关键字段,’公司名’、’地址’、’时间’、’合计金额’,如下图所示。论文把关键信息抽取看出是一个节点分类任务,其中’公司名’和’地址’可能包含多行,也就是多个节点,只有当所关键字段包含的所有节点都同时分类正确才算对,否则就算错误。
结论
在实验结果和lambda的可视化分析中,我们可以发现,图式归一化和邻接式的归一化在节点分类上性能突出,这也说明节点分类更依赖节点所在邻域信息,或者节点所在图中位置的信息。而批处理归一化在在图分类和图回归任务中表现很好。而组合式的归一化( United Graph Normalization)可以调节不同归一化结果的比重,来达到更好的性能,同时也有一个体现,lambda权重越大,对应单一归一化结果也更好。我们也可以通过lambda的分布来判断哪种归一化更适合。
作者团队
产险视觉计算组(VC组)专注解决金融保险领域的计算机视觉应用问题,在ICDAR 2019票据识别及关键信息3个任务中,团队分别斩获第二,第三,第一名。同时,在Kaggle举办的百度/北大无人驾驶比赛中,获得亚军。团队积极创新,已有多项自研OCR 、关键性信息抽取技术。
下载1:动手学深度学习
在CVer公众号后台回复 : 动手学深度学习 ,即可下载 547页《动手学深度学习》电子书和源码 。该书是 面向中文读者的能运行、可讨论的深度学习教科书,它将文字、公式、图像、代码和运行结果结合在一起。本书将全面介绍深度学习从模型构造到模型训练,以及它们在计算机视觉和自然语言处理中的应用。
下载2:CVPR / ECCV 2020开源代码
在CVer公众号后台回复: CVPR2020, 即可下载CVPR 2020代码开源的论文合集
在CVer公众号后台回复: ECCV2020, 即可下载ECCV 2020代码开源的论文合集
重磅!CVer- 论文写作与投稿 交流 群成立
扫码添加CVer助手,可申请加入CVer- 论文写作与投稿 微信交流 群,目前已满2300+人,旨在交流顶会(CVPR/ICCV/ECCV/NIPS/ICML/ICLR/AAAI等)、顶刊(IJCV/TPAMI/TIP等)、SCI、EI、中文核心等写作与投稿事宜。
同时也可申请加入CVer大群和细分方向技术群,细分方向已涵盖: 目标检测、图像分割、目标跟踪、人脸检测&识别、OCR、姿态估计、超分辨率、SLAM、医疗影像、Re-ID、GAN、NAS、深度估计、自动驾驶、强化学习、车道线检测、模型剪枝&压缩、去噪、去雾、去雨、风格迁移、遥感图像、行为识别、视频理解、图像融合、图像检索、论文投稿&交流、PyTorch和TensorFlow 等群。
一定要备注: 研究方向+地点+学校/公司+昵称 (如 论文写作 +上海+上交+卡卡) ,根据格式备注,可更快被通过且邀请进群
▲长按加微信群
▲长按关注CVer公众号
整理不易,请给CVer点赞和在看!