在现实世界的机器学习应用中,随时间变化的分布偏移是常见的问题。这种情况被构建为时变域泛化(EDG),目标是通过学习跨领域的潜在演变模式,并利用这些模式,使模型能够在时间变化系统中对未见目标域进行良好的泛化。然而,由于 EDG 数据集中时间戳的数量有限,现有方法在捕获演变动态和避免对稀疏时间戳的过拟合方面遇到了挑战,这限制了它们对新任务的泛化和适应性。
为了解决这个问题,我们提出了一种新的方法 SDE-EDG,它通过连续插值样本收集数据分布的无限细分网格演变轨迹(IFGET),以克服过拟合的问题。此外,通过利用随机微分方程(SDEs)捕获连续轨迹的固有能力,我们提出了将 SDE 建模的轨迹通过最大似然估计与 IFGET 的轨迹对齐,从而实现捕获分布演变趋势。
方法
核心思想
为了克服这一挑战,SDE-EDG 提出了一种新颖的方法,通过构建无限细分网格演变轨迹(Infinitely Fined-Grid Evolving Trajectory, IFGET),在潜在表示空间中创建连续插值样本,以弥合时间戳之间的间隔。此外,SDE-EDG 利用随机微分方程(Stochastic Differential Equations, SDEs)的内在能力来捕捉连续的轨迹动态,通过路径对齐正则化器将 SDE 建模的轨迹与 IFGET 对齐,从而实现跨域捕获演变分布趋势。
方法细节
1. 构建 IFGET:
首先,SDE-EDG 在潜在表示空间中为每个样本建立样本到样本的对应关系,收集每个个体样本的演变轨迹。对于时刻的每个类别 k 的任一样本,我们搜索时刻在特征空间离其最近的为其在的对应样本:
这里是计算两个向量之间的距离,是从下个领域采样的个样本的集合。
然后,利用这种对应关系生成连续插值样本,旨在连接时间戳间隔之间的时间间隙,避免对稀疏时间戳的过拟合,
这里采样自 Beta 分布。通过收集通过以上方式产生的样本的时序轨迹,我们得到 IFGET。
2. 使用 SDE 建模轨迹:
SDE-EDG 采用神经 SDE 来模拟数据在潜在空间中的连续时间轨迹。与传统的基于离散时间戳的模型不同, SDE 天然适合于模拟连续的时间轨迹。SDE-EDG 建模了时序轨迹,可以通过时刻的样本预测任意未来时刻的样本:
这里特征空间变量是由时刻的样本预测得到,是 drift function,是 diffusion function。
3. 路径对齐与最大似然估计:
SDE-EDG 通过最大化 IFGET 的似然估计来训练模型,
最终训练函数是,第一项是预测分类任务误差损失函数。
4. 实验
结论
论文作者提出了一种新的 SDE-EDG 方法,用于建模时变域泛化(EDG)问题。方法涉及通过识别样本到样本的对应关系并生成连续插值样本来构建 IFGET。随后,作者采用随机微分方程(SDE)并将其与 IFGET 对齐进行训练。文章的贡献在于揭示了通过收集个体的时间轨迹来捕获演变模式的重要性,以及在时间间隔之间进行插值以减轻源时间戳数量有限的问题,这有效地防止了 SDE-EDG 对有限时间戳的过拟合。
文章来源于:微信公众号机器之心
【开源免费】graphrag是微软推出的RAG项目,与传统的通过 RAG 方法使用向量相似性作为搜索技术不同,GraphRAG是使用知识图谱在推理复杂信息时大幅提高问答性能。
项目地址:https://github.com/microsoft/graphrag
【开源免费】Dify是最早一批实现RAG,Agent,模型管理等一站式AI开发的工具平台,并且项目方一直持续维护。其中在任务编排方面相对领先对手,可以帮助研发实现像字节扣子那样的功能。
项目地址:https://github.com/langgenius/dify
【开源免费】RAGFlow是和Dify类似的开源项目,该项目在大文件解析方面做的更出色,拓展编排方面相对弱一些。
项目地址:https://github.com/infiniflow/ragflow/tree/main
【开源免费】phidata是一个可以实现将数据转化成向量存储,并通过AI实现RAG功能的项目
项目地址:https://github.com/phidatahq/phidata
【开源免费】TaskingAI 是一个提供RAG,Agent,大模型管理等AI项目开发的工具平台,比LangChain更强大的中间件AI平台工具。
项目地址:https://github.com/TaskingAI/TaskingAI