Koodos:应对连续时域泛化的动态系统方法

Koodos框架革新了时域泛化,通过动态系统模拟数据漂移,实现模型在连续时间内的稳定泛化。

原文标题:NeurIPS 24|让模型预见分布漂移:动态系统颠覆性设计引领时域泛化新革命

原文作者:数据派THU

冷月清谈:

本文介绍了Koodos,这是一个用于解决连续时域泛化 (CTDG) 问题的创新框架。CTDG任务旨在应对现实世界中数据分布随时间连续变化的挑战,这与传统时域泛化(TDG)假设数据在离散时间点收集不同。Koodos的核心思想是将模型参数的动态变化与数据分布的漂移同步起来。

Koodos利用神经微分方程建立模型动态系统,并通过库普曼算子将复杂的非线性模型动态简化为低维线性动态。这种方法的优点在于,它能够在连续时间轴上精确描述模型状态,并且可以结合先验知识来确保泛化的稳定性和可控性。

实验结果表明,Koodos在合成数据集和真实数据集上都显著优于现有TDG方法。尤其是在决策边界可视化和模型演变轨迹分析中,Koodos展现出更强的适应性和稳定性。此外,通过库普曼算子的谱特性,Koodos还可以评估和控制模型的长期稳定性,例如通过施加周期性约束来保证模型的周期性稳定特性。

怜星夜思:

1、文章提到了Koodos可以结合先验知识,那么除了文中提到的周期性约束外,还有哪些先验知识可以用于改进模型?
2、Koodos 的核心是将模型动态与数据动态同步,但这依赖于数据分布连续变化的假设。如果数据分布的变化不连续,比如突发事件导致的剧烈变化,Koodos该如何处理?
3、文章中提到了 Koodos 未来可以应用于大模型。那么,Koodos 如何与大语言模型结合,解决大模型在实际应用中遇到的问题呢?

原文内容

来源:多模态机器学习与大模型

本文约6000字,建议阅读12分钟

本文提出了一种能够在领域数据分布持续变化的动态环境中,基于随机时刻观测的数据分布,在任意时刻生成适用的神经网络的方法。


TL;DR: 本研究提出了一种方法,能够在领域数据分布持续变化的动态环境中,基于随机时刻观测的数据分布,在任意时刻生成适用的神经网络。下图展示了模型在领域数据随时间发生旋转和膨胀时的泛化表现。通过在一些随机时间点(蓝色标记点)的观测,模型可以在任意时刻生成适用的神经网络,其决策边界始终与数据分布保持协调一致。


图片


论文信息


论文链接:
https://arxiv.org/pdf/2405.16075
开源代码:
https://github.com/Zekun-Cai/Koodos/
OpenReview: 
https://openreview.net/forum?id=G24fOpC3JE


我们在代码库中提供了详细的逐步教程,涵盖了Koodos的实现、核心概念的解读以及可视化演示。整个教程流程紧凑,十分钟即可快使掌握Koodos的使用方法,力荐尝试!


摘要


在实际应用中,数据集的数据分布往往随着时间而不断变化,预测模型需要持续更新以保持准确性。时域泛化旨在预测未来数据分布,从而提前更新模型,使模型与数据同步变化。然而,传统方法假设领域数据在固定时间间隔内收集,忽视了现实任务中数据集采集的随机性和不定时性,无法应对数据分布在连续时间上的变化。此外,传统方法也难以保证泛化过程在整个时间流中保持稳定和可控。


为此,本文提出了连续时域泛化任务,并设计了一个基于模型动态系统的时域泛化框架Koodos,使得模型在连续时间中与数据分布的变化始终保持协调一致。Koodos通过库普曼算子将模型的复杂非线性动态转化为可学习的连续动态系统,同时利用先验知识以确保泛化过程的稳定性和可控性。实验表明,Koodos显著超越现有方法,为时域泛化开辟了全新的研究方向。


情景导入


在实际应用中,训练数据的分布通常与测试数据不同,导致模型在训练环境之外的泛化能力受限。领域泛化(Domain Generalization, DG)作为一种重要的机器学习策略,旨在学习一个能够在未见目标领域中也保持良好表现的模型。近年来研究人员发现,在动态环境中,领域数据(Domain Data)分布往往具有显著的时间依赖性,这促使了时域泛化(Temporal Domain Generalization, TDG)技术的快速发展。时域泛化将多个领域视为一个时间序列而非一组独立的静态个体,利用历史领域预测未来领域,从而实现对模型参数的提前调整,显著提升了传统DG方法的效果。


然而,现有的时域泛化研究集中在“离散时间域”假设下,即假设领域数据在固定时间间隔(如逐周或逐年)收集。基于这一假设,概率模型被用于预测时域演变,例如通过隐变量模型生成未来数据,或利用序列模型(如LSTM)预测未来的模型参数。然而在现实中,领域数据的观测并不总是在离散、规律的时间点上,而是随机且稀疏地分布在连续时间轴上。例如,图 1 展示了一个典型的例子——基于推文数据进行社交媒体舆情预测。与传统 TDG 假设的领域在时间轴上规律分布不同,实际中我们只能在特定事件(如总统辩论)发生时获得一个域,而这些事件的发生时间并不固定。


同时,概念漂移(Concept Drift)在时间轴上发生,即领域数据分布随着时间不断演变:如活跃用户增加、新交互行为形成、年龄与性别分布变化等。理想情况下,每个时态域对应的预测模型也应随时间逐渐调整,以应对这种概念漂移。最后,由于未来的域采集时间未知,我们希望可以泛化预测模型到未来任意时刻。


图1:连续时域泛化示意图。图中展示了通过推文训练分类模型进行舆情预测。其中训练域仅能在特定政治事件(如总统辩论)前后采集。我们希望通过这些不规律时间分布的训练域来捕捉分布漂移,并最终使模型能够推广到任意未来时刻。


事实上,领域分布在连续时间上的场景十分常见,例如:


事件驱动的数据采集:仅在特定事件发生时采集领域数据,事件之间没有数据。

流数据的随机观测:领域数据在数据流的任意时间点开始或结束采集,而非持续进行。

离散时态域但缺失:尽管领域数据基于离散时间点采集,但部分时间节点的领域数据缺失。


为了应对这些场景中的模型泛化,我们提出了“连续时域泛化”(Continuous Temporal Domain Generalization, CTDG)任务,其中观测和未观测的领域均分布于连续时间轴上随机的时间点。CTDG 关注于如何表征时态领域的连续动态,使得模型能够在任意时间点实现稳定、适应性的调整,从而完成泛化预测。


核心挑战


CTDG任务的挑战远超传统的TDG方法。CTDG不仅需要处理不规律时间分布的训练域,更重要的是,它旨在让模型泛化到任意时刻,即要求在连续时间的每个点上都能精确描述模型状态。而TDG方法则仅关注未来的单步泛化:在观测点优化出当前模型状态后,只需将其外推一步即可。这使得CTDG区别于TDG任务:CTDG的关键在于如何在连续时间轴上同步数据分布和模型参数的动态演变,而不是仅局限于未来某一特定时刻的模型表现。


具体而言,与TDG任务相比,CTDG的复杂性主要来自以下几个尚未被充分探索的核心挑战:


  • 如何建模数据动态并同步模型动态
    CTDG要求在连续时间轴上捕捉领域数据的动态,并据此同步调整模型状态。然而,数据动态本身难以直接观测,需要通过观测时间点来学习。此外,模型动态的演变过程也同样复杂。理解数据演变如何驱动模型演变构成了CTDG的首要挑战。

  • 如何在高度非线性模型动态中捕捉主动态
    领域数据的预测模型通常依赖过参数化(over-parametrized)的深度神经网络,模型动态因此呈现出高维、非线性的复杂特征。这导致模型的主动态嵌藏在大量潜在维度中。如何有效提取并将这些主动态映射到可学习的空间,是CTDG任务中的另一重大挑战。

  • 如何确保长期泛化的稳定性和可控性
    为实现未来任意时刻的泛化,CTDG必须确保模型的长期稳定性。此外,在许多情况下,我们可能拥有数据动态的高层次先验知识。如何将这些先验知识嵌入CTDG的优化过程中,进而提升泛化的稳定性和可控性,是一个重要的开放性问题。


技术方法


问题定义


在 CTDG 中,一个域 表示在时间 采集的数据集,由实例集  组成,其中 分别为特征值,目标值和实例数。我们重点关注连续时间上的渐进性概念漂移,表示为领域数据的条件概率分布 随时间平滑变化。


在训练阶段,模型接收一系列在不规律时间点 上收集的观测域 ,其中每个时间点 是定义在连续时间轴 上的实数,且满足 。在每个 上,模型学习到领域数据 的预测函数 ,其中 表示 时刻的模型参数。CTDG 的目标是建模参数的动态变化,以便在任意给定时刻 上预测模型参数 ,从而得到泛化模型


在后续部分中,我们使用简写符号 ,分别表示在时间 上的


设计思路


我们的方法通过模型与数据的同步、动态简化表示,以及高效的联合优化展开。具体思路如下:


  1. 同步数据和模型的动态
    我们证明了连续时域中模型参数的连续性,而后借助神经微分方程(Neural ODE)建立模型动态系统,从而实现模型动态与数据动态的同步。

  2. 表征高维动态到低维空间
    我们将高维模型参数映射到一个结构化的库普曼空间(Koopman Space)中。该空间通过可学习的低维线性动态来捕捉模型的主要动态。

  3. 联合优化模型与其动态
    我们将单个领域的模型学习与各时间点上的连续动态进行联合优化,并设计了归纳偏置的约束接口,通过端到端优化保证泛化的稳定性和可控性。



解决方案

Step 1. 数据动态建模与模型动态同步


  • 分布变化的连续性假设
    我们首先假设数据分布在时间上具有连续演化的特性,即条件概率分布 随时间平滑变化,其演化规律可由一个函数 所描述的动态系统刻画。尽管真实世界中的渐进概念漂移可能较为复杂,但因概念漂移通常源于底层的连续过程(如自然、生物、物理、社会或经济因素),这一假设不失普适性。

  • 分布变化引发的模型参数连续演化
    基于上述假设,模型的函数功能空间 应随数据分布变化同步调整。我们借助常微分方程来描述这一过程:

    由此可推导出模型参数 的演化满足:

    图片

    其中, 的雅可比矩阵。

    这一结果表明,如果数据分布的演化在时间上具有连续性,那么 的演化过程也具有连续性,即模型参数会随数据分布的变化而平滑调整。上式为 建立了一个由微分方程描述的模型动态系统。

  • 模型动态系统学习
    由于数据动态 的具体形式未知,直接求解上述微分方程并不可行。为此,我们引入一个由神经网络定义的连续动态系统,用可学习的函数 描述模型参数 的变化。通过鼓励模型动态和数据动态之间的拓扑共轭(Topological Conjugation)关系使 逼近真实动态。具体而言,拓扑共轭要求通过泛化获得的模型参数与直接训练得到的参数保持一致。为此,我们设定以下优化目标,以学习 的参数

    图片

    其中, 通过在时刻 的领域上直接训练获得, 则表示从时间 通过动态 演变至 的泛化参数:

    图片

    通过这一优化过程,我们建立了模型动态与数据动态之间的同步机制。借助动态函数 ,我们可以在任意时刻精确求解模型的状态。


Step 2. 通过库普曼算子简化模型动态


  • 非线性动态线性化
    在实际任务中,预测模型通常依赖于过参数化的深度神经网络,使得模型动态   呈现为在高维空间中纠缠的非线性动态。直接对   建模不仅计算量大,且极易导致泛化不稳定。然而,  受数据动态   的支配,而数据动态通常是简单、可预测的。这意味着在过参数化空间中,模型的主动态(Principal Dynamics)可以在适当转换的空间内进行更易于管理的表示。受此驱动,我们引入库普曼理论(Koopman Theory)来简化复杂的模型动态。库普曼理论在保持动态系统特征的同时将复杂的非线性动态线性化。
    具体而言,我们定义一个库普曼嵌入函数 
    ,将原始的高维参数空间映射到一个低维的库普曼空间中:

    其中,  表示库普曼空间中的低维表示。通过库普曼算子  ,我们可以在线性空间中刻画   的动态:

    一旦获得了简化的动态表示,我们可以在库普曼空间中更新模型参数,而后将其反映射回原始参数空间:

    图片图片

    最终,通过库普曼算子的引入,我们实现了对模型动态的简化,保证了泛化过程的稳健性。


Step 3. 联合优化与先验知识结合


  • 模型及其动力学的联合优化

我们对多个组件同时施加约束确保模型能稳定泛化,其包含以下关键项:

  • 预测准确性:通过最小化预测误差,使预测模型在每个观测时间点都能准确预测实际数据。

  • 泛化准确性:通过最小化预测误差,使泛化模型在每个观测时间点都能准确预测实际数据。

  • 重构一致性:确保模型参数在原始空间与库普曼空间之间的转换具有一致性。

  • 动态保真性:约束库普曼空间的动态行为,使得映射后的空间符合预期的动态系统特征。

  • 参数一致性:确保泛化模型参数映射回原始空间后与预测模型参数保持一致。

  • 利用库普曼算子评估和控制泛化过程
    引入库普曼理论的另一优势在于,我们可以通过库普曼算子的谱特性来评估模型的长期稳定性。此外,还可以在库普曼算子中施加约束来控制模型的动态行为


    a. 系统稳定性评估

  • 通过观察库普曼算子的特征值,可以判断系统是否稳定:

    • 若所有特征值实部为负,系统会稳定地趋向于一个平衡状态。

    • 若存在特征值实部为正,系统将变得不稳定,模型在未来可能会崩塌。

    • 若特征值实部为零,系统可能表现出周期性行为。
      通过分析这些特征值的分布,我们可以预测系统的长期行为,识别模型在未来是否可能出现崩溃的风险。

    b. 泛化过程约束

    • 周期性约束:当数据动态为周期性时,可将库普曼算子   设为反对称矩阵,使其特征值为纯虚数,从而使模型表现出周期性行为。

    • 低秩近似:将   表示为低秩矩阵,有助于控制模型的自由度,避免过拟合到次要信息。

      通过这些手段,我们不仅提高了泛化的长期稳定性,还增强了模型在特定任务中的可控性。

  • 非线性动态线性化
    在实际任务中,预测模型通常依赖于过参数化的深度神经网络,使得模型动态   呈现为在高维空间中纠缠的非线性动态。直接对   建模不仅计算量大,且极易导致泛化不稳定。然而,  受数据动态   的支配,而数据动态通常是简单、可预测的。这意味着在过参数化空间中,模型的主动态(Principal Dynamics)可以在适当转换的空间内进行更易于管理的表示。受此驱动,我们引入库普曼理论(Koopman Theory)来简化复杂的模型动态。库普曼理论在保持动态系统特征的同时将复杂的非线性动态线性化。
    具体而言,我们定义一个库普曼嵌入函数 
    ,将原始的高维参数空间映射到一个低维的库普曼空间中:

    其中,  表示库普曼空间中的低维表示。通过库普曼算子  ,我们可以在线性空间中刻画   的动态:

    一旦获得了简化的动态表示,我们可以在库普曼空间中更新模型参数,而后将其反映射回原始参数空间:

    图片图片

    最终,通过库普曼算子的引入,我们实现了对模型动态的简化,保证了泛化过程的稳健性。


实验


实验设置


为验证算法效果,我们使用了合成数据集和多种真实世界场景的数据集:


  • 合成数据集:包括 Rotated 2-Moons 和 Rotated MNIST 数据集,通过在连续时间区间内随机生成时间戳,并对 Moons 和 MNIST 数据按时间戳逐步旋转生成连续时域。

  • 真实世界数据集:事件驱动数据集 Cyclone:基于热带气旋的卫星图像预测风力强度,气旋发生日期对应连续时域。流数据集 Twitter 和 House:分别从任意时间段抽取推文和房价数据流构成一个领域,多次随机抽取形成连续时域。不规则离散数据集 Yearbook:人像图片预测性别,从 84 年中随机抽取 40 年数据作为连续时域。


实验结果与分析


定量分析


我们首先对比了 Koodos 方法与各基线方法的定量性能。表 1 显示,Koodos 方法在所有数据集上展现了显著的性能提升。在合成数据集上,Koodos 能够轻松应对持续的概念漂移,而所有基线方法在这种场景下全部失效。在真实世界数据集上,尽管某些基线方法(如 CIDA、DRAIN 和 DeepODE)在少数场景中略有表现,但其相较于简单方法(如 Offline)的改进非常有限。相比之下,Koodos 显著优于所有现有方法,彰显出在时域泛化任务中考虑分布连续变化的关键作用。



定性分析


  • 决策边界
    为直观展示泛化效果,我们在 Rotated 2-Moons 数据集上进行了决策边界的可视化。该任务具有极高难度:模型需在0到35秒左右的35个连续时域上训练,随后泛化到不规律分布在35到50秒的15个测试域。而现有方法通常只能泛化至未来的一个时域(T+1),且难以处理不规律的时间分布。
    图 3 从15个测试域中选取了7个进行可视化。结果清晰地表明,基线方法在应对连续时域的动态变化时表现不足。随着时间推进,决策边界逐渐偏离理想状态。尤其是最新的 DRAIN 方法(ICLR23)在多步泛化任务中明显失效。相比之下,Koodos 在所有测试域上展现出卓越的泛化能力,始终保持清晰、准确的决策边界,与实际数据分布变化高度同步。这一效果突显了 Koodos 在时域泛化任务中的革命性优势。


图3:2-Moons数据集决策边界的可视化(紫色和黄色表示数据区域,红线表示决策边界)。从上到下比较了两种基线方法和Koodos;从左到右显示了部分测试域(15选7,所有测试域的分布在时间轴上用红点标记)。


  • 模型演变轨迹
    为更深入地分析模型的泛化能力,我们通过t-SNE降维,将不同方法的模型参数的演变过程(Model Evolution Trajectory)在隐空间中可视化(图 4)。可以看出,Koodos 的轨迹呈现出平滑而有规律的螺旋式上升路径,从训练域平滑延伸至测试域。这一轨迹表明,Koodos 能够在隐空间中有效捕捉数据分布的连续变化,并随时间自然地扩展泛化。相比之下,基线模型的轨迹在隐空间中缺乏清晰结构,随着时间推移,逐渐出现明显的偏离,未能形成一致的动态模式。


图4:模型状态在隐空间中的时空轨迹。Koodos展现出与数据动态和谐同步的模型动态。


时域泛化的分析与控制


在 Koodos 模型中,库普曼算子为分析模型动态提供了有效手段。我们对 Koodos 在 2-Moons 数据集上分析表明,库普曼算子的特征值在复平面上分布在稳定区和不稳定区,这意味着 Koodos 在中短期内能稳定泛化,但在极长时间的预测上将会逐渐失去稳定性,偏离预期路径(图 5b)。


为提升模型的稳定性,我们通过将库普曼算子配置为反对称矩阵(即 Koodos 版本),确保所有特征值为纯虚数,使模型具有周期性稳定特性。在这一配置下,Koodos 展现出高度一致的轨迹,即使在长时间外推过程中依然保持稳定和准确,证明了引入先验知识对增强模型稳健性的效果(图 5c)。


图片
图5:非受控和受控条件下的极长期泛化预测模型轨迹。a:部分训练域数据;b:不受控,模型最终偏离预期;c:受控,模型始终稳定且准确。


结论


我们设计了一种基于模型连续动态系统的时域泛化方法,能够在数据域随时间逐渐演变的环境中,实现泛化模型的稳定性与可控性。未来,我们计划从多个方向进一步拓展这一技术的应用:


生成式模型扩展:时域泛化与生成式模型任务有天然的关联,Koodos 所具备的泛化能力能够为神经网络生成技术带来新的可能。

非时态泛化任务:Koodos 的应用并不局限于时域泛化,它也可以适用于其他分布变化的任务中。我们计划探索其在非时态领域的应用。

大模型集成:我们将探索时域泛化在大模型中的集成,帮助LLM在复杂多变的分布中保持鲁棒性和稳定性。


我们对时域泛化任务在未来的广阔应用前景充满期待。如有任何问题或合作意向,欢迎联系我们!


邮箱:

caizekun@csis.u-tokyo.ac.jp
GitHub:
https://github.com/Zekun-Cai/Koodos/
Paper:
https://arxiv.org/pdf/2405.16075

编辑:于腾凯
校对:林亦霖



关于我们

数据派THU作为数据科学类公众号,背靠清华大学大数据研究中心,分享前沿数据科学与大数据技术创新研究动态、持续传播数据科学知识,努力建设数据人才聚集平台、打造中国大数据最强集团军。



新浪微博:@数据派THU

微信视频号:数据派THU

今日头条:数据派THU

或许可以借鉴强化学习中处理环境变化的方法,比如元学习或迁移学习。当检测到数据分布发生突变时,就利用之前学习到的经验快速适应新的环境。

我觉得可以利用 Koodos 来改进大语言模型的持续学习能力。大语言模型在不断学习新的数据时,可能会出现灾难性遗忘的问题,也就是忘记之前学习到的知识。Koodos 可以帮助模型记住重要的信息,并在学习新知识的同时保持旧知识的稳定性。

这个问题很有意思。我觉得可以考虑领域知识的先验。比如在金融领域,我们知道一些宏观经济指标对市场的影响,可以把这些指标作为外部输入加入模型,或者用这些指标指导模型参数的演变。

补充一点,如果我们知道数据分布的变化具有一定的稀疏性,也就是说只有少数几个因素在起主要作用,那么可以考虑在库普曼空间中使用稀疏正则化,鼓励模型学习更简洁的动态表示,提高泛化能力。

关于这个问题,我觉得除了周期性约束,还可以考虑一些其他的先验知识。比如,如果我们知道数据分布的变化速度,就可以在模型动态系统中加入一个衰减项,控制模型参数更新的速度,防止模型过拟合到短期波动。又或者,如果我们知道某些特征的重要性更高,就可以在库普曼嵌入函数中对这些特征赋予更高的权重,让模型更关注这些特征的动态变化。

我觉得可以考虑引入一些更灵活的动态系统模型,比如跳跃系统或者随机微分方程,来描述数据分布的突变。这样就可以在 Koodos 的框架下处理更复杂的动态变化。

关于 Koodos 与大语言模型的结合,我想到一个可能的应用场景:用 Koodos 来调整大语言模型的参数,使其适应不同领域的数据分布。比如,我们可以用 Koodos 训练一个模型,根据用户的输入动态调整大语言模型的 prompt,或者调整模型内部的参数,使其生成更符合用户需求的文本。

我想到一个更具体的例子,比如在新闻推荐领域,用户的兴趣会随着时间变化。可以利用 Koodos 来跟踪用户兴趣的漂移,动态调整推荐模型的参数,提高推荐的准确性和个性化程度。

对于“数据分布的变化不连续”这个问题,Koodos 的原论文中似乎没有明确的解决方案。不过,我想到一个可能的改进方向:可以尝试将 Koodos 与变化点检测算法结合起来。当检测到数据分布发生突变时,就重新初始化模型的动态系统,或者调整库普曼算子的参数,让模型能够快速适应新的数据分布。