gcn在图像上的应用_GCN的概念与应用

本文将从三个角度来理解GCN的概念,并介绍GCN在NLP中的相关应用。文中所有图片都来自引用文档,侵删。有道云笔记的格式更加,查看可以点击这里。

本文结构如下:GCN的理解构造法

均值法

谱图法

GCN在NLP中的相关应用文本分类

角色标注

翻译

关系抽取

事件抽取

知识图谱

总结

参考文献

GCN的理解

构造法【1】

GCN层的输入通常是图的结构与每个节点的特征,输出则是节点层面的结果或者图层面的结果(有时候为节点层的池化)。通常我们会使用邻接矩阵

表示图的结构,特征

表示各个节点的特征值,

表示模型的输出。每一个神经网络层都可以写作:

其中

根据输入与输出格式,可以构造一个简单的形式:

这个形式简单且有效,但其有两个限制。一是每个节点只考虑其邻居节点(未考虑自身),二是矩阵A是未标准化的,连乘会改变特征的尺度。所以可以进行以下优化:

这样我们就得到了【2】中GCN模型的形式。其中

,D是

的度矩阵。但是,这种角度总有一种偷看答案的感觉。

小实验【略】

关于GCN限制的分析,可以参考【3】

均值法【4】

如果将卷积理解为根据周围的点计算均值,那么图卷积可以理解为根据邻居节点计算均值。 那么可以得到一个简单的形式:

计算均值时考虑自身的特征,则可以表示为:

图中每个节点的邻居节点的个数并不一致,为了减少节点数目的影响(上面只是求和并不是求平均),我们对其进行归一化:

或者:

这样,我们同样得到了【2】中的形式,其中

谱图法【5】

根据卷积定理,我们可知,f与g的卷积等于f与g的傅里叶变换乘积再逆变换。

类似的,我们将图结构数据进行傅里叶变换,乘积之后再逆变换回来得到图卷积。因为难以对图数据进行傅里叶变化,所以我们将某种线性变换作为图傅里叶变换的替换。那么图卷积可以表示为:

下面我们对图卷积公式进行数学推导及近似,其中将涉及卷积定义、卷积定理、傅里叶变换、拉普拉斯算子、拉普拉斯矩阵、对角矩阵特征分解、切比雪夫多项式近似等概念。

卷积定义:

卷积定理(证明见【6】):

傅里叶变换:

傅里叶变换可以将时域数据转换到频域数据上,【7】是一个非常棒的关于傅里叶变换的科普文。本文接下来将基于线性空间来对傅里叶变换进行解释,具体参考【8】。

域:

由一个集合和四则运算构成,在集合内两元素进行四则运算(不含除0)结果还在集合里,常见有理数域,实数域,复数域。

线性空间:

若F是一个域,V是一个集合。如果V中元素可做加法(

),V和F可以做数乘(

),则V称为域F上的一个线性空间。V中的元素可以称为向量。

线性组合:

取V中一些向量

,和F中一些数

,然后计算

就叫做

的一个线性组合。如果仅当

都为0的时候,

才为0,此时称这些向量线性无关。

基与维数:

V中的一组向量的线性组合构成一个线性空间,如果这一组向量是线性无关的,且构成的线性空间恰好是V,则称这些向量为V的一组基,向量的个数叫做V的维数。

内积:

可以理解为将空间中两个元素映射为域中一个元素的一个二元函数。在闭区间的连续函数,可以定义内积为:

如果内积为0则称两向量正交。

傅里叶基:

如果有一个空间有一组两两正交的基,则称为一组正交基。现有这样一个线性空间,其由定义在

上的所有平方可积的函数构成,我们不加证明地给出:这个空间的每个向量都可以表示为一组基的无限线性组合,常取傅里叶基:

容易证明这些基是正交的,且不能找到另外一个向量与它们全正交。

傅里叶级数:

傅里叶级数就是将空间(

上的所有平方可积的函数)中的向量通过傅里叶基的线性组合方式写出来:

若将区间变为[-a,a],相当于将每个函数进行拉伸,则基变为:

傅里叶级数变为:

傅里叶变换:

当区间

时,求和可以变为积分表示,具体证明见【8】,公式则变为:

拉普拉斯算子:

拉普拉斯算子是n维欧几里德空间中的一个二阶微分算子,定义为梯度的散度:

拉普拉斯算子在物理学等方面中有着重要意义,具体可以参考【9】。【10】中表明,傅里叶变换是一种特殊的变换,因为傅里叶基是常数系数微分算子的特征函数,也是拉普拉斯算子的特征函数。

拉普拉斯矩阵:

在图中,定义D是N*N的度数矩阵:

A是N*N的邻接矩阵:

拉普拉斯矩阵定义为:

拉普拉斯矩阵本质上就是图上的拉普拉斯算子,证明见【11】。由定义可知,拉普拉斯矩阵是实对称矩阵,因此有着良好的性质:可以进行特征分解,有n个特征向量及其对应的特征值,所有的特征值都大于等于0且最小的特征值为0(易证,此时特征向量可以为全1的向量)。其特征分解可写为:

图傅里叶变换【12】:

经典的傅里叶变换为:

将函数表示为傅里叶基的求积,其基为拉普拉斯算子的特征函数:

类似的,我们定义图傅里叶变换表示为:将线性空间的一个向量表示为一组基的线性组合,其基为拉普拉斯矩阵的特征向量。

也可以写为:

同样的我们定义图傅里叶变换的逆变换为:

图卷积:

根据卷积定理,我们可以将图卷积定义为:将两个矩阵做图傅里叶变换的乘积再做逆图傅里叶变换,即:

GCN层的演变:

【13】中将卷积核的图傅里叶变换直接参数化,并用对角矩阵来降低其复杂度,形式如下:

【13】成功地将图卷积应用到神经网络上,但也有着几个限制:1、它是非局部性连接,2、卷积核参数的个数是图的维度n,3、前向传播计算复杂度是

,4、如果一个样本一个图,那么每个样本都要进行图拉普拉斯矩阵的特征分解运算。 因此,【14】提出了多项式参数卷积核:

进而可以得到:

此时卷积核参数个数由n减少为k个,并且具有了局部链接性质,并且并不需要对拉普拉斯矩阵进行特征分解,没有了复杂的特征向量相乘操作,但拉普拉斯矩阵的幂运算依然是高复杂度的,所以在【14】中作者进行了进一步优化,使用切比雪夫多项式(详见【15】)来进行近似,具体公式如下:

因为切比雪夫多项式要求定义域在[-1,1]之间,所以将拉普拉斯归特征向量一化为:

即拉普拉斯矩阵归一化为:

这样就降低了前向传播高复杂度的问题。 而【16】在上面的基础上进行了进一步的简化,如果将上面的K设置为1,那么我们就得到了一个线性的图卷积模型,此时我们可以通过叠加多层GCN层来达到经典卷积层的功能。我们进一步假设

,因为我们可以通过训练过程中变化参数的值来适应。那么此时图卷积公式可以近似为:

两个参数是无约束的,设置其进行参数共享,所以我们令:

然后可以得到:

为了防止学习过程中的梯度爆炸(

),我们进行重归一化,令:

这样整个卷积结果变为:

GCN在NLP领域的相关应用

文本分类

SEMI-SUPERVISED CLASSIFICATION WITH GRAPH CONVOLUTIONAL NETWORKS【2】

这篇文章主要是对图中的节点做分类,也就是整个数据集构成一个图,每一个样本是一个节点,利用有标签的节点训练整个网络,最终预测没有标签的节点,自然的形成了一种半监督式的训练。论文中一个实验数据是引证文档,每篇文档作为一个节点,文档间的引用作为边,这样所有的文档构成一个大图。文中表示,相比于目前的半监督学习方法,本文的方法取得了明显地提高。

Graph convolutional networks for text classification【16】

本文是基于GCN对文本进行分类,主要创新点是利用所有文档构成了一个图,然后根据【2】中的方法来进行文本分类。

文档图的构建过程如下:先选定一个长度为n的窗口,每篇文档可以划分为多个有部分重叠的窗口。文档中每一个词都是一个节点,每一篇文档也是一个节点,文档与文档之间没有边,如果某个词存在与某个文档中则他们之间有边,如果某两个词在同一个窗口中则他们之间有边。边上的权重值由上面公式给出。

论文实验表明,随着标签数据的减少,跟目前最优的分类方法比较,本文的方法显示出了更好的鲁棒性。

角色标注

Encoding Sentences with Graph Convolutional Networks for Semantic Role Labeling【17】

本文的GCN层是将【2】中的标准化给忽略了,也就是说

表示节点u到节点v的方向,分为三种方向,u是头节点v是尾节点是一个方向,u是尾节点v是头节点是一个方向,u跟v是一个节点是一个方向。因此,每层GCN的参数W被分为三个。除此之外还添加了门控因子

,来控制节点u流向节点v的信息量多少。文本实验表示,取得了当前最好的SRL效果。

翻译

Graph convolutional encoders for syntax-aware neural machine translation【18】

本文主要应用GCN修改了翻译模型的encode过程,应用了依存树作为图结构。

Exploiting semantics in neural machine translation with graph convolutional networks【19】

本文主要应用GCN修改了翻译模型的encode过程,应用了语义角色作为图结构。

关系抽取

Graph Convolution over Pruned Dependency Trees Improves Relation Extraction【20】

文本中的图卷积方式为:

,标准化方式跟【2】中有所不同。主要事利用GCN获取每个词的embedding,然后预测两个事件间的关系。论文实验表明,本文方法由很好的互补性,结合其他方法可以提高当前最优结果。

Attention Guided Graph Convolutional Networks for Relation Extraction【24】

原论文中,attention公式(2)有误,【】中的值是不需要的,也就是说,本文中使用了各个节点间计算attenetion的系数来替代邻接矩阵。论文模型中还添加了稠密连接层,如公式(3)(4)所示。最后预测与【20】有所不同,【20】使用了整个句子的embedding,而本文中使用的是剔除了实体之后的句子embedding。本文实验表明,文中提出的AGGCN模型是当前最优的关系抽取模型。

事件抽取

Graph convolutional networks with argument-aware pooling for event detection【21】

1、以词向量、位置向量、实体类型向量初始化encoding层

2、通过biLSTM层

3、基于依存树进行图卷积操作

4、基于实体引用进行池化操作

5、前馈神经网络进行最后预测

论文实现表明,本文取得了当前最优的事件检测结果。

Jointly Multiple Events Extraction via Attention-based Graph Information Aggregation【22】

本文中的GCN层跟【17】中的一样。文本中将事件抽取的两个任务(事件触发器与事件元素)进行联合训练,其loss由公式(2)表示。论文实验表明,本文的方法跟当前最优结果接近。

知识图谱

Cross-lingual Knowledge Graph Alignment via Graph Convolutional Networks【23】

本文主要处理多语言知识实体的对齐问题。

表示实体结构的信息,

表示实体属性的信息。邻接矩阵根据公式(2)重新计算权重。公式(3)是计算两个实体间的距离(用结构信息与属性信息经过GCN层之后的向量值来计算),用来判断两实体是否对齐。公式(4)(5)分别是结构信息与属性信息的loss,分别使用SGD来优化,S表示已知对齐的实体集合,

表示随机获取的不对齐实体集合,通过随机改变对齐实体中的一个得到。论文实现表示,所提模型获取当前最优的知识对齐结果。

总结:

GCN的应用的三个层次,节点层次、边层次、图层次【25】。边层次的处理一般会转化为节点层次的处理:将原有的边转为新的节点,然后在新节点与原来的两端节点间各建立一条新边,重而构成新的图。

促进GNN(GCN)发展的动机: 1. 图类型的数据结构应用广泛,包括社会科学(社交网络)、自然科学(物理/生物/化学)、知识图谱等其他研究领域。 2. CNN在几乎所有领域的成功应用,但其难以处理非欧数据。 3. 对图节点、边以及子图的嵌入学习。 4. 标准神经网络的输入都要求有序的,而图数据是无序的,GNN可以处理这些数据。 5. 图中的边表示了两个节点间的依存关系,标准神经网络仅仅把它作为节点的一个特征处理,GNN可以根据图结构传播信息而不是把它作为特征的一部分。 6. 最新的研究表明,人类的高级智能以及推理过程是基于图结构的。

GCN还有很多关于图像、科学领域的应用,更多关于GCN或则GNN的内容,可以参考【26】。

参考文献:

Original: https://blog.csdn.net/weixin_39568659/article/details/111763281
Author: weixin_39568659
Title: gcn在图像上的应用_GCN的概念与应用

原创文章受到原创版权保护。转载请注明出处:https://www.johngo689.com/568942/

转载文章受原作者版权保护。转载请注明原作者出处!

(0)

大家都在看

亲爱的 Coder【最近整理,可免费获取】👉 最新必读书单  | 👏 面试题下载  | 🌎 免费的AI知识星球