

























doi.org/10.1038/s42256-023-00647-z
本文介绍于 2023 年 MIT 研究团队在 Nature Machine Intelligence 发表上的一篇文章,文章原标题为 Structure-inducing pre-training,文章调查了目前广泛应用的多种预训练模型,设计了一种通过图结构在预训练过程中引入显式且深层结构约束的方法。
预训练-微调的学习模式在自然语言处理及其他相关领域都已经得到广泛的应用,预训练通过在隐空间中提取样本的特征,从而提升模型在下游任务上的表现。但目前的预训练模型都没能在潜变量 \(\boldsymbol{z}\) 上添加结构约束,从而获得既显式又深层的特征,这是目前预训练模型的一大缺陷。
对于数据集 \(\boldsymbol{X}_\mathrm{PT}\in\mathcal{X}^{N_\mathrm{PT}}\),预训练的目标就是从学习过程中得到编码器 \(f_\theta:\mathcal{X}\rightarrow\mathcal{Z}\),然后将 \(f_\theta\) 用于各种各样的下游任务。
目前大部分的预训练模型都无法同时保证显式与深层的结构约束,调查目前超过 90 种的预训模型,其方法可以分为以下几类:
因此文章设计了一种同时使用显式与深层的结构约束的预训练框架,称这种方法为结构诱导的预训练。
首先将预训练问题表示为图 \(G_\mathrm{PT}=(V,E)\),其中结点 \(V\) 表示 \(\boldsymbol{X}_\mathrm{PT}\) 中的预训练样本,\(E\) 表示预先定义的样本间关系。
接着预训练的损失函数就定义为
$$ \mathcal{L}_\mathrm{PT}=(1-\lambda_\mathrm{SI})\mathcal{L}_\mathrm{M}+\lambda_\mathrm{SI}\mathcal{L}_{SI} $$
其中 \(\mathcal{L}_\mathrm{M}\) 为传统预训练模型所使用的损失函数,\(\mathcal{L}_\mathrm{SI}\) 是定义用于实现结构诱导目标的损失函数,使隐空间的各潜变量满足 \(G_\mathrm{PT}\) 中的边(样本间关系)。
文章使用了 3 类数据用于预训练:
Proteins 与 Abstracts 预训练的编码器是 Transformer 架构,Networks 预训练所使用的模型是具有图同构网络(Graph Isomorphism Network, GIN)编码器的图卷积神经网络(graph convolutional neural network, GNN)。
预训练模型在下游任务上的测试结果如上图所示,Δ 一列中以 ↑ 表示相对传统预训练模型性质的提升,可以看出不管是相对于 per-token 还是 per-sample 的传统预训练策略,文中提出的结构诱导的预训练方法(structure-inducing pre-training, SIPT)在各下游任务上具有更好的表现。
分析 Networks 任务得到的各种预训练模型在下游任务中微调的过程,SIPT 方法相比其他预训练方法得到的特征能够更快收敛,且在最后得到更好的效果。
文章调查了多种预训练模型,分析其训练目标发现大多数都没有引入显式且深层的结构约束,文章设计了一种预训练策略 SIPT,通过预训练图 \(G_\mathrm{PT}\) 在隐空间中加入了显式且深层的结构约束,相比于传统的预训练方法,这种策略在下游任务的层次上提升上模型表现。
文章借鉴了图结构来对样本与样本间的关系建模,但文中并未对得到「显式且深层」的特征做详尽的研究,只能推测这种方法更适用于蛋白-蛋白相互作用等更关注于样本间关系的任务,还不能证明 SIPT 得到的例如分子表示比传统预训练方法得到的分子表示更好。
此内容由惯性聚合(RSS阅读器)自动聚合整理,仅供阅读参考。 原文来自 — 版权归原作者所有。