- 论文 - 《Optimization-Free Test-Time Adaptation for Cross-Person Activity Recognition》
- 代码 - Github
- 关键词 - ACM UbiComp2024、人体活动识别HAR、测试时自适应TTA、无优化、高效、边缘设备
摘要
- 研究问题:人体活动识别(HAR)模型在实际应用中常常因个体之间活动模式的分布变化而导致性能下降。测试时自适应(TTA)利用测试流在实时推理过程中调整预测结果,这一方法在HAR领域尚未被探索。并且,基于优化的TTA算法计算成本高,难以在资源受限的边缘设备上运行。
- 本文工作 - OFTTA
- 无优化的测试时自适应框架,面向基于传感器的HAR任务,以无优化的方式同时调整特征提取器和线性分类器。
- 对于特征提取器:作者提出了指数衰减测试时归一化(Exponential Decay Test-time Normalization, EDTN) ,用以替代传统的批归一化(CBN)层。EDTN结合了CBN和测试时批归一化(TBN),通过TBN的影响在深层网络中呈指数衰减,从而提取对域偏移具有鲁棒性的可靠特征。
- 对于分类器:通过计算特征与原型之间的距离来调整预测结果,其中原型由一个维护的支持集计算得出。此外,支持集的更新基于伪标签,而伪标签可以从EDTN提取的可靠特征中受益。
- 无优化的测试时自适应框架,面向基于传感器的HAR任务,以无优化的方式同时调整特征提取器和线性分类器。
1 引言
- HAR背景
- 基于传感器的HAR是普适计算和移动计算领域中一个活跃的研究方向。在医疗健康监测、智能家居、体育分析等领域得到了广泛应用。
- 由于个体间的差异性(如年龄、体型、行为习惯等)带来测试分布的不确定性和偏移,模型性能可能会下降。 如图1直观的展示使用t-SNE可视化了UniMiB数据集中的特征,每个受试者的特征用特定颜色表示,可以看出每个受试者的特征分布都不重叠。
- 验证分布变化的潜在风险。作者在图2中比较了两种数据集划分策略对分类准确率的影响,“shuffle”表示按照传统的7:3比例随机划分训练集和测试集;“leave-one-out”表示按人划分策略,可以明显看到分类性能显著下降。

- 为什么引入TTA到HAR?
- 排除其他方法
- 在实际应用中,收集所有个性化数据既耗时又不现实。
- 领域自适应DA,需要同时访问源域和目标域的数据,这可能引发隐私和安全问题。
- 领域泛化DG,虽然DG仅需要来自一个或多个域的数据,并期望模型能够泛化到未见过的域。然而研究表明,如果无法利用目标域,DG很难很好地泛化到未见过的分布。
- 选择TTA
- 与DG相比,TTA可以利用目标域的知识并在线调整模型;与DA相比,TTA不会在训练阶段引入个人活动信息,从而有助于保护隐私。
- 排除其他方法
- 引入TTA到HAR的挑战
- 计算开销:大多数HAR系统部署在计算资源有限的边缘设备上,梯度更新可能会带来更重的计算负担,并阻碍实时推理。
- 灾难性遗忘: 某些测试样本可能会引入噪声梯度,经过适应的模型可能会被干扰,并逐渐丧失对来自训练域样本的预测能力。
- 解决办法 - 无优化测试时自适应OFTTA
- 对于特征提取器 ,提出了 指数衰减测试时归一化(EDTN) 模块 ,以替换在源域预训练模型中的传统批归一化(CBN)层。图4展示了CBN、test-time BN和EDTN之间差异的可视化。TBN在分布变化下能更好地标准化浅层局部特征,而CBN在深层更为可靠。EDTN结合了CBN和TBN,在层次加深时使用更多的CBN而非TBN。这一策略使两者能够在权衡关系中协同工作,从而提取对抗分布变化的可靠特征。
- 对于线性分类器 ,基于伪原型简单调整预测结果。具体来说,利用一个支持集按类别存储特征。支持集通过伪标签和熵排序进行更新。原型由支持集中低熵特征的每个类别的质心调整得出。最终,根据特征与最近原型之间的距离获得调整后的预测结果。

TBN和CBN的不同
由于感受野的限制,测试时批归一化(TBN)在当前小批量数据上计算统计量并标准化浅层局部特征,这对外观风格敏感。相比之下,随着网络层次加深,CBN因为其特征是从全局尺度提取的,包括更多内容信息。
由于诸如活动类别等内容信息已经在源域上得到了充分监督和训练,这些参数对分布变化不敏感,因此可以在深层更多地使用CBN。
2 相关工作
2.1 HAR
- 早期HAR研究的传统机器学习和深度学习方法通常假设数据是独立同分布的。
- 最近,越来越多的研究关注于可泛化的HAR,致力于在分布漂移的情况下保持有竞争力的HAR性能 [27, 28, 35, 36]。
- 本文重点关注跨人活动识别。因为最近的研究 [27, 35] 表明,如果以个体为单位划分数据集,测试数据集上的性能会大幅下降。因此,跨人HAR是分布偏移的一种现实设置。
2.2 域自适应和域泛化
- 域自适应DA
- [18] 提出了HDCNN,通过自适应地调整来自不同分布的权重来解决域偏移问题;
- [6] 对齐了从源域和目标域提取的特征,以解决佩戴多样性问题。
- 局限:需要在训练阶段使用少量标注或未标注的目标域数据。
- 域泛化DG
- 在HAR的背景下,DG使模型能够在无需重新训练的情况下泛化到新用户或新传感器模态。
- [35] 首次在HAR中利用DG,通过变分自编码器(VAE)去除域特定表示;
- [27] 结合语义感知Mixup和大间隔损失,通过考虑活动语义范围并增强判别能力,防止因噪声虚拟标签导致的误分类,从而提升跨域HAR的泛化性能;
- [36] 提出了一个统一框架,同时学习域特定和域不变表示。
- 局限:如果模型无法利用目标域数据,则期望其在未见分布上表现良好可能是过于乐观的。
2.3 测试时自适应
- TTA设置
- TTA不改变训练阶段 + 在测试阶段无法访问训练数据 + 测试数据仅以顺序单次传递的方式进行适应。
- 相关工作
- TENT 通过最小化预测的熵来优化模型置信度,并在线更新每个批次的归一化统计量。
- T3A 通过计算伪原型表示来调整最后训练的线性分类器。
- COTTA为了解决非平稳自适应问题,使用加权平均的教师模型和增强平均的预测来改进TTA,从而提升伪标签的质量。此外,还提出了随机恢复机制以避免灾难性遗忘。
- EATA 排除高熵样本或过于相似的样本来减少优化缓存。
- SAR考虑野外环境,结合尖锐感知最小化(SAM)和可靠熵最小化,以更稳定地执行自适应。
- DELTA 针对TTA中的类别不平衡数据流问题,重新归一化BN统计量并惩罚主导类别的权重。
- MECTA为了实现高效的TTA,条件性地中止反向传播并剪枝模型。
- 本文首次探索了基于传感器的人类活动识别中的TTA。
3 OFTTA
3.1 问题定义
给定一组源域 \mathcal{D}^S = \{D^1, D^2, \dots, D^n\},每个域 D^i 包含一组实例 (x_s, y_s) \sim \mathcal{P}^i(x, y),其中 x_s \in \mathcal{X} \subset \mathbb{R}^d 表示 d 维传感器输入,y_s \in \mathcal{Y} = \{1, \dots, K\} 是对应于 K 个活动类别的标签,\mathcal{P}^i(x, y) 是域 D^i 的底层联合分布。在测试阶段,从一个未见过的目标域 D^T 中获取数据,该目标域具有不同的分布 \mathcal{P}^T。需要注意的是,\mathcal{P}^i(x, y) \neq \mathcal{P}^j(x, y), \forall i, j \in \{1, 2, ..., S, T\}。
作为一种现实的替代方案,采用TTA来缓解源域和目标域之间的域间隙。TTA关注的是协变量偏移问题,源域和目标域的数据都在相同的标签空间中。
定义 3.1(TTA for HAR)
给定一个预训练的HAR模型 \theta^0 和一系列无标签的小批量活动数据 \{x^{b_1}, x^{b_2}, \dots, x^{b_n}\} \in \mathcal{D}^T,TTA旨在通过顺序利用 \theta_0 来学习一个最优的活动识别模型 \theta^*:
其中 \mathcal{L}_{\text{TТА}}(\cdot) 是通用的TTA优化目标,使用调整后的模型 f_{\theta_t} 来修改预测 \hat{y}_t = f(x^{b_t}, \theta_t),同时存储从前遇到的小批量中学到的知识。
OFTTA框架
在本文中,我们提出了针对HAR的无优化测试时自适应(OFTTA)。OFTTA框架如图5所示。给定在线小批量传感器数据,数据经过特征提取器(如CNNs)处理后输出高维特征,其中传统的批归一化(CBN)被本文提出的指数衰减测试时归一化(EDTN) 所取代。首先通过之前的原型分类器获得伪标签。支持集根据伪标签更新,并通过熵排序进行过滤。调整后的原型通过支持集中的每类质心计算得出。最后,得到调整后的预测结果。

3.2 通过EDTN调整特征提取器
对于特征提取器,重点关注卷积神经网络(CNNs)中的BN层,该层通常用于提高性能和稳定性。具体来说,对于一个小批量特征 z \in \mathbb{R}^{B \times C \times H \times W},其中 B 是批量大小,C 是通道数,H 和 W 是特征输入的高度和宽度,计算其一阶和二阶统计量:
其中 \mu_c 和 \sigma_c^2 分别是输入特征第 c 个通道的均值和方差。标准化公式如下:
使用BN层可以使神经网络训练更快且更稳定。在独立同分布(i.i.d.)假设下,使用从源域估计的 \mu_s 和 \sigma_s^2 来标准化目标域数据。然而,当输入分布发生变化时,情况并非总是如此。如果目标域数据和源域数据来自不同的分布,估计的统计量 \mu_s 和 \sigma_s^2 可能不可靠,特征图也无法正确标准化。 为了解决测试阶段的分布偏移问题,一些流行的方法 [24, 40, 53] 将传统批归一化(CBN)的统计量 \mu_s, \sigma_s^2 与测试时批归一化(TBN)的统计量 \mu_t, \sigma_t^2 结合起来。重新估计的BN统计量如下:
其中 \alpha \in \mathbb{R}^C 是一个先验比例,用于统计权衡。EDTN的详细算法描述见算法1。

尽管之前的方法在TTA中取得了显著的性能,但仍存在一些问题:
- 超参数敏感性:在 [40, 53] 中,作者使用预定义的比例来混合统计量。然而,他们没有考虑层之间的内部关系,且当分布偏移不同时,最佳混合比例可能不同。在HAR场景中,根据个体间差异调整比例是困难的。
- 隐私问题:在TTN [24] 中,作者考虑在自适应之前添加一个后训练阶段。尽管作者以通道方式调整了模型,但在这一阶段使用了源域的数据和标签。由于HAR中的潜在隐私问题,我们无法访问源域中的数据。
- 计算成本:在混合归一化方法中,计算成本较高。
指数衰减测试时归一化(EDTN)
为了调整基于传感器的HAR问题中的混合比例,作者引入了一种特别直接的逐层策略,称为指数衰减测试时归一化。假设存在 n 个BN层,在第 i 层的先验比例为:
其中 \alpha(i) 是第 i 层中CBN和TBN之间的权衡比例,\lambda 表示衰减因子。换句话说,TBN在开始时占主导地位,随着层的加深,CBN逐渐占主导地位。
EDTN可以解决或缓解上述问题:
- 超参数敏感性:只需使用一个合理的 \lambda(例如,0、0.3、0.7等),即可提升自适应性能。
- 隐私问题:EDTN不需要从源域获取数据来设置先验比例。
- 计算成本:只需用我们的EDTN替换预训练的BN层,而无需额外的计算成本。
- 直接比较:图6中可视化了EDTN与其他混合策略之间的差异。

3.3 基于原型的分类器调整
基本思想:对于线性分类器,调整模型最后一层中的原型表示,这些表示由高维空间中每个类别的质心计算得出。在测试时,使用无标签的测试数据调整质心,并进行实时预测。
具体来说,受T3A 的启发维护一个支持集,以无优化的方式在线调整质心。首先,引入一些必要的定义。假设有一个预训练的模型 f,它使用特征提取器 h 和时间 t 上的新在线数据 x_t,将 h(x_t) \in \mathbb{R}^m 表示为模型倒数第二层提取的特征向量,该特征向量将 x_t 编码到特征空间中的维度 m。分类器中的一个权重矩阵 \mathbf{W} \in \mathbb{R}^{m \times K} 通过线性运算 f(x_t) = \mathbf{W}^\top x_t + b 将特征 h(x) 连接到输出 f(x),其中 K 是总类别数,b \in \mathbb{R}^K 是偏置向量。
由于适应过程开始时支持集为空,初始化支持集如下:
其中 w^k \in \mathbf{W} \subset \mathbb{R}^{m \times 1} 是属于第 k 类的分类器权重,\|\cdot\| 表示L2归一化。在时间 t,给定输入 x_t,我们首先获取特征 h(x_t) 及其对应的伪标签:
其中 f_k 是第 k 类的对数分数。支持集将根据以下方式更新:
可以使用质心 \mu_k 计算更新后的类别原型,其计算公式为:
最后,我们可以通过将特征分配给最近的原型来计算调整后的输出:
其中 d(\cdot) 是距离度量。本文中,我们使用余弦相似度作为距离度量 d(\cdot)。由于使用伪标签作为更新支持集的标准,不可避免地会有一些实例被分配错误的标签,从而阻碍模型获得更优的质心。为了避免这一问题,我们遵循标准策略,仅使用部分支持集并通过预测熵排序:
其中 \beta^k 是 S_t^k 中第 M 大的预测熵,H_{\mathbf{W}_t} 是参数为 \mathbf{W}_t 的分类器Softmax熵函数。整个过程如算法2所示。

3.4 讨论
- 为什么逐层衰减使用TBN?
- 这一策略可以从现代神经网络的表征结构中得到解释。
- 作者可视化了从浅层到深层的特征图差异,并在图8中绘制了中心核对齐(CKA)相似性得分。可以观察到,低层和高层之间存在显著的多样性,这意味着浅层和深层提取的特征可能截然不同。这可以归因于卷积核感受野的限制。在浅层中,卷积层只能从传感器数据中访问局部信息;随着层次加深,感受野逐渐扩展到整个传感器数据片段,卷积层能够访问全局信息。
- 在HAR中,个体的多样性使局部特征对域偏移更敏感,而全局特征往往敏感性较低。因此采用逐层衰减使用TBN,浅层更加关注TBN,深层更加关注CBN。
- 与基于原型的TTA方法的关系
- T3A和TAST都使用了支持集来记忆特征并构建原型,但是它们冻结了特征提取器,并且TAST在特征提取器之上添加了多个可训练的自适应模块,需要通过梯度下降训练自适应模块。
- 与其他无优化TTA方法的联系
- AdaNPC将线性分类器被简单地替换为一个K近邻分类器。在测试阶段,模型通过从记忆库中投票选出与输入最接近的 k 个样本来获得预测结果。
- 然而,AdaNPC需要记忆来自源域的特征和标签,而在实际下游任务中,获取源域数据通常是困难的。

4 实验
4.1 实验设置
- 数据集
- UCI-HAR:6中日常活动,使用嵌入智能手机的加速度计和陀螺仪数据。
- OPPORTUNITY:共72个传感器,10种模态,数据包括加速度计、陀螺仪、磁力计和惯性测量单元(IMU)数据,17种活动。
- UniMiB-SHAR:30名受试者,17种细粒度活动,用于人类活动识别和跌倒检测,9种日常生活活动(ADL)和8种跌倒类型。
- 数据集预处理
- 首先,为了将时间序列数据输入深度神经网络,首先使用标准滑动窗口技术对传感器数据进行分段。采用了先前的标准设置来预处理传感器数据,窗口大小基于数据集设置,并且相邻窗口之间有50%的重叠。
- 遵循标准策略构建跨人子集,每个域仅包含来自单个个体的数据:UCI-HAR选择前5名受试者数据,OPPORTUNITY选择仅有的4名,UniMiB-SHAR使用4名受试者数据。
- 模型架构
- 注意本文方法不依赖特定的网络架构。
- 具体来说,采用了一个3层CNN结构,其中包含Conv-BN-ReLU模块。
- 基线:经验风险最小化ERM、BN、T3A、TENT、PL伪标签、SHOT、SAR、TAST、TAST-BN。
- 超参数设置、训练和测试方法见论文。
4.2 实验结果
- leave-one-out adaptation留一个域/受试者作为测试域,其余作为训练域
- 表4报告评价准确率

- 持续测试时自适应,表6报告评价准确率

- 消融实验
- OFTTA由编码器调整EA和分类器调整CA两个模块组成,图10对两个模块进行消融实验。