“什么是图卷积网络?
自2012年以来,深度学习在计算机视觉和自然语言处理等领域取得了巨大的成功,现已成为人工智能领域最普遍的方法。卷积神经网络适合处理欧几里得域(Euclidean domain)中的数据,例如图像中像素的位置关系是非常明确的,因此可以用固定大小的卷积模板(例如3x3的矩阵)逐行扫描来计算当前一层的输出结果。
卷积神经网络处理流程
图片来源http://xilinx.eetrend.com/d6-...
在图像领域中,像素间排列紧密,并且有明确的位置关系。然而在现实生活中,很多数据间没有类似像素这样的严格关联,比如社交网络中用户之间的关系、化学结构中分子间的关系。
唐朝诗人之间的关系
图片来源http://www.sohu.com/a/1311156...
这些数据无法通过像素矩阵直接描述,可以通过图谱(graph)的方式加以描述,例如,用户可抽象为顶点(V),用户之间用线€相连,图谱G=(E,V)就是以顶点和线为基本数据组的拓扑结构。对于图谱数据,每个顶点的相邻顶点数目是不确定的,直接用卷积神经网络处理图谱数据会造成很大问题,因此有学者提出图卷积网络(Graph Convolutional Network,GCN)来处理具有拓扑结构的数据。
为了实现图谱(graph)上的卷积计算,我们使用图谱的邻接矩阵(adjacency matrix)来表示节点间的关系,并且引入拉普拉斯算子来作为卷积的基向量。具体推导过程可以参考[1]。
图卷积网络是非常有效的图谱处理模型,通常2层由随机初始化得到的图卷积网络即能有效提取图谱顶点中的特征表示。图卷积网络的每一层都按拓扑结构对图谱进行处理:首先,每一个顶点将自身的特征信息经过变换后发送给邻居;其次,各顶点将相邻顶点传递的特征信息聚集;最后,对顶点信息进行非线性变换,与卷积神经网络中的激活层类似。图卷积网络的结构通常如下图所示。
图片来源:www.jianshu.com/p/89fbed65c…
“图卷积网络在文本分类上的算法
Yao等人在[2]中提出的算法可以简单高效地通过图卷积网络处理文本分类。首先是根据训练数据构建大型文本图谱,以词(word)和文档(document)作为顶点,建立词与词的边(word-word edges)以及文档与词的边(document-word edges)。然后根据前面定义的图谱,建立邻接矩阵A。
图片来源:参考论文[2]
A是nxn维方阵,n表示图中所有顶点数目,即文档与词总数之和。A中每个元素(i,j)表示顶点i与顶点j之间的权重,通常顶点之间越相关,元素的数值越大,若顶点之间没有关联,则该位置元素为0。为描述顶点间的关系,边的定义采用以下4个规则:
1.连接文档和词的边,用词在文档中的词频-逆向文本频率(TF-IDF)作为权重,该指标表示一个词在某个文本中的重要性;
2.连接词与词的边,用词与词的互信息(PMI)作为权重,该指标表示词之间的相关性,具体计算方式用固定长度的滑动窗对文档进行扫描,统计同时出现在滑动窗内词的频率,并归一化;
3.顶点与自身的关联,即矩阵A对角线上的元素,记为1;
4.其他情况,例如文档与文档之间的权重,记为0。
在定义好邻接矩阵之后,根据[1]中介绍的算法,可以很容易地推导出文本图谱的拉普拉斯矩阵A'。
用nxm维矩阵X表示输入的文本信息,其中n与前文相同,表示图谱顶点的个数,m表示特征维度,即输入是表示n个m维特征。然后经过图卷积网络计算输出值,第一层图卷积的定义如下
其中W0则是通过训练得到的模型参数。ρ是ReLU激活函数。图卷积相邻层的关系为
图卷积网络逐层对输入数据进行“精炼”,再通过分类器对文本分类,
其中Z就表示输出的类别信息,softmax是机器学习中最常用的多类分类器。
在训练时,用训练数据集学习模型中的参数W0,W1,……,Wj,然后测试时,输入需要分类的文本数据,通过图卷积网络,就可以输出文本的分类结果。
“图卷积网络的文本分类实验
为了测试图卷积网络(GCN)在文本分类中的效果,我们找了一些项目中的中英文FAQ的语料来做分类,并与fasttext的分类结果对比。其中,fasttext是目前一种非常成熟的快速文本分类算法,也是项目中FAQ常用的算法之一。
在没有预训练模型的情况下,GCN默认初始的词向量和句向量为0,训练完成后,模型会自动生成每个字和句子的向量。
可以看出,在实际项目数据中,Fasttext模型能达到最高的准确率,大部分情况下能达到0.9以上的准确率。经过压缩后的Fasttext模型性能相似,较原始模型的差在-0.012~+0.003之间波动,text GCN的性能下降0.03左右。值得注意的是,GCN在做长文本分类的时候,表现会略优于fasttext,在对句子的处理上暂时还未超过fasttext。这可能是由于GCN生成图谱时,使用的是单字,这样会损失一些词与词之间的信息。
引用出处
[1] zhuanlan.zhihu.com/p/54505069
[2] Yao L, Mao C, Luo Y. Graph convolutional networks for text classification[C]//Proceedings of the AAAI Conference on Artificial Intelligence. 2019, 33: 7370-7377.
**粗体** _斜体_ [链接](http://example.com) `代码` - 列表 > 引用
。你还可以使用@
来通知其他用户。