博主简介努力学习的22级计算机科学与技术本科生一枚博主主页Yaoyao2024往期回顾【AlphaFold3】网络架构篇7| 详解Diffusion training set-up每日一言:“正因为我有能力跨越 这个考验才会降临”1. 整体认知多个最新综述1,2一致指出 Test-Time Adaptation (TTA) / Test-Time Training (TTT) 是为了解决distribution shift分布偏移问题即训练数据分布 ≠ 测试数据分布 → 模型性能崩溃。核心思想传统的机器学习算法训练时在一批数据集上进行训练得到模型权重θ \thetaθ测试时模型权重不变在测试集上进行推理TTA/TTT测试时Test-Time继续“适应”模型模型权重根据新的测试数据θ \thetaθ改变 本质让模型在推理阶段具备“在线学习能力”以更好的在输入数据上进行推理统一框架来自多篇survey总结:TTA/TTT可以统一为θ ∗ arg min θ L t e s t ( θ ; x t e s t ) \theta^*\arg\min_\theta\mathcal{L}_{test}(\theta;x_{test})θ∗argθminLtest(θ;xtest)区别在于方法是否更新模型是否需要额外任务TTA✅❌ (通常无监督)TTT✅✅ (自监督任务)2. 起源2018–2020TTT的提出加州大学伯克利分校 发表在ICML的这篇文章 Sun, Y. et al. (2020). Test-Time Training with Self-Supervision. ICML. 是TTT的里程碑论文。它的核心思想是在测试的时候使用一个辅助loss这个辅助loss不涉及到label只和输入x xx有关一般是一个自监督任务也可以用到训练中对于测试数据进行测试时用这个任务loss更新模型。它提出来了一个颠覆性的观点❗ “模型可以在测试时继续训练”根据这篇 https://yueatsprograms.github.io/ttt/home.html 我们再来详细讲解一下核心思路1. Abstract在这篇论文中提出了测试时训练Test-Time Training这是一种通用的方法用于提高预测模型在训练数据和测试数据来自不同分布时的性能。将单个未标记的测试样本转化为一个自监督学习问题在做出预测之前更新模型参数。这种方法也自然地扩展到在线流数据 (online stream) 。方法在各种旨在评估对分布偏移鲁棒性的图像分类基准上取得了改进。2. Introduction如上图“Given model parametersθ \boldsymbol{\theta}θand a loss functionℓ \ellℓ, the standard test error is evaluated as the expected loss on a test distributionQ \text{Q}Q. Test-Time Training modifies the expected loss andallowsθ \boldsymbol{\theta}θto depend on the test inputx xx, without looking at the labely yy.标准机器学习对照组测试时误差 Standard test error E Q [ ℓ ( x , y ) ; θ ] \mathbb{E}_Q[\ell(x,y);\theta]EQ[ℓ(x,y);θ], 测试时模型权重θ \thetaθ是固定的不会被更新TTT的核心突破θ ( x ) arg min θ ℓ s ( x ; θ ) \theta(x)\arg\min_\theta\ell_s(x;\theta)θ(x)argminθℓs(x;θ) 然后y ^ f θ ( x ) ( x ) \hat{y}f_{\theta(x)}(x)y^fθ(x)(x)。 即在测时让模型权重根据输入的x xx进行更新更新完之后的模型权重再来预测。3. MethodStep 1️⃣构造“自监督任务” :在测试的时候自然是只有输入x xx拿不到labely yy的那如何构造损失函数来更新模型权重呢 这篇论文构造了个旋转预测(rotation prediction) (Gidaris et al. 20183)的自监督任务将输入的图像以90°为单位进行多次旋转然后让模型去预测4类旋转角度0°90°180°270°。模型的θ e \boldsymbol{\theta}_{\mathbf{e}}θe负责提取公共的特征θ s \boldsymbol{\theta}_{\mathbf{s}}θs是supervised head做角度预测θ m \boldsymbol{\theta}_{\mathbf{m}}θm负责主任务的类别识别。Step 2️⃣ 训练阶段公式联合训练,joint training在训练时在训练数据集的分布P PP上联合优化自监督任务损失ℓ s \ell_{s}ℓs以及主任务损失ℓ m \ell_{m}ℓm此时是可以访问到主任务的labely yy。Step 3️⃣ 测试时优化在测试时不能获取主任务的label 但是可以根据当前单个测试输入来自测试集分布Q QQ得到自监督损失ℓ s \ell_{s}ℓs 在输出主任务预测结果前模型会微调共享的权值θ e \theta_{e}θe得到θ e ∗ \theta_{e}^{*}θe∗ 最小化辅助损失的函数再做预测f θ ( x ) ( x ) f_{\theta(x)}(x)fθ(x)(x)。意味着每个测试样本都有“自己的模型参数”。Online TTT :标准的TTT就是每个测试样本都有自己的模型参数θ \thetaθ通过测试时微调模型权重θ 0 \theta_{0}θ0得到θ T \theta_{T}θT再预测一个case预测结束后模型参数复原为θ 0 \theta_{0}θ0。但如果测试的数据是流式那么模型权重在一个case更新完成后继续保持当前的模型权重θ t 1 θ t − η ∇ θ ℓ s ( x t ; θ t ) \theta_{t1}\theta_t-\eta\nabla_\theta\ell_s(x_t;\theta_t)θt1θt−η∇θℓs(xt;θt)。每个样本都更新模型模型不断适应环境 (在线学习)。4. Results在CIFAR-10-CHendrycks等人2019年上进行了实验这是一个标准的物体识别基准用于评估在15种类型损坏下的泛化能力。测试时训练TTT标准版本在不影响原始分布的情况下对两个基线进行了显著改进。在线版本改进得更多。5 Discussion“最终我们希望这篇论文能够鼓励研究人员放弃为测试而设定的固定决策边界甚至完全放弃训练和测试之间的人为划分。我们的工作只是迈向新范式的一小步在这个新范式中大部分学习发生在模型部署之后。”3. 发展阶段一2020–2022基础TTA方法这一阶段重点是❗ 不再依赖辅助任务 → 直接利用模型自己的预测信息1️⃣ Entropy Minimization4最经典 思想min θ H ( p θ ( y ∣ x ) ) \min_\theta H(p_\theta(y|x))θminH(pθ(y∣x))展开H ( p ) − ∑ c p θ ( y c ∣ x ) log p θ ( y c ∣ x ) H(p)-\sum_cp_\theta(yc|x)\log p_\theta(yc|x)H(p)−c∑pθ(yc∣x)logpθ(yc∣x)H代表的是entropy熵也就是不确定性这公式什么意思让概率分布变“尖”。eg❌不确定预测高entropy[ 0.33 , 0.33 , 0.34 ] [0.33,0.33,0.34][0.33,0.33,0.34]此时模型比较“犹豫”✅ 确定预测低entropy[ 0.01 , 0.98 , 0.01 ] [0.01,0.98,0.01][0.01,0.98,0.01]模型比较“自信”所以目标是min H ⇒ 让预测更自信 \min H\Rightarrow\text{让预测更自信}minH⇒让预测更自信这是最关键的 insight假设模型在新分布上仍然“基本正确”。那么正确类别本来就应该概率高所以“让它更自信”会更接近正确答案2️⃣ BatchNorm Adaptation最简单不优化loss只做μ t e s t , σ t e s t \mu_{test},\sigma_{test}μtest,σtest替换训练时的μ t r a i n , σ t r a i n \mu_{train},\sigma_{train}μtrain,σtrain。BN层做的是x ^ x − μ σ \hat{x}\frac{x-\mu}\sigmax^σx−μ方法本质不是更新模型权重而是对齐数据分布distribution alignment。3️⃣ Pseudo-label 伪标签方法核心公式y ^ arg max p θ ( y ∣ x ) \hat{y}\arg\max p_\theta(y|x)y^argmaxpθ(y∣x)然后min θ ℓ ( f θ ( x ) , y ^ ) \min_\theta\ell(f_\theta(x),\hat{y})θminℓ(fθ(x),y^)用模型自己的预测当标签再训练自举学习self-training。对比方法优化目标是否用标签风险TTT自监督loss❌设计难Tententropy❌过拟合错误Pseudo-labelCE loss❌伪标签错误放大BN Adapt无❌表达能力弱4. 发展阶段二2022–2025系统化与扩展1️⃣ 综合TTA综述 Liang, J. et al. (2025). A Comprehensive Survey on Test-Time Adaptation under Distribution Shifts. IJCV. 提出完整分类体系Source-free TTAOnline TTA (OTTA)Continual TTATest-time Prompting新趋势2️⃣ 在线TTA综述 Wang, Z. et al. (2025). In Search of Lost Online Test-Time Adaptation. IJCV. 重点讲了连续数据流适应streaming3️⃣ 新统一视角Xiao, Z. Snoek, C. (2024). Beyond Model Adaptation at Test Time.提出TTA不仅是“改模型”还包括数据适配、推理策略适配、memory机制Liang, J. et al. (2025). A Comprehensive Survey on Test-Time Adaptation under Distribution Shifts. IJCV. ↩︎Xiao, Z. Snoek, C. (2024). Beyond Model Adaptation at Test Time. ↩︎Unsupervised Representation Learning by Predicting Image Rotations ↩︎Wang, D. et al. (2021). Tent: Fully Test-Time Adaptation by Entropy Minimization. ICLR. ↩︎
【机器学习】Test-Time Training (TTT) / Test-Time Adaptation (TTA)介绍
博主简介努力学习的22级计算机科学与技术本科生一枚博主主页Yaoyao2024往期回顾【AlphaFold3】网络架构篇7| 详解Diffusion training set-up每日一言:“正因为我有能力跨越 这个考验才会降临”1. 整体认知多个最新综述1,2一致指出 Test-Time Adaptation (TTA) / Test-Time Training (TTT) 是为了解决distribution shift分布偏移问题即训练数据分布 ≠ 测试数据分布 → 模型性能崩溃。核心思想传统的机器学习算法训练时在一批数据集上进行训练得到模型权重θ \thetaθ测试时模型权重不变在测试集上进行推理TTA/TTT测试时Test-Time继续“适应”模型模型权重根据新的测试数据θ \thetaθ改变 本质让模型在推理阶段具备“在线学习能力”以更好的在输入数据上进行推理统一框架来自多篇survey总结:TTA/TTT可以统一为θ ∗ arg min θ L t e s t ( θ ; x t e s t ) \theta^*\arg\min_\theta\mathcal{L}_{test}(\theta;x_{test})θ∗argθminLtest(θ;xtest)区别在于方法是否更新模型是否需要额外任务TTA✅❌ (通常无监督)TTT✅✅ (自监督任务)2. 起源2018–2020TTT的提出加州大学伯克利分校 发表在ICML的这篇文章 Sun, Y. et al. (2020). Test-Time Training with Self-Supervision. ICML. 是TTT的里程碑论文。它的核心思想是在测试的时候使用一个辅助loss这个辅助loss不涉及到label只和输入x xx有关一般是一个自监督任务也可以用到训练中对于测试数据进行测试时用这个任务loss更新模型。它提出来了一个颠覆性的观点❗ “模型可以在测试时继续训练”根据这篇 https://yueatsprograms.github.io/ttt/home.html 我们再来详细讲解一下核心思路1. Abstract在这篇论文中提出了测试时训练Test-Time Training这是一种通用的方法用于提高预测模型在训练数据和测试数据来自不同分布时的性能。将单个未标记的测试样本转化为一个自监督学习问题在做出预测之前更新模型参数。这种方法也自然地扩展到在线流数据 (online stream) 。方法在各种旨在评估对分布偏移鲁棒性的图像分类基准上取得了改进。2. Introduction如上图“Given model parametersθ \boldsymbol{\theta}θand a loss functionℓ \ellℓ, the standard test error is evaluated as the expected loss on a test distributionQ \text{Q}Q. Test-Time Training modifies the expected loss andallowsθ \boldsymbol{\theta}θto depend on the test inputx xx, without looking at the labely yy.标准机器学习对照组测试时误差 Standard test error E Q [ ℓ ( x , y ) ; θ ] \mathbb{E}_Q[\ell(x,y);\theta]EQ[ℓ(x,y);θ], 测试时模型权重θ \thetaθ是固定的不会被更新TTT的核心突破θ ( x ) arg min θ ℓ s ( x ; θ ) \theta(x)\arg\min_\theta\ell_s(x;\theta)θ(x)argminθℓs(x;θ) 然后y ^ f θ ( x ) ( x ) \hat{y}f_{\theta(x)}(x)y^fθ(x)(x)。 即在测时让模型权重根据输入的x xx进行更新更新完之后的模型权重再来预测。3. MethodStep 1️⃣构造“自监督任务” :在测试的时候自然是只有输入x xx拿不到labely yy的那如何构造损失函数来更新模型权重呢 这篇论文构造了个旋转预测(rotation prediction) (Gidaris et al. 20183)的自监督任务将输入的图像以90°为单位进行多次旋转然后让模型去预测4类旋转角度0°90°180°270°。模型的θ e \boldsymbol{\theta}_{\mathbf{e}}θe负责提取公共的特征θ s \boldsymbol{\theta}_{\mathbf{s}}θs是supervised head做角度预测θ m \boldsymbol{\theta}_{\mathbf{m}}θm负责主任务的类别识别。Step 2️⃣ 训练阶段公式联合训练,joint training在训练时在训练数据集的分布P PP上联合优化自监督任务损失ℓ s \ell_{s}ℓs以及主任务损失ℓ m \ell_{m}ℓm此时是可以访问到主任务的labely yy。Step 3️⃣ 测试时优化在测试时不能获取主任务的label 但是可以根据当前单个测试输入来自测试集分布Q QQ得到自监督损失ℓ s \ell_{s}ℓs 在输出主任务预测结果前模型会微调共享的权值θ e \theta_{e}θe得到θ e ∗ \theta_{e}^{*}θe∗ 最小化辅助损失的函数再做预测f θ ( x ) ( x ) f_{\theta(x)}(x)fθ(x)(x)。意味着每个测试样本都有“自己的模型参数”。Online TTT :标准的TTT就是每个测试样本都有自己的模型参数θ \thetaθ通过测试时微调模型权重θ 0 \theta_{0}θ0得到θ T \theta_{T}θT再预测一个case预测结束后模型参数复原为θ 0 \theta_{0}θ0。但如果测试的数据是流式那么模型权重在一个case更新完成后继续保持当前的模型权重θ t 1 θ t − η ∇ θ ℓ s ( x t ; θ t ) \theta_{t1}\theta_t-\eta\nabla_\theta\ell_s(x_t;\theta_t)θt1θt−η∇θℓs(xt;θt)。每个样本都更新模型模型不断适应环境 (在线学习)。4. Results在CIFAR-10-CHendrycks等人2019年上进行了实验这是一个标准的物体识别基准用于评估在15种类型损坏下的泛化能力。测试时训练TTT标准版本在不影响原始分布的情况下对两个基线进行了显著改进。在线版本改进得更多。5 Discussion“最终我们希望这篇论文能够鼓励研究人员放弃为测试而设定的固定决策边界甚至完全放弃训练和测试之间的人为划分。我们的工作只是迈向新范式的一小步在这个新范式中大部分学习发生在模型部署之后。”3. 发展阶段一2020–2022基础TTA方法这一阶段重点是❗ 不再依赖辅助任务 → 直接利用模型自己的预测信息1️⃣ Entropy Minimization4最经典 思想min θ H ( p θ ( y ∣ x ) ) \min_\theta H(p_\theta(y|x))θminH(pθ(y∣x))展开H ( p ) − ∑ c p θ ( y c ∣ x ) log p θ ( y c ∣ x ) H(p)-\sum_cp_\theta(yc|x)\log p_\theta(yc|x)H(p)−c∑pθ(yc∣x)logpθ(yc∣x)H代表的是entropy熵也就是不确定性这公式什么意思让概率分布变“尖”。eg❌不确定预测高entropy[ 0.33 , 0.33 , 0.34 ] [0.33,0.33,0.34][0.33,0.33,0.34]此时模型比较“犹豫”✅ 确定预测低entropy[ 0.01 , 0.98 , 0.01 ] [0.01,0.98,0.01][0.01,0.98,0.01]模型比较“自信”所以目标是min H ⇒ 让预测更自信 \min H\Rightarrow\text{让预测更自信}minH⇒让预测更自信这是最关键的 insight假设模型在新分布上仍然“基本正确”。那么正确类别本来就应该概率高所以“让它更自信”会更接近正确答案2️⃣ BatchNorm Adaptation最简单不优化loss只做μ t e s t , σ t e s t \mu_{test},\sigma_{test}μtest,σtest替换训练时的μ t r a i n , σ t r a i n \mu_{train},\sigma_{train}μtrain,σtrain。BN层做的是x ^ x − μ σ \hat{x}\frac{x-\mu}\sigmax^σx−μ方法本质不是更新模型权重而是对齐数据分布distribution alignment。3️⃣ Pseudo-label 伪标签方法核心公式y ^ arg max p θ ( y ∣ x ) \hat{y}\arg\max p_\theta(y|x)y^argmaxpθ(y∣x)然后min θ ℓ ( f θ ( x ) , y ^ ) \min_\theta\ell(f_\theta(x),\hat{y})θminℓ(fθ(x),y^)用模型自己的预测当标签再训练自举学习self-training。对比方法优化目标是否用标签风险TTT自监督loss❌设计难Tententropy❌过拟合错误Pseudo-labelCE loss❌伪标签错误放大BN Adapt无❌表达能力弱4. 发展阶段二2022–2025系统化与扩展1️⃣ 综合TTA综述 Liang, J. et al. (2025). A Comprehensive Survey on Test-Time Adaptation under Distribution Shifts. IJCV. 提出完整分类体系Source-free TTAOnline TTA (OTTA)Continual TTATest-time Prompting新趋势2️⃣ 在线TTA综述 Wang, Z. et al. (2025). In Search of Lost Online Test-Time Adaptation. IJCV. 重点讲了连续数据流适应streaming3️⃣ 新统一视角Xiao, Z. Snoek, C. (2024). Beyond Model Adaptation at Test Time.提出TTA不仅是“改模型”还包括数据适配、推理策略适配、memory机制Liang, J. et al. (2025). A Comprehensive Survey on Test-Time Adaptation under Distribution Shifts. IJCV. ↩︎Xiao, Z. Snoek, C. (2024). Beyond Model Adaptation at Test Time. ↩︎Unsupervised Representation Learning by Predicting Image Rotations ↩︎Wang, D. et al. (2021). Tent: Fully Test-Time Adaptation by Entropy Minimization. ICLR. ↩︎