第一代图卷积网络:图的频域网络与深度局部连接网络

简介: 第一代图卷积网络:图的频域网络与深度局部连接网络

论文标题:Spectral Networks and Locally Connected Networks on Graphs


论文链接:https://arxiv.org/abs/1312.6203


论文来源:NeurIPS 2014


本文需要的前置知识:傅里叶变换与谱图理论基础


链接:


傅里叶级数与傅里叶变换


图神经网络中的谱图理论基础


一、概述


CNN在机器学习领域内的一些问题上取得了比较成功的效果,这主要得益于它处理的底层数据通常有一个坐标网格结构(在1,2,3维度上),因此这些数据就存在平移不变性( translational equivariance/invariance)。图像、语音、视频就属于这一类数据。由于网络不具备平移不变性(网络中的每个节点的邻居数量是不固定的),因此在网络上直接应用CNN是比较困难的。


对于常规的网格数据,CNN能够利用以下几个很好地结合在一起的结构来大大减少系统中的参数数量:


①平移结构(translation structure),使用滤波器在数据的网格结构上平移处理数据,从而实现参数共享,并没有使用线性映射;


②网格上的度量,使用紧凑支持滤波器(compactly supported filters),紧凑支持滤波器是指与输入数据大小无关的滤波器,它的大小可能远小于输入数据的大小;


③网格的多尺度二元聚类(multiscale dyadic clustering),是指CNN应用了跨步卷积(stride convolution)和池化(pooling)来进行下采样(subsampling)。


N%HB5AOGB]C`6I2RPJQ`SH8.png


然而某些数据并不具备上述几何结构,比如表面张力或温度、从一个气象台网络中观测到的数据、来自社交网络或协同过滤的数据,这些数据都不能直接应用CNN。虽然CNN可以应用于多层,但是在特征维度上没有假设任何几何属性,导致一个4-D tensor只能沿其空间坐标进行卷积,即对于一个4-D的tensor而言,其有IY7E7852S8L0ESBP0Y6A%C0.png四个维度,典型的CNN只能对]S)}$RDK2{0RM]ZPJ@O8OM2.png三个维度(即空间维度)进行卷积操作(通过3D convolution 操作),而不能对[`SH0T$R_A2PBOQX{T4RJH2.png维度(特征维度)进行操作。


网络提供了低维网格数据的一种泛化的框架,也就是GCN是CNN在domain上的推广,推广的方式是通过推广卷积的概念。在本文中将会讨论将深度卷积应用于网络数据的方法。本文一共提供两种架构。第一种为空域架构(spatial construction),这种架构能够对网络数据应用上述②和③,应用它们可以构建网络数据的局部连接网络,参数复杂度为PWDP22[%PZ4VNU0)CFZ7T)2.png而非BAJ@GQ7@QSK_XK7{ZZL5JQG.png。另一种架构称为频域架构(spectral construction),能够在傅里叶域内应用卷积。频域架构对于每一个feature map最多需要PWDP22[%PZ4VNU0)CFZ7T)2.png的参数复杂度,也可以构建参数数量与XU]R1OZUHRG%2E48$XAYENB.png无关的架构。这两种架构都可以应用高效的前向传播并且能够应用在有多个坐标的数据的数据集上。



二、空域架构


YD8XM04DAUZS2G8335G6I77.png


  1. 图的多尺度聚类


CNN通过池化和下采样来降低网格的大小,这一操作也就是网格的多尺度聚类( multiscale clustering):为每个cluster输入多个特征,输出一个特征。在图上被证明更为有效的聚类方法仍然有待研究,在本文中选择了一种比较朴素的聚类方法。如下图所示,下图中有两层聚类,灰色的点为数据中的无向图节点,然后进行聚类得到下一层带颜色的节点,然后再对这些带颜色的节点进行聚类,第一层为12个节点,第二层6个节点,第三层3个节点:


MF}YI1D4$8NJV7%YDENN3XL.png

                                                  图上的聚类


  1. 深度局部连接网络


LPG8L)2EAEA9KBMQ`7@UMBP.png

$BMR0F0$)_]_ZJDK5~%Q(SR.png

                                               空域架构


[~NB[$_T56~RTFZODAEEQ~L.png


  1. 评价


这种架构的优点在于不需要很强的前提假设,只需要图具备邻域结构即可,甚至不需要很好的embedding向量。但是缺点在于没办法进行参数共享,对于每一层的每一个节点都要有单独的参数进行卷积而不能像CNN那样使用同一个卷积核在数据网格上进行平移。


三、频域架构


  1. 图的拉普拉斯矩阵


]L~]`SA2EYXUI773W@@H`HJ.png

③Random walk normalized Laplacian,也就是随机游走归一化拉普拉斯矩阵:


YDO6VIAG@IA9)_XVRYX29G2.png


  1. 加权图的调和分析


QC840~TU3`W6P9HJ3)DVL0A.png

X53RU(~]I%ATZV2XL_)_}`R.png


上面提到的一组特征向量其实就是PWA(8@LF$)2GL${9N2LOBIR.png空间的一组基,前面的文章里说过图傅里叶变换其实就是将信号向量投影到拉普拉斯矩阵的各个特征向量上:


TTF)3`L68W{(0U8ZOTMLF51.png

特征值的大小表示平滑程度,它对应传统傅里叶变换中的频率,频率高表示短时间内变动多,和这里的相邻节点变动大(变动越大越不平滑)能对应起来。因此图傅里叶变换就是在将一个图信号分解到不同平滑程度的图信号上,就像传统傅里叶变换将函数分解到不同频率的函数上一样。


3W]D`{6~W00W26NCC_JUF]D.png

YJ(8CB602~{5JO5F04SV[86.png


  1. 图卷积


两个函EP`KH_C3%]O5BTF3$37`4KG.png数和B3SE{C{EJM{4JNFL(_IJD@I.png进行卷积可以应用卷积定理,用公式表达卷积定理就是:

]))V~GA6`LD[I]}Q(T_LY2W.png


应用卷积定理可以在频域上进行图的卷积操作,具体的方法是将滤波器IOTSPST}FOTOS}WW5~(MKJI.png和图信号GA4VI16DWBRNKT$@7XX)HLE.png都通过图傅里叶变换转换到频域然后计算转换后的结果的乘积(哈达玛积,也就是向量对应元素相乘),然后将相乘的结果再通过图傅里叶逆变换转换回空域,整个过程如下:


OL`N_~U4(308G$(PAZ4HQ$O.png

FYTYVUQ0S9S2TCKB7%%[QNW.png


  1. 频域架构


VJP7BV$EOTPG({`[X8]HD]L.png


四、实验


本文中提出的两种架构在两个数据集上进行了实验验证效果。具体实验设置参看原论文,这里不做赘述。


  1. 采样MNIST数据集


这个数据集是从MNIST数据集的每张图片()上采样个样本点构建图。实验样本如下图:


%Y@054%FFQP74QB7~9P5T45.png

                                                  样本


实验结果如下图所示:


@_D3SB@7]WK0N~~2N67IDV5.png

                                                    结果


  1. 球体上的MNIST数据集


这个数据集将MNIST数据集中的样本提升到3维空间中。实验样本如下图:


){2($VGHV~VIADNM%HD%GBV.png

                                                          样本


实验结果如下图所示:


S]]ZJLQ0@~OL~GQ`X4~G9JR.png

                                              结果1


81WW48$X2QQY7WE}1DMK__N.png

                                               结果2


参考资料


ref:图傅里叶变换


ref:paper reading:[第一代GCN] Spectral Networks and Deep Locally Connected Networks on Graphs

相关文章
|
22天前
|
机器学习/深度学习 算法 TensorFlow
动物识别系统Python+卷积神经网络算法+TensorFlow+人工智能+图像识别+计算机毕业设计项目
动物识别系统。本项目以Python作为主要编程语言,并基于TensorFlow搭建ResNet50卷积神经网络算法模型,通过收集4种常见的动物图像数据集(猫、狗、鸡、马)然后进行模型训练,得到一个识别精度较高的模型文件,然后保存为本地格式的H5格式文件。再基于Django开发Web网页端操作界面,实现用户上传一张动物图片,识别其名称。
53 1
动物识别系统Python+卷积神经网络算法+TensorFlow+人工智能+图像识别+计算机毕业设计项目
|
21天前
|
传感器 运维 物联网
蓝牙Mesh网络:连接未来的智能解决方案
蓝牙Mesh网络:连接未来的智能解决方案
126 12
|
16天前
|
机器学习/深度学习 人工智能 自然语言处理
深度学习中的卷积神经网络(CNN)及其应用
【9月更文挑战第24天】本文将深入探讨深度学习中的一种重要模型——卷积神经网络(CNN)。我们将通过简单的代码示例,了解CNN的工作原理和应用场景。无论你是初学者还是有经验的开发者,这篇文章都将为你提供有价值的信息。
45 1
|
21天前
|
机器学习/深度学习 人工智能 自动驾驶
深度学习中的卷积神经网络(CNN)及其在图像识别中的应用
【9月更文挑战第19天】在人工智能的浩瀚星海中,卷积神经网络(CNN)如同一颗璀璨的星辰,照亮了图像处理的天空。本文将深入CNN的核心,揭示其在图像识别领域的强大力量。通过浅显易懂的语言和直观的比喻,我们将一同探索CNN的奥秘,并见证它如何在现实世界中大放异彩。
|
21天前
|
机器学习/深度学习 人工智能 算法
植物病害识别系统Python+卷积神经网络算法+图像识别+人工智能项目+深度学习项目+计算机课设项目+Django网页界面
植物病害识别系统。本系统使用Python作为主要编程语言,通过收集水稻常见的四种叶片病害图片('细菌性叶枯病', '稻瘟病', '褐斑病', '稻瘟条纹病毒病')作为后面模型训练用到的数据集。然后使用TensorFlow搭建卷积神经网络算法模型,并进行多轮迭代训练,最后得到一个识别精度较高的算法模型,然后将其保存为h5格式的本地模型文件。再使用Django搭建Web网页平台操作界面,实现用户上传一张测试图片识别其名称。
72 21
植物病害识别系统Python+卷积神经网络算法+图像识别+人工智能项目+深度学习项目+计算机课设项目+Django网页界面
|
21天前
|
机器学习/深度学习 人工智能 算法
鸟类识别系统Python+卷积神经网络算法+深度学习+人工智能+TensorFlow+ResNet50算法模型+图像识别
鸟类识别系统。本系统采用Python作为主要开发语言,通过使用加利福利亚大学开源的200种鸟类图像作为数据集。使用TensorFlow搭建ResNet50卷积神经网络算法模型,然后进行模型的迭代训练,得到一个识别精度较高的模型,然后在保存为本地的H5格式文件。在使用Django开发Web网页端操作界面,实现用户上传一张鸟类图像,识别其名称。
71 12
鸟类识别系统Python+卷积神经网络算法+深度学习+人工智能+TensorFlow+ResNet50算法模型+图像识别
|
2天前
|
机器学习/深度学习 算法 数据安全/隐私保护
基于GA遗传优化的GroupCNN分组卷积网络时间序列预测算法matlab仿真
该算法结合了遗传算法(GA)与分组卷积神经网络(GroupCNN),利用GA优化GroupCNN的网络结构和超参数,提升时间序列预测精度与效率。遗传算法通过模拟自然选择过程中的选择、交叉和变异操作寻找最优解;分组卷积则有效减少了计算成本和参数数量。本项目使用MATLAB2022A实现,并提供完整代码及视频教程。注意:展示图含水印,完整程序运行无水印。
|
20天前
|
机器学习/深度学习 算法 TensorFlow
交通标志识别系统Python+卷积神经网络算法+深度学习人工智能+TensorFlow模型训练+计算机课设项目+Django网页界面
交通标志识别系统。本系统使用Python作为主要编程语言,在交通标志图像识别功能实现中,基于TensorFlow搭建卷积神经网络算法模型,通过对收集到的58种常见的交通标志图像作为数据集,进行迭代训练最后得到一个识别精度较高的模型文件,然后保存为本地的h5格式文件。再使用Django开发Web网页端操作界面,实现用户上传一张交通标志图片,识别其名称。
46 6
交通标志识别系统Python+卷积神经网络算法+深度学习人工智能+TensorFlow模型训练+计算机课设项目+Django网页界面
|
16天前
|
机器学习/深度学习 人工智能 算法
【新闻文本分类识别系统】Python+卷积神经网络算法+人工智能+深度学习+计算机毕设项目+Django网页界面平台
文本分类识别系统。本系统使用Python作为主要开发语言,首先收集了10种中文文本数据集("体育类", "财经类", "房产类", "家居类", "教育类", "科技类", "时尚类", "时政类", "游戏类", "娱乐类"),然后基于TensorFlow搭建CNN卷积神经网络算法模型。通过对数据集进行多轮迭代训练,最后得到一个识别精度较高的模型,并保存为本地的h5格式。然后使用Django开发Web网页端操作界面,实现用户上传一段文本识别其所属的类别。
31 1
【新闻文本分类识别系统】Python+卷积神经网络算法+人工智能+深度学习+计算机毕设项目+Django网页界面平台
|
9天前
|
机器学习/深度学习 人工智能 算法
深入理解卷积神经网络:从理论到实践
【9月更文挑战第31天】在深度学习的众多模型之中,卷积神经网络(CNN)以其在图像处理领域的出色表现而闻名。本文将通过浅显易懂的语言和直观的比喻,带领读者了解CNN的核心原理和结构,并通过一个简化的代码示例,展示如何实现一个简单的CNN模型。我们将从CNN的基本组成出发,逐步深入到其在现实世界中的应用,最后探讨其未来的可能性。文章旨在为初学者提供一个清晰的CNN入门指南,同时为有经验的开发者提供一些深入思考的视角。