本文是对《Towards Open-World Feature Extrapolation-An Inductive Graph Learning Approach》一文的浅显翻译与理解,如有侵权即刻删除。
朋友们,我们在github创建了一个图学习笔记库,总结了相关文章的论文、代码和我个人的中文笔记,能够帮助大家更加便捷地找到对应论文,欢迎star~
Chinese-Reading-Notes-of-Graph-Learning
更多相关文章,请移步:文献阅读总结:网络表示学习/图学习
Title
《Towards Open-World Feature Extrapolation-An Inductive Graph Learning Approach》
——NIPS2021
Author: Qitian Wu
总结
文章指出在现实世界中,数据样本的特征不是一成不变的,而是会有新特征的增添或变动。在这种情况下,传统的模型需要将新加入的特征重新结合训练,从而耗费大量计算,文章将这种问题定义为开放世界特征获取的问题。为此,提出了FATE方法,模仿人类的思维模式,试图将新加入的特征绕过再训练加入到模型中,如下图所示。
具体而言,该方法围绕样本数量和特征数量构造二部图矩阵,矩阵中每个值表示该样本拥有该特征。而后,提出底层的标签预测网络和上层的图神经网络。用GNN模型在二部图上进行特征的提取,每次对邻域的聚合等同于结合样本特征。此外,还分别使用自监督和归纳式的方法进行模型训练,并对标签预测网络和GNN网络异步更新。
1 问题定义
文章将单个数据样本和单个特征都视为节点,按照特征对样本的分配关系,可以构造二部图矩阵X,矩阵中的每个1都表示该样本拥有该特征。注意到样本数量为N,特征数量为d,特征维度大小为Rm,则构造的矩阵X是N*d的大小。其中,矩阵X的每一行代表一个数据样本,其长度为d,是one-hot向量。
在此基础上,就可以将数据视为图结构,利用图神经网络的方法进行学习。具体而言,文章构建了底层的标签预测网络和上层的图神经网络,标签预测网络负责将最终得到的样本向量预测得到一个标签,图神经网络负责处理上述生成的二部图结构,计算得到用于预测的最终样本向量。注意到,在二部图中,样本和特征的关系可以视为邻居关系,那么传统GNN模型对邻域信息的聚合,事实上就是对样本特征的结合,如下图所示。
在这种情况下,倘若有新的特征加入或者现有特征发生了变化,模型可以直接利用图神经网络的参数进行结合计算,也就实现了开放世界的特征获取。
2 模型构造
上文提到,文章构造了底层的标签预测网络,这是一个简单的网络结构,其优化目标在于将预测标签和真实标签尽可能接近。此外,还构造了上层的图神经网络用于处理图数据,这是一个多层的网络,每层将上一层的输出作为输入,进行信息的聚合。
具体而言,标签预测网络的执行流程是针对单个数据样本,得到其对应向量并预测值,这是一个查询过程,文章在此定义为:
其中x代表数据样本,是一个one-hot向量,那么重点就在于对权重矩阵W的计算。这一矩阵中存放着对应特征数量的张量,是经过GNN学习得到的,通过one-hot的位置筛选,就为单个数据样本筛选出了其对应的向量。
在GNN中存在多层,每层聚合上一层的信息,最终学习得到W。在此,定义特征节点的初始状态为w_0,使用数据中的原始特征,定义样本节点的初始状态为s_0,并赋值为0向量,那么GNN中的训练过程就变成了w和s的每层互相聚合,如下所示:
整个模型的执行流程如下图所示:
3 模型学习
在此,文章讨论了如何对这两重网络模型进行实际训练。为了表征模型获取开放世界特征的能力,文字采用了两种策略:(1)只使用训练集中的部分特征作为每次学习的特征;(2)将底层网络和上层网络的更新解耦,对它们进行异步更新,即以嵌套的方式提供不同的更新速度。
基于上述理念,文字提出了两种具体的训练方法,即自监督训练和归纳式训练。
3.1 自监督训练
在此,文章将训练数据集分为N个部分,每次掩码其中的一部分特征,并用其他部分特征对该部分特征进行预测。在这种情况下,每次迭代都会对底层预测网络进行N次更新,并对上层GNN网络进行1次更新。
3.2 归纳式训练
在此,文章每次只取一部分特征进行模型的学习,即每次更新时只向模型公开部分特征。相比而言,自监督训练的方式有助于更稳定的训练,而归纳式训练的方式有助于泛化性能更强的训练。
此外,为避免特征层面的过拟合,文章引入了边舍弃的方法,按照一定的概率随机舍弃边,在此即舍弃对数据样本的部分特征分配,如下所示:
文章后续还进行了计算复杂度分析,在此不再赘述。