题目:Diversify: A General Framework for Time Series Out-of-Distribution Detection and Generalization
Diversify:一种时间序列分布外检测和泛化的通用框架
作者:W. Lu; J. Wang; X. Sun; Y. Chen; X. Ji; Q. Yang; X. Xie
摘要
时间序列仍然是机器学习研究中最具挑战性的模态之一。时间序列的分布外(OOD)检测和泛化常常由于其非平稳性质而面临困难,即分布随时间变化。时间序列内的动态分布对现有算法提出了重大挑战,特别是在识别不变分布时,因为大多数算法侧重于先验信息提供的领域信息的情景。本文旨在通过探索完整数据集内的子域进行广义表示学习来解决时间序列中的非平稳性问题。我们提出了DIVERSIFY,一个用于时间序列动态分布的OOD检测和泛化的通用框架。DIVERSIFY通过一个迭代过程运行:首先识别“最坏情况”的潜在分布情景,然后努力缩小这些潜在分布之间的差距。我们通过结合现有的OOD检测方法,根据提取的特征或模型的输出来实现DIVERSIFY,同时我们也直接利用输出进行分类。理论见解支持该框架的有效性。我们在七个具有不同OOD设置的数据集上进行了广泛的实验,涵盖手势识别、语音命令识别、可穿戴压力和情感检测以及基于传感器的人类活动识别。定性和定量结果表明,DIVERSIFY学习到更广义的特征,并显著优于其他基线。
关键词
- 域泛化
- OOD检测
- 分布外
- 表示学习
- 时间序列
I. 引言
时间序列分析是机器学习中最具挑战性的问题之一。多年来,已经对时间序列分类进行了大量努力,采用了各种方法,如隐马尔可夫模型、基于RNN的技术和基于Transformer的方法。时间序列数据在广泛的领域中有着广泛的应用,包括工业过程、股票预测以及临床和远程健康监测。与时间序列相关的几个活跃研究领域包括分类、预测、聚类和高频时间序列分析。
本文的主要关注点是学习时间序列的广义表示,以便更好地进行分布外(OOD)检测和泛化。OOD检测和泛化之间的区别在于分布变化的不同类型:标签变化和特征变化,取决于分布中变化的变量。标签变化通常在类内表现,意味着未见的目标可能包含训练数据中不存在的类。这个方面在异常检测和OOD检测领域已经得到了广泛的研究;相反,特征变化通常发生在输入中,对应的研究领域是OOD泛化,已经得到了广泛的研究。
OOD检测解决了标签变化问题,并且最近得到了很多关注。它可以被视为一种特殊的分类任务,旨在区分分布内(ID)类和OOD类。例如,Hendrycks等人开发了使用辅助异常数据集的OOD检测器,以增强深度OOD检测,而BATS通过将特征校正到其典型集并计算典型特征的OOD得分来进行可靠的不确定性估计。相反,OOD泛化方法通常假设存在预定义的域,并努力弥合这些域之间的差距,以获取可转移到未见目标分布的域不变表示。现有算法的关键是利用给定的领域信息(即领域索引)来指导域不变表示学习。例如,GILE自主分离了领域无关和领域特定特征,用于可泛化的基于传感器的跨人活动识别,而SDMix提供了一种语义数据增强方法来解决类似的问题。这些方法仍然严重依赖领域信息。
不幸的是,我们无法直接将现有的OOD检测和泛化算法应用于时间序列。非平稳性 [23],即统计特征随时间变化,为时间序列的OOD检测和泛化引入了新的挑战。除了特征空间中的常见空间变化外,非平稳性还产生了另一种特征变化,称为时间变化,可能在同一类的不同时间发生。时间变化通常是潜在的、动态的和可变的,使得数据的预分割变得困难,并使基于先验的手动分割不准确。此外,与计算机视觉不同,很少有时间序列数据集预先分区。据我们所知,没有工作同时考虑时间变化来研究时间序列OOD检测和泛化的OOD表示。
图1展示了一个示例。图像分类中的OOD泛化通常涉及几个静态已知域标签的域(子图(a)),可以用于构建OOD模型。然而,图1(b)显示,在EMG时间序列数据 [24] 中,分布随时间动态变化,其领域信息不可用。如果不考虑潜在分布(即子域)的探索,预测可能在面对多样的子域分布时失败(子图(c))。这将极大地阻碍现有的OOD算法,因为它们依赖于领域信息。
本文介绍了DIVERSIFY,一个通过表征数据内部潜在分布来进行时间序列OOD检测和泛化的广义表示学习框架。DIVERSIFY的最终思想是不依赖领域标签,描绘时间序列中的潜在分布,从而实现有效的OOD检测和泛化。具体来说,DIVERSIFY包含一个最小-最大对抗游戏:一方面,它通过最大化段间分布差距将时间序列数据分段为多个潜在子域,以保持多样性,即“最坏情况”分布情景;另一方面,通过减少获得的潜在域之间的分布差异,学习域不变表示。这种潜在分布在时间序列中自然存在,例如,多个人的活动数据遵循不同的分布。此外,我们的实验表明,即使是单个人的数据也表现出这种多样性,可以分割为多个潜在分布。在获得表征的潜在分布后,我们可以为下游目的(如OOD检测和泛化)建立不同的实现。具体来说,对于OOD检测,我们提供了两种实现,DIVERSIFY-MAH利用学习到的广义表示的马氏距离,而DIVERSIFY-MCP利用模型的logit输出。通过简单的softmax激活,DIVERSIFY轻松促进泛化。值得注意的是,由于DIVERSIFY提供的优越表示和预测,所有提出的实现都能显著优于其他方法。
本文扩展了我们之前在ICLR 2023上发表的论文 [15],该论文仅关注OOD泛化。与之前版本相比,本版本通过将DIVERSIFY表述为一个通用框架,同时解决OOD检测和泛化,并开发了用于OOD检测的新算法,增加了更多实验和分析。
总结来说,我们的贡献有四个方面:
- 通用框架:我们提出了一个通用框架,DIVERSIFY,同时解决OOD检测和泛化。DIVERSIFY可以识别潜在分布并学习广义表示。我们提供了DIVERSIFY背后的理论见解,以分析其设计理念。
- 具体实现:对于OOD检测,我们提供了两种实现,DIVERSIFY-MAH和DIVERSIFY-MCP。对于分类,我们直接利用DIVERSIFY的输出和softmax激活。
- 卓越性能和深刻结果:定性和定量结果表明,DIVERSIFY在几个具有挑战性的场景中表现卓越:困难任务、显著多样的数据集和有限数据。更重要的是,DIVERSIFY能够成功表征时间序列数据集中的潜在分布。
- 可扩展性:除了提出的实现,DIVERSIFY是一个可扩展框架,这意味着它可以用更多的方法实现,例如ODIN [25]。因此,DIVERSIFY可以应用于更多的应用,并通过最新方法进一步改进。
本文的其余部分组织如下。我们将在第II节介绍相关工作,在第III节详细阐述提出的方法并提供简明总结。然后,在第IV和V节分别展示实验实现和结果,以证明DIVERSIFY在检测和泛化方面的优越性,同时在第VI节提供实验分析。第VII节提供了一些限制和讨论。最后,在第VIII节可以找到结论和一些未来可能的方向。
III. 方法论
A. 问题表述
时间序列训练数据集 D t r D_{tr} Dtr可以通过滑动窗口预处理为 N N N个输入: D t r = { ( x i , y i ) } i = 1 N D_{tr} = \{(x_i, y_i)\}_{i=1}^N Dtr={(xi,yi)}i=1N,其中 x i ∈ X ⊂ R p x_i \in X \subset \mathbb{R}^p xi∈X⊂Rp是 p p p维实例, y i ∈ Y = { 1 , … , C } y_i \in Y = \{1, \ldots, C\} yi∈Y={ 1,…,C}是其标签。我们使用 P t r ( x , y ) P_{tr}(x, y) Ptr(x,y)表示训练数据集的联合分布在 X × Y X \times Y X×Y上。我们的目标是从 D t r D_{tr} Dtr中学习一个广义模型,以便在训练时无法访问的未见目标数据集 D t e D_{te} Dte上进行良好预测。在我们的问题中,训练和测试数据集具有相同的输入,但分布不同,即 X t r = X t e X_{tr} = X_{te} Xtr=Xte,但 P t r ( x , y ) ≠ P t e ( x , y ) P_{tr}(x, y) \neq P_{te}(x, y) Ptr(x,y)=Pte(x,y)。
OOD检测:测试数据集包含比训练数据集更多的类,即 Y t r ⊂ Y t e Y_{tr} \subset Y_{te} Ytr⊂Yte。我们将训练数据集中存在的类称为ID类, C I D = { 1 , 2 , … , C n } C_{ID} = \{1, 2, \ldots, C_n\} CID={ 1,2,…,Cn},而仅在测试数据集中存在的类是OOD类, C O O D = { C n + 1 } C_{OOD} = \{C_n + 1\} COOD={ Cn+1}。我们旨在从 D t r D_{tr} Dtr中训练一个模型 h h h,以检测OOD类,并在测试数据集 D t e D_{te} Dte上的ID类中实现最小错误率。
OOD泛化:训练和测试数据集共享相同的输出空间,即 Y t r = Y t e Y_{tr} = Y_{te} Ytr=Yte。我们旨在从 D t r D_{tr} Dtr中训练一个模型 h h h,以在测试数据集 D t e D_{te} Dte上实现最小错误率。
B. 动机
什么是时间序列中的域和分布变化?时间序列可能由几个未知的潜在分布(域)组成。例如,来自三个人的传感器数据可能由于个人差异而属于不同的分布,被称为空间分布变化。值得注意的是,我们还观察到时间分布变化,即单个个体的数据分布在不同时间内可以变化。这些变化在时间序列数据中很常见,几项研究支持这一观点。图2提供了一个例子。图2(a)展示了EMG数据中分布的动态变化,其中没有领域信息,而图2(b)显示了步行期间收集的传感器数据,展示了不同个体之间的不同分布。此外,图2©说明了标签变化,其中站立、跑步和骑车可以是训练数据中的分布内(ID)类,而跌倒是仅在目标中存在的OOD类。
潜在域特征对于OOD检测和泛化是不可或缺的。由于非平稳性质,将时间序列视为一个分布的简单方法无法捕捉域不变(OOD)特征,因为它们忽略了数据集内部的多样性。在图1(d)中,我们假设训练域包含两个子域(圆点和加号点)。通过现有的OOD方法直接将其视为一个分布可能会生成黑色边界。当使用学到的模型在OOD域(星号点)上进行预测时,红色星号点被错误分类为绿色类。因此,应该表征时间序列中的多个多样化潜在分布,以学习更好的OOD特征,这是在遇到非平稳时影响OOD检测和泛化性能的关键因素。我们将图1(b)中的分布变化命名为空间分布变化,可以根据一些特定特征(例如人、位置和其他因素)将数据分组为不同域。然而,在实际场景中,信息可能丢失或不适合分组,我们只能访问没有分割的整个数据集。
潜在域表征的简要表述。 根据上述讨论,根据特征变化,一个时间序列可能包含K个未知的潜在域4,5,而不是一个固定的域,即 P t r ( x , y ) = ∑ i = 1 K π i P i ( x , y ) P_{tr}(x, y) = \sum_{i=1}^K \pi_i P_i(x, y) Ptr(x,y)=∑i=1KπiPi(x,y),其中 P i ( x , y ) P_i(x, y) Pi(x,y)是第i个潜在域的分布,权重为 π i \pi_i πi, ∑ i = 1 K π i = 1 \sum_{i=1}^K \pi_i = 1 ∑i=1Kπi=1。6 有无数种方法可以获得 P i P_i Pi,我们的目标是学习每个 P i P_i Pi和 P j P_j Pj之间分布差异最大的“最坏情况”分布情景。为什么是“最坏情况”情景?它将最大程度地保留每个潜在分布的多样信息,从而有利于泛化。
C. DIVERSIFY
在本文中,我们提出了DIVERSIFY,用于学习时间序列OOD检测和泛化的OOD表示。DIVERSIFY的核心是表征潜在分布,然后最小化每两个分布之间的分布差异。具体来说,采用了一个迭代过程:首先从给定的数据集中获取“最坏情况”分布情景,然后弥合每对潜在分布之间的分布差距。它主要包含四个步骤,其中步骤2至4是迭代的:
- 预处理:此步骤采用滑动窗口将整个训练数据集分割成固定大小的窗口。我们认为一个窗口的数据是最小的域单元。
- 细粒度特征更新:此步骤使用提出的伪域类别标签作为监督更新特征提取器。
- 潜在分布表征:旨在识别每个实例的域标签,以获取潜在分布信息。它最大化不同分布间的差距以扩大多样性。
- 域不变表示学习:此步骤利用上一步的伪域标签学习域不变表示,并训练一个可泛化的模型。
细粒度特征更新
在表征潜在分布之前,我们执行细粒度特征更新,以获得细粒度表示。如图3(蓝色)所示,我们提出了一个新概念,伪域类别标签,以充分利用域和类别中包含的知识,作为特征提取器的监督。特征在域和标签方面更加细粒度,而不仅仅是附加到域或标签。
在第一次迭代中,没有域标签 d ′ d' d′,我们简单地将所有样本初始化为 d ′ = 0 d' = 0 d′=0。我们将每个类别的每个域视为一个新类,标签为 s ∈ { 1 , 2 , … , S } s \in \{1, 2, \ldots, S\} s∈{ 1,2,…,S}。我们有 S = K × C S = K \times C S=K×C,其中 K K K是实验中可以调整的预定义潜在分布数量。我们执行伪域类别标签分配,以获得用于监督的离散值: s = d ′ × C + y s = d' \times C + y s=d′×C+y。
设 h f ( 2 ) , h b ( 2 ) , h c ( 2 ) h_f^{(2)}, h_b^{(2)}, h_c^{(2)} hf(2),hb(2),hc(2)分别为特征提取器、瓶颈和分类器(我们使用上标表示步骤编号)。然后,使用交叉熵损失 L \mathcal{L} L计算监督损失:
L s u p e r = E ( x , y ) ∼ P t r L ( h c ( 2 ) ( h b ( 2 ) ( h f ( 2 ) ( x ) ) ) , s ) L_{super} = \mathbb{E}_{(x, y) \sim P_{tr}} \mathcal{L}(h_c^{(2)}(h_b^{(2)}(h_f^{(2)}(x))), s) Lsuper=E(x,y)∼PtrL(hc(2)(hb(2)(hf(2)(x))),s)。
潜在分布表征
此步骤表征一个数据集中包含的潜在分布。如图3(绿色)所示,我们提出了一种改编的对抗训练方法,以分离域标签和类别标签。然而,没有提供实际的域标签,这阻碍了这种分离。受先前工作的启发,我们采用自监督伪标签策略获取域标签。
首先,我们使用类别无关特征获得每个域的质心:
μ ~ k = ∑ x i ∈ X t r δ k ( h c ( 3 ) ( h b ( 3 ) ( h f ( 3 ) ( x i ) ) ) ) h b ( 3 ) ( h f ( 3 ) ( x i ) ) ∑ x i ∈ X t r δ k ( h c ( 3 ) ( h b ( 3 ) ( h f ( 3 ) ( x i ) ) ) ) , \tilde{\mu}_k = \frac{\sum_{x_i \in X_{tr}} \delta_k(h_c^{(3)}(h_b^{(3)}(h_f^{(3)}(x_i))))h_b^{(3)}(h_f^{(3)}(x_i))}{\sum_{x_i \in X_{tr}} \delta_k(h_c^{(3)}(h_b^{(3)}(h_f^{(3)}(x_i))))}, μ~k=∑xi∈Xtr<