万字长文带你入门 GCN


万字长文带你入门 GCN
本文插图

万字长文带你入门 GCN
本文插图
来源 | 阿泽的学习笔记(ID: aze_learning)
万字长文带你入门 GCN
本文插图
Convolutional Neural Network
CNN 在图像识别等任务中具有重要作用 , 主要是因为 CNN 利用了图片在其域中的平移不变性 。 由于图结构不存在平移不变性 , 所以 CNN 无法直接在图上进行卷积 。
1.1 Translational Invariance
刚刚提到 CNN 之所以可以应用到图像而无法应用到图网络中主要是因为图像具有「平移不变形(translational invariance)」 , 而图网络不具备这一属性 。 那么问题来了 , 什么是平移不变形呢?
我们知道对于 CNN 来说 , 其核心在于使用了基于卷积核的卷积操作来提取图像的特征 , 这里的卷积操作类似于对「计算区域内的中心节点和相邻节点进行加权求和」:

万字长文带你入门 GCN
本文插图
CNN 之所以能成为图像领域的明珠却很少应用于其他领域原因是:「图片是一个规整的二维矩阵」 , 无论卷积核平移到图片中的哪个位置都可以保证其运算结果的一致性 , 这就是我们所说的「平移不变性」 。 CNN 的卷积本质就是利用这种平移不变性来对扫描的区域进行卷积操作 , 从而实现了图像特征的提取 。
万字长文带你入门 GCN
本文插图
而网络是不规整的关系型数据 , 所以其不存在平移不变形(每个节点的周围邻居数不固定) , 这就使得传统的 CNN 方法无法直接应用于网络中 。
万字长文带你入门 GCN
本文插图
1.2 Convolution Kernels
既然是因为卷积核的原因 , 那么可不可以不使用卷积核?
答案肯定是不可以 , 因为卷积神经网络的一大核心就是利用卷积核实现「参数共享(Parameter Sharing)」 。 下图为有卷积核的卷积操作:
万字长文带你入门 GCN
本文插图
此时的参数大小只与卷积核大小有关 , 而如果不进行参数共享的话 , 参数的大小则与图像的像素矩阵保持一致:
万字长文带你入门 GCN
本文插图
除此之外 , 卷积神经网络还有另一大核心:「局部连接性(Locally Connection)」 。 局部连接是指卷积计算每次只在与卷积核大小对应的区域进行 , 也就是说输入和输出是局部连接的 。 如果不进行局部连接的话 , 相当于将图片的矩阵展开成向量进行输入 , 类似于全连接神经网络 , 此时的参数量会变得非常巨大:
万字长文带你入门 GCN
本文插图
也就是说 , 通过参数共享和局部连接性我们可以将参数从 降低到。 其中 , W H 和 K 分别为图像的宽、高和通道 , N 为隐藏层节点个数 , m 为卷积核宽 , k 为卷积核个数 。
PS:CNN 有三大特点 , 除了上面说的局部连接和参数共享之外 , 还有「层次化表达(Hierarchical Expression)」 。 CNN 的层次化表达可以通过卷积层叠加得到 , 每一个卷积层都是在前一层的基础上进行的 , 这样的意义在于 , 网络越往后 , 其提取到的特征越高级 。 比如说:第一层可能是一些线条 , 第二层可能会是一些纹理 , 第三层可能是一些抽象图案:


推荐阅读