『人工智能』原来Transformer就是一种图神经网络,这个概念你清楚吗?( 三 )


重要的是 , 各种针对问题的技巧 , 如位置编码、masked 聚合、规划学习率和额外的预训练——对于 Transformer 的成功很重要 , 但是很少在 GNN 中见到 。 同时 , 从 GNN 的角度来看 Transformer , 可以帮助我们在架构上舍弃很多无用的部分 。
可以从 Transformers 和 GNN 学到什么?
现在我们已经建立起了 Transformers 与 GNN 之间的联系 , 那么以下一些问题也就随之而来:
全连接图对于 NLP 来说是最佳的输入格式吗?
在统计型 NLP 和 ML 出现之前 , 诺姆·乔姆斯基等语言学家着重创建语言结构的形式化理论 , 如语法树/图等 。 Tree-LSTM 就是其中一种尝试 , 但 Transformers 或者 GNN 架构是否能够更好地拉近语言学理论和统计型 NLP 呢?这又是一个问题 。
『人工智能』原来Transformer就是一种图神经网络,这个概念你清楚吗?
本文插图
如何学习长期依赖(long-term dependency)
全连接图的另一个问题是它们会使得学习单词之间的长期依赖变得困难 。 这仅仅取决于全连接图中的边数如何随着节点数而呈平方地扩展 , 例如在包含 n 个单词的句子中 , Transformer 或者 GNN 将计算 n^2 个单词对 。 n 数越大 , 计算愈加困难 。
NLP 社区对于长序列和依赖的观点很有趣 , 即为了获得更好的 Transformers , 我们可以在考虑输入大小的时候执行稀疏或自适应的注意力机制 , 在每一层添加递归或压缩 , 以及使用局部敏感哈希来实现有效注意力 。
所以 , 融合 GNN 社区的一些观点有可能收获显著的效果 , 例如用于句子图稀疏化的二元分区(binary partitioning)似乎就是一个不错的方法 。
『人工智能』原来Transformer就是一种图神经网络,这个概念你清楚吗?
本文插图
Transformers 学习『神经句法』(neural syntax)吗?
NLP 社区已经有一些论文来探究 Transformers 学习什么的问题 。 但这需要一个基本前提 , 即执行句子中所有单词对的注意力(目的在于识别哪些单词对最有趣)使得 Transformers 能够学习到特定于任务的句法等 。
此外 , 多头注意力中的不同 head 可能也关注不同的句法特征 。
就图而言 , 在全图上使用 GNN 的情况下 , 我们是否能够基于 GNN 在每层执行临域聚合(neighbourbood aggregation)的方式来恢复最重要的边以及这些边的衍生?对此我并不确定 。
『人工智能』原来Transformer就是一种图神经网络,这个概念你清楚吗?
本文插图
为什么采用多头注意力?
我本人更赞同多头注意力机制的优化观点 , 因为拥有多注意力头能够增强学习效果 , 克服糟糕的随机初始化 。 例如 , 论文《Are Sixteen Heads Really Better than One?》中表明 , 在无重大性能影响的训练之后 , Transformer 头可以被『剪枝』或『移除』 。
多头邻域聚合机制也已证明在 GNN 中有效 , 例如 GAT 使用相同的多头注意力 , 论文《Geometric deep learning on graphs and manifolds using mixture model CNNs》中的 MoNet 使用多个高斯核(Gaussian Kernel)来聚合特征 。 尽管多头方法是用来实现注意力机制的平稳化 , 但这些方法是否能够成为发挥模型剩余性能的标准呢?
与之相反 , 具有和或最大值等更简单聚合功能的 GNN 不需要用多聚合头来实现平稳训练 。 所以 , 如果我们不计算句子中任意单词对之间的成对兼容性 , 它对 Transformers 不是更好的替代吗?
此外 , 完全摆脱注意力 , Transformer 是否又会获益呢?Yann Dauphin 等人所写的论文《Convolutional Sequence to Sequence Learning》提出了一个替代性的 ConvNet 架构 。 所以 , Transformers 最终也可能会做出一些类似于 ConvNets 的改进 。


推荐阅读