作者:Guangji Bai*、Chen Ling*、Liang Zhao (* equal contribution)
单位:Emory University
论文链接:https://arxiv.org/abs/2205.10664
情景导入
范围泛化是近几年非常热门的研究方向,它研究的课题是从若干个具有不同数据散布的数据集 (范围) 中进修一个泛化能力强的模型,以便在未知 (Unseen) 的测试集上取得较好的效果。目前。大部分范围泛化的工作假如范围之间的边界 (boundary) 是明确的且模型泛化是离线的 (offline)。然而在现实世界中,范围之间的边界往往是未知且难以获取的,同时范围的散布是渐变的,从而范围之间存在观念漂浮 (concept drift) 。
例如,当一家银行利用模型来预计一个人是否会成为「违约借款人」时,会考虑「年收入」、「职业类型」和「婚姻状况」等特征。由于社会随着光阴不断演化,这些特征对于最终预计的影响也会相应地随光阴而变革。
如图 1 所示,另一个例子是通过每年的推特 (Twitter) 数据来预计比如流感的爆发。推特数据每年都会不断发生变革,例如用户数量逐年上升,新的好友关系不断增加,主流用户的年龄散布不断变革等等,而这种数据散布随光阴的不断变革将使得模型逐渐过时。相应地,假如有一个理想的、始终保持最新的模型,那么模型参数应该相应地逐渐变革以对抗数据散布随光阴变革的趋势,它还可以「预计」模型参数在任意 (不太远) 的现在光阴点应该是什么样子。因此,我们需要光阴域泛化的技术来解决上述课题。
图 1:光阴域泛化的说明性示例
存在的挑战
将范围索引 (domain index) 视为分类变量 (categorical variable) 的现有范围泛化方式一般不适用于光阴域泛化课题,因为它们需要范围边界作为先验来进修从源域到目标域的映射。扩展现有的范围泛化方式来解决光阴域泛化面临着以下挑战:
难以刻画数据散布的漂浮及其对预计模型的影响。对随光阴变革的散布建模需要使模型对光阴敏感 (time-sensitive) 。现有方式无论是直接将光阴作为输入数据的特征,或是将模型参数仅仅视作随光阴变革的函数,只要模型的动静和数据的动静没有被整体建模,这些方式就不能很好地将模型泛化到现在的数据。
在追踪模型动静时缺乏表达能力。如今,深度进修的成功离不开大模型 (例如 Transformer),其中神经元和模型参数连接成为一个复杂的计算图,然而这也极大增加了光阴域泛化课题中追踪模型动静的难度。一个具有强表达能力的模型动静刻画及预计需要将数据动静映射到模型动静,也就是模型参数诱导的计算图随光阴变革的动静。
难以对模型功能给出实际上的保障。虽然在独立同散布的假如下对机器进修课题有着丰富的实际分析,但类似实际难以推广到散布外 (Out-of-Distribution, OOD) 假如以及数据散布随光阴变革的光阴域泛化课题。因此,有必要加强关于不同光阴域泛化模型的能力及关系的实际分析。
解决思路及贡献
鉴于上述挑战,我们提出了一种具有漂浮感知的动静神经搜集的光阴域泛化框架 DRAIN (Drift-A ware DynamIc Neural Networks)。
具体而言,我们提出了一个鉴于贝叶斯实际的通用框架,通过联合建模数据和模型动静之间的关系来处理光阴域泛化课题。为了实现贝叶斯框架,利用了带有循环结构的图生成场景来编码和解码跨不同光阴点 (timestamp) 的动静图结构 (dynamic graph-structured) 神经搜集。上述场景可以实现完全光阴敏感 (fully time-sensitive) 的模型,同时允许端到端 (end2end) 的训练方式。该方式能够捕获模型参数和数据散布随光阴的漂浮,并且可以在没有现在数据的情况下预计现在的模型。
该研究的主要贡献可以概括为以下几点:
开发了一种全新的鉴于贝叶斯实际的自适应光阴域泛化框架,可以按照端到端的方式进行训练。
创造性地将神经搜集模型视为动静图,并利用图生成技术来实现完全光阴敏感的模型。
提出使用序贯 (sequential) 模型自适应地进修光阴漂浮,并利用进修到的序贯模型来预计现在时域的模型状态。
我们对所提出方式在现在时域上的不确定性量化 (uncertainty quantification) 以及泛化误差 (generalization error) 进行了实际分析。
DRAIN 框架在多个公开真实世界数据集上显著超过了以往的范围泛化和范围适应方式,在光阴域泛化任务上取得 SOTA。
课题描述
我们给出正式的光阴域泛化 (temporal DG) 的课题定义。
首先,我们考虑的是当数据散布随光阴变革的情景。训练时,给定任意 T 个光阴点 t_1≤t_2≤⋯≤t_T,我们有每个光阴点观测到的源范围 D_1,D_2,⋯,D_T, 其中。这里,x_i^((s) )、y_i^((s) )、N_s 分别对应光阴点 t_s 的样本输入特征、标签以及样本量,X_s、Y_s 表示光阴点 t_s 的特征及标签空间。训练好的模型将在未知的现在时辰 t_(T+1)>t_T 的范围 D_(T+1) 上进行测试。由于是范围泛化课题,因此训练过程中不允许出现任何现在范围 D_(T+1) 的信息,例如无标签数据。
光阴域泛化进一步假如存在光阴维度的观念漂浮,即范围 D_1,D_2,⋯,D_T 的散布遵循某种光阴维度的模式而变革。例如,如果我们考虑个人收入每年如何变革,我们会发现由于通货膨胀,平均收入通常每年以某种比率增加。房价、教育成本等随光阴的变革也存在类似规律。
我们的目标是建立一个能够主动且自适应地捕捉观念漂浮的模型。给定源范围 D_1,D_2,⋯,D_T,我们希望对每一个范围 D_s 进修一个映射 g_(ω_s ):X_s→Y_s,s=1,2,⋯,T。这里 ω_s 表示时辰 t_s 时的模型参数。最终,我们预计现在某未知范围 D_(T+1) 上的映射 g_(ω_(T+1) ):X_(T+1)→Y_(T+1) 对应的模型参数 ω_(T+1)。如上图 1 所示,由于数据散布的光阴漂浮 (例如推特用户的年龄散布和推文数量逐年增加),预计模型应当随之演变 (例如模型参数权重的大小逐年递减)。
技术方案
这里介绍我们如何解决上述三个挑战。
对于挑战 1,我们通过构建一个系统的贝叶斯概率框架来显式地 (explicitly) 描述范围间随光阴的观念漂浮,这也是该工作与现有 DG 方式的本质区别。
对于挑战 2,我们提出将具有随光阴变革参数的神经搜集建模为动静图,并实现可以通过图生成技术进行端到端训练的光阴域泛化框架;我们通过在不同域上引入残差连接 (skip connection) 模块进一步提高所提出方式的泛化能力以及对遗忘的鲁棒性。
最后,对于挑战 3,我们探索了在具有挑战性的光阴域泛化设定下模型功能的实际保证,并提供了所提出方式的实际分析,例如不确定性量化和泛化误差。
1. 光阴漂浮的概率学描述
想要在随光阴变革的范围上进行范围泛化,我们需要获得给定光阴间隔内的观念漂浮。从概率学的角度来看,对每一个源范围 D_s,s=1,2,⋯,T, 我们通过最大化条件概率 Pr(ω_s│D_s ) 训练失掉神经搜集 g_(ω_s )。由于 D_s 概率随光阴的演化,Pr(ω_s│D_s ) 也会不断随光阴改变。我们的终极目标是鉴于所有源范围 D_1,D_2,⋯,D_T 来预计现在某未知范围上的模型参数 ω_(T+1),即 Pr(ω_(T+1)│D_(1:T) )。通过全概率公式 (Law of Total Probability),我们知道
这里 Ω 表示所有参数 ω_(1:T) 所在的空间。积分号里的第一项代表推理阶段 (inference phase),即如何通过所有源范围上的历史信息来推断现在时辰的模型参数;第二项代表训练阶段,即如何通过每一个源范围的数据来失掉对应的每个光阴点上的模型信息。进一步,通过概率链式法则 (chain rule of probability),上式当中的训练阶段可以被分解为
图 2:DRAIN 总体框架示意图。
这里,我们假如在任意光阴点 t_s,模型参数 ω_s 只和当前范围以及历史范围有关,即 \{D_i:i≤s\},同时,没有任何关于现在范围的信息。通过上式,复杂的训练过程被分解为 T-1 步,而每一步对应于如何利用当前范围数据及模型历史信息来进修当前时辰的模型参数,即
2. 神经网路的动静图表示
由于数据散布随光阴的变革,模型参数也需要不断更新来适应光阴漂浮。我们考虑通过动静图来建模神经搜集,以求达到最大化表达能力。
直观上讲,一个神经搜集 g_ω 可以被表示为一个边加权图 G=(V,E,ψ),其中节点 v∈V 表示神经搜集中的神经元,而边 e∈E 则对应不同神经元中的连接。函数 ψ:E→R 表示边的权重,即神经搜集的参数值。注意,这里关于边加权图的定义是非常广义 (general) 的,涵盖了浅层模型 (即 linear model) 以及常见的深度模型 (MLP、CNN、RNN、GNN) 。我们通过优化边加权图中边的权重来进修失掉神经搜集参数随光阴漂浮的变革。
该工作中,我们考虑神经搜集的结构是已知且固定的,即 V,E 不变,而边的权重随光阴变革。由此,可以失掉 ω_s=ψ(E│s),其中 ψ(⋅│s) 只依赖光阴 t_s。这样,三元组 G=(V,E,ψ_s ) 定义了一个带有动静边权重的光阴图 (temporal graph) 。
3. 光阴漂浮的端到端进修
给定神经搜集在历史范围上进修失掉的历史状态 \{ω_(1:s) \},我们的目标是如何端到端地外插失掉神经搜集在新的范围
上的参数状态 ω_(s+1),并且失掉良好的预计功能。事实上,考虑到我们将神经搜集的参数变革 {ω_(1:s)} 视作一个动静搜集的演化,一个自然的方式即为通过模拟 {ω_(1:s)} 随光阴如何演化来进修失掉该动静搜集的隐散布 (latent distribution)。最终,我们从动静搜集的隐散布中采样即可失掉现在光阴点神经搜集参数的预计值 ω_(s+1)。
我们将进修 {ω_(1:s)} 的隐散布刻画为一个鉴于循环结构的顺序进修过程。如上图 2 所示,在任意训练时辰 t_s,递归搜集会鉴于历史信息 {ω_i:i<s} 来生成 ω_s。具体而言,我们考虑 LSTM 作为递归搜集的实现,并用 f_θ 来表示 LSTM unit,那么 f_θ 在 t_s 时辰有两个输出:当前的记忆状态 (memory state) m_s,以及包含了历史信息的隐概率散布 h_s,而隐概率散布 h_s 使得我们能够利用一个图解码器 F_ξ (⋅) 来生成失掉动静搜集当前时辰的参数状态 ω_s。
不同于现有的在单个域上训练和正则化神经搜集的工作,在这里我们专注于直接搜索具有「良好结构」的搜集散布。最后,采样失掉的当前时辰神经搜集参数 ω_s 被图编码器 G_η (⋅) 转化为 f_θ 在下一时辰的输入。整个框架顺序地在每一个训练范围上优化,即鉴于当前范围训练集来生成 ω_s 来最小化以下目标函数
这里损失函数由具体任务决定,比如回归任务的 MSE 或者分类任务的 cross-entropy。
4. 更少的遗忘和更好的泛化能力
在训练递归神经搜集时,可能会遇到功能下降的课题。由于范围之间存在光阴维度上复杂的相关性,该课题在光阴域泛化中可能会更严重。而且,当源范围的数量很大的时候,我们发现还可能出现灾难性遗忘 (catastrophic forgetting) 的课题。为了减轻该课题对模型功能的影响,我们提出了通过残差连接技术来增强不同范围训练模型时的相关性。具体而言,
其中 λ 为超参,s 为滑动窗口 (sliding window) 的宽度。残差连接的使用能够使得新生成的模型参数 ω_s 包含部分历史范围的信息,而定长的滑动窗口能够保证至多线性的算法复杂度。
实际分析
我们从实际角度探讨了所提出框架 DRAIN 在光阴域泛化课题上的优越性:(1) 更小的预计不确定性;(2) 更小的泛化误差。首先给出一些必要的定义以及假如:
接下来的定理 1 表明,通过进修潜在的时维度的观念漂浮,DRAIN 能够在测试范围上取得更小的预计方差,即更小的不确定性:
下面的定理 2 表明,除了预计的方差,我们的方式 DRAIN 同样可以在测试范围上取得更小的泛化误差,即更高的泛化精度:
实验结果
为了验证算法效果,我们在 7 个带有光阴漂浮的数据集 (5 个分类、2 个回归) 上进行试验,并与多个 DA 和 DG 方式进行比较。实验结果可见下表 1,其中我们提出的框架 DRAIN 在几乎所有数据集均取得了最优的泛化功能。相较于 CDOT/CIDA/GI 等方式,DRAIN 通过递归搜集从本质上解决观念漂浮课题,从而能够以更强的表达能力来端到端地进修光阴漂浮。
进一步,我们在 2-Moons 数据集上对各个方式的决策边界 (decision boundary) 进行了可视化实验,从而更清晰地展现出 DRAIN 的功能提升。通过横向比较下图 3 (d) 和图 4 (a)-(f) 的右子图 (均为测试范围上的决策边界),我们发现 DRAIN 框架在现在范围上拥有最准确的决策边界,再一次验证所提出方式对观念漂浮的捕捉能力以及光阴维度的泛化能力。
对于所提出框架 DARIN,动静神经搜集的层深是一个重要的参数,它控制着功能与计算成本的权衡。我们探索了所提出框架 DRAIN 功能对于所生成神经搜集层深的敏感性分析,由下图 5 可见在 2-Moons 以及 Elec2 数据集曲线均呈现出倒 U 型。过浅的搜集会缺乏表达能力,而过深的搜集则会减弱泛化能力。
最后,我们同样进行了消融实验 (ablation study),来进一步探究不同模块 (module) 对于所提出框架 DRAIN 的贡献和影响。如下表 2 所示,每个模块都可以有效地促进整体框架的功能,通过递归模型对所有光阴域的相关性进行建模可以提供相当大的功能增益。此外,删除顺序进修模型中的跳跃连接会使 DRAIN 难以捕获域之间的远程光阴依赖性,因为在模型进修期间可能会忘记遥远的历史范围信息。
结论
我们通过提出鉴于动静神经搜集的框架来解决光阴域泛化课题,构建了一个贝叶斯框架来对观念漂浮进行建模,并将神经搜集视为一个动静图来捕捉随光阴不断变革的趋势。我们提供了所提出框架的实际分析(例如预计的不确定性和泛化误差)以及广泛的实证结果,从而证明我们的方式与最先进的 DA 和 DG 方式相比的有效性和效率。