《Large-Scale Learnable Graph Convolutional Networks》
《Large-Scale Learnable Graph Convolutional Networks》
- 1、模型算法
-
- Learnable Graph Convolutional Layers
- k-largest Node Selection
- 1-D卷积神经网络
- Learnable Graph Convolutional Networks
- Sub-Graph Training on Large-Scale Data
1、模型算法

Learnable Graph Convolutional Layers

k-largest Node Selection

1-D卷积神经网络
第一次看到这个构建过程,觉得既简单又巧妙,该例子不仅蕴含着最大化降采样原理,还有1d卷积核的应用,这里k取4,k是一个超参数,k的选取很重要,一般k 的选择,考虑节点的平均度数以及分类任务的复杂性。在三个特征维度上选择每一维选最大的四个值进行组合,所以这里的节点并不是真是邻居节点特征,是经过加工之后的,有max-pooling的感觉,不仅解决了数目标准化为4们还按照大小顺序排好序。通过对其他两个特征重复相同的过程,最后包括橙色节点本身,可以得到(k+1)三分量的特征向量,将它们连接起来,得到一个具有(k+1)positions(看图中行数)和3个通道的网格状结构的一维数据(每种特征是一列,一个通道)。然后,应用一维CNN生成最终特征向量。具体来说,使用两个卷积核大小为(k/2+1)且没有填充的卷积层。输出通道数分别为4和5个。在实践中,一维CNN可以是任何CNN模型,只要最终输出是一个向量,作为中心节点的新特征表示。节点特征向量是三维,视为三个通道channel,由于只有一个橘色节点,因此batch_size为1,卷积核kennel对应的也是三通道,filter个数是4,即

举例:1维CNN | Conv1D
在介绍Conv1D之前,让我给你一个提示。在Conv1D中,核沿一维滑动。现在让我们考虑哪种类型的数据只需要核在一个维度上滑动并具有空间特性?
答案就是时间序列数据。让我们看一下以下数据。

该数据是从人戴在手臂上的加速度计中收集的。数据表示所有三个轴的加速度。1维CNN可以根据加速度计数据执行活动识别任务,例如人是站着,行走,跳跃等。此数据有2个维度。第一维是时间步长,另外一个是3个轴上的加速度值。
下图说明了核如何在加速度计数据上移动。每行代表某个轴的时间序列加速度。核只能沿时间轴一维移动。

Learnable Graph Convolutional Networks



Sub-Graph Training on Large-Scale Data
**主要的思想是:**将一个大型的图通过采样的方式确定初始的中心节点以及中心节点的邻域节点,由这些节点可以组成原图数据的子图(单个样本),通过多次采样得到多个样本实现小批量训练。





github 链接:https://github.com/divelab/lgcn/
代码分析:https://www.jianshu.com/p/a099dfd46c61
