{
 "nbformat": 4,
 "nbformat_minor": 5,
 "metadata": {
  "kernelspec": {
   "display_name": "Python 3",
   "language": "python",
   "name": "python3"
  },
  "language_info": {
   "name": "python"
  },
  "lecture_migration": {
   "project_id": "c0b185e7-d7e3-48b6-a605-8f1acdfe243c",
   "notebook_id": "ea2cb925a01d44768410847dc0f19e7a",
   "destination": "L2",
   "cloud_run": false
  },
  "title": "CLS 08 · 分布变化与适应"
 },
 "cells": [
  {
   "cell_type": "markdown",
   "metadata": {
    "deepnote": {
     "block_id": "2d9e31b33be7477d9651c4f60eaa8015",
     "type": "text-cell-h1",
     "source_block_id": null,
     "logical_key": null
    },
    "html_anchor": "cell-1"
   },
   "source": "CLS 08 · 分布变化与适应",
   "id": "2d9e31b33be7477d9651c4f60eaa8015"
  },
  {
   "cell_type": "markdown",
   "metadata": {
    "deepnote": {
     "block_id": "3219cf93505849559bf8b3ea50ff0f99",
     "type": "markdown",
     "source_block_id": null,
     "logical_key": null
    },
    "html_anchor": "cell-2"
   },
   "source": [
    "[返回第二讲 · 可靠性与适应参考](https://codingai-lec02.pages.dev/course/reference.html#reliability) · [网页阅读版](https://codingai-lec02.pages.dev/course/c09.html) · [第二讲导读](https://codingai-lec02.pages.dev/course/guide.html) · [问卷作业 ↗](https://tally.so/r/VLroVv)（右键在新标签页打开，保留当前材料）\n",
    "\n",
    "**没有目标标签时，更新会帮忙吗？** 这是独立选读材料，供对分布变化、校准和测试时适应感兴趣的同学继续；不属于第二讲默认课堂练习。\n",
    "\n",
    "若从视觉 TTT 页来到这里，请先分清：原始视觉 TTT 使用训练期已准备的辅助任务；本册 Tent 使用预测熵，更新选定的 BN affine 参数。它们不能共用一份实验结论。\n",
    "\n",
    "建议先读第 7–9 节：列出 Source／Norm／Tent 各允许改变什么，再看“熵变小”和“分类变好”为何是两个判断；随后在 [第二讲 LAB12 · Source、Norm 与 Tent](https://codingai-lec02.pages.dev/course/lab14.html) 用保存结果检查。想补概念时回看第 1–6 节；持续数据流见第 10 节。\n",
    "\n",
    "BN 的公式、同伴构造与参数／buffers 区别见 [CLS03 · 同一台 CNN](https://codingai-lec02.pages.dev/course/c03.html)。"
   ],
   "id": "3219cf93505849559bf8b3ea50ff0f99"
  },
  {
   "cell_type": "markdown",
   "metadata": {
    "deepnote": {
     "block_id": "c31e42b29bd44ffe8eda7709a5088122",
     "type": "text-cell-h2",
     "source_block_id": null,
     "logical_key": null
    },
    "html_anchor": "cell-3"
   },
   "source": "## 1. 先定义哪些变化应该保留答案",
   "id": "c31e42b29bd44ffe8eda7709a5088122"
  },
  {
   "cell_type": "markdown",
   "metadata": {
    "deepnote": {
     "block_id": "8e1225e2f98c4b9c813bb5cc968450bf",
     "type": "markdown",
     "source_block_id": null,
     "logical_key": null
    },
    "html_anchor": "cell-4"
   },
   "source": [
    "一张叶片变亮、背景换色，类别可能不变；若颜色正是病理线索，强烈改色又可能改变问题本身。鲁棒性不是要求模型对所有输入变化都无动于衷，而是在明确的任务语义下，对一组应保留答案的变化仍作正确判断。遇到任务外对象，还可能应拒识，而不是坚持从已有类别选一个。\n",
    "\n",
    "这条边界来自任务定义，不能由变换代码自动决定。测试时要保留原图、变换参数、处理后的图像及适用类别；没有运行模型，就让读者预测或观察图像，不为它填一组虚构的置信度。参考图解 [换环境的现象](https://codingai-lec02.pages.dev/course/reference/frontier-recognition-under-shift.html)。"
   ],
   "id": "8e1225e2f98c4b9c813bb5cc968450bf"
  },
  {
   "cell_type": "markdown",
   "metadata": {
    "deepnote": {
     "block_id": "a2ba090529ae472da15b46a9d5e99d7b",
     "type": "text-cell-h2",
     "source_block_id": null,
     "logical_key": null
    },
    "html_anchor": "cell-5"
   },
   "source": "## 2. 同样改像素，不一定是同一种研究问题",
   "id": "a2ba090529ae472da15b46a9d5e99d7b"
  },
  {
   "cell_type": "markdown",
   "metadata": {
    "deepnote": {
     "block_id": "9772506ab44344a0a922d3141c744193",
     "type": "markdown",
     "source_block_id": null,
     "logical_key": null
    },
    "html_anchor": "cell-6"
   },
   "source": "| 变化 | 谁选择变化？ | 评价前必须说明 |\n|---|---|---|\n| 常见 corruption | 预定变换族与强度 | 噪声／模糊等种类、severity、数据来源 |\n| 对抗扰动 | 为使模型失败而优化输入 | 范数、$\\epsilon$、攻击知识、步数、裁剪范围 |\n| 自然分布变化 | 拍摄与采样条件改变 | 场景、类别映射、样本筛选方式 |\n\nFGSM 是 2014 年预印本的前史；PGD 鲁棒训练把指定扰动集合写入目标。ImageNet-A 是自然困难样本，不是给每张图加一个合成像素攻击。可以研究这些条件间的迁移，但“在 corruption 上变好”并不等于“防住所有对抗攻击”。[FGSM](https://arxiv.org/abs/1412.6572)、[ImageNet-A](https://arxiv.org/abs/1907.07174)。",
   "id": "9772506ab44344a0a922d3141c744193"
  },
  {
   "cell_type": "markdown",
   "metadata": {
    "deepnote": {
     "block_id": "6cfe163e09c04efb8a59ee72281e8e15",
     "type": "text-cell-h2",
     "source_block_id": null,
     "logical_key": null
    },
    "html_anchor": "cell-7"
   },
   "source": "## 3. 改变测试集为何成为研究贡献？",
   "id": "6cfe163e09c04efb8a59ee72281e8e15"
  },
  {
   "cell_type": "markdown",
   "metadata": {
    "deepnote": {
     "block_id": "cdde499d7f4a489bb0455f322ec13346",
     "type": "markdown",
     "source_block_id": null,
     "logical_key": null
    },
    "html_anchor": "cell-8"
   },
   "source": "当更高的干净数据准确率无法回答环境变化下的表现，评价本身就需要扩展。ImageNet-C 对常见 corruption 与强度给出可重复条件；ImageNet-P 评价连续轻微扰动下预测变化。两者的正式联合论文为 ICLR 2019，arXiv:1903.12261 于 2019-03-28 提交。更早的 2018-07-04 版本标题是 Common Corruptions and Surface Variations，包含 ImageNet-C 与不同的 surface variation 研究；不能把 ImageNet-P 的完整联合基准回填到 2018。[2019正式版本](https://arxiv.org/abs/1903.12261)、[2018前身](https://arxiv.org/abs/1807.01697)。\n\nObjectNet 则通过拍摄角度、背景与旋转等条件检查识别器对常见图像收集偏差的依赖。[作者网站](https://objectnet.dev/)。类别映射、图像来源和评价条件不同，分数不能无条件横比。基准能使某些失败可重复，但任何有限基准都不是所有未来环境的代表。",
   "id": "cdde499d7f4a489bb0455f322ec13346"
  },
  {
   "cell_type": "markdown",
   "metadata": {
    "deepnote": {
     "block_id": "b5289c08ecd04c1185bbb590faf41701",
     "type": "text-cell-h2",
     "source_block_id": null,
     "logical_key": null
    },
    "html_anchor": "cell-9"
   },
   "source": "## 4. 模型依赖了形状，还是纹理？",
   "id": "b5289c08ecd04c1185bbb590faf41701"
  },
  {
   "cell_type": "markdown",
   "metadata": {
    "deepnote": {
     "block_id": "e8db2b213b7d4bce8442aece9d1318a9",
     "type": "markdown",
     "source_block_id": null,
     "logical_key": null
    },
    "html_anchor": "cell-10"
   },
   "source": "让形状与纹理指向不同类别，可以区分两种解释。Geirhos 等的 cue-conflict 研究不是只问“分类对不对”，而是统计选择形状类别还是纹理类别。原文 Sec.3.1 中，在相应条件下，人类观察者形状选择比例为 95.9%，ResNet-50 为 22.1%；后者纹理选择比例为 77.9%。这是论文报告的形状／纹理选择统计，不是通常的分类准确率，也不是课堂展示那一张图的实测预测。[原文与实验条件](https://arxiv.org/abs/1811.12231)。\n\n一张真实刺激适合先让读者预测，一组受控刺激统计才支持研究结论。不能把指定网络和训练条件下的纹理偏好泛化成“所有 CNN 只看纹理”。与遮挡实验一样，干预应同时有负对照：如果遮挡任何同等面积区域都造成损失，就不能把某一局部当作独有证据。",
   "id": "e8db2b213b7d4bce8442aece9d1318a9"
  },
  {
   "cell_type": "markdown",
   "metadata": {
    "deepnote": {
     "block_id": "1f16759550dc45fc97a8e12d151685ed",
     "type": "text-cell-h2",
     "source_block_id": null,
     "logical_key": null
    },
    "html_anchor": "cell-11"
   },
   "source": "## 5. 训练时怎样把威胁集合纳入目标？",
   "id": "1f16759550dc45fc97a8e12d151685ed"
  },
  {
   "cell_type": "markdown",
   "metadata": {
    "deepnote": {
     "block_id": "1a77eb7133a64c659ce9e543533b46c9",
     "type": "markdown",
     "source_block_id": null,
     "logical_key": null
    },
    "html_anchor": "cell-12"
   },
   "source": [
    "这里按“评价发现问题→训练时怎样回应”的问题顺序，回看较早的并行探索。Madry 等工作于 2017 年 6 月首次提交，正式发表于 ICLR 2018；它早于前面讨论的 ICLR 2019 corruption 基准，不能读成后者在历史上催生了前者。\n",
    "\n",
    "鲁棒优化先在参数固定时，寻找允许集合 $\\Delta$ 内使损失大的扰动；再在这些困难输入上更新参数降低损失：$\\min_\\theta\\mathbb E_{(x,y)}[\\max_{\\delta\\in\\Delta}\\ell(f_\\theta(x+\\delta),y)]$。内层改变输入，外层改变模型。类别标签仍由训练集提供；这是训练时回应，不是部署时无标签更新。[Madry等，ICLR 2018](https://arxiv.org/abs/1706.06083)。\n",
    "\n",
    "PGD 用多步梯度与投影近似内层搜索，投影保证扰动留在指定集合。一次有限攻击没找到失败点，不证明集合内没有失败；随机起点、攻击预算与模型随机性都影响结果。准确率与鲁棒性的取舍也必须落到特定理论或实验条件，不能写成不依任务的自然定律。[条件性取舍研究](https://arxiv.org/abs/1805.12152)。\n",
    "\n",
    "参考图解 [鲁棒优化的内外两层目标](https://codingai-lec02.pages.dev/course/reference/frontier-robust-optimization.html)。"
   ],
   "id": "1a77eb7133a64c659ce9e543533b46c9"
  },
  {
   "cell_type": "markdown",
   "metadata": {
    "deepnote": {
     "block_id": "dbcc6a9b595f4167be4e5eea5939947f",
     "type": "text-cell-h2",
     "source_block_id": null,
     "logical_key": null
    },
    "html_anchor": "cell-13"
   },
   "source": "## 6. 置信度、校准和拒识分别回答什么？",
   "id": "dbcc6a9b595f4167be4e5eea5939947f"
  },
  {
   "cell_type": "markdown",
   "metadata": {
    "deepnote": {
     "block_id": "b5019fe2a5d0496d99664c9fa04ede27",
     "type": "markdown",
     "source_block_id": null,
     "logical_key": null
    },
    "html_anchor": "cell-14"
   },
   "source": "准确率问最大分数对应的类别是否正确，校准问置信水平是否匹配经验正确率。ECE 把样本按置信度分箱再比较 bin 内平均置信度和准确率，因此分箱是指标的一部分。一个构造例：四个样本置信度为 0.9、0.9、0.6、0.6，前两个正确、后两个错误。分两箱时 ECE 为 $0.5\\times0.1+0.5\\times0.6=0.35$；全部放一箱时为 $|0.75-0.50|=0.25$。这是计算关系，不是实测模型排名。[校准研究](https://proceedings.mlr.press/v70/guo17a.html)。\n\n拒识还要决定在哪些输入上不回答，并报告拒绝多少与保留样本错多少。校准改善不自动附赠一个可用拒识器，Tent 也不自动提供它。若某个安全约束要求极少漏判，平均 ECE 不能替代该子群的风险评价。",
   "id": "b5019fe2a5d0496d99664c9fa04ede27"
  },
  {
   "cell_type": "markdown",
   "metadata": {
    "deepnote": {
     "block_id": "c6d28965ed384043a8e5ed5b1c35f92e",
     "type": "text-cell-h2",
     "source_block_id": null,
     "logical_key": null
    },
    "html_anchor": "cell-15"
   },
   "source": "## 7. 从同一源模型出发，区分三条测试路径",
   "id": "c6d28965ed384043a8e5ed5b1c35f92e"
  },
  {
   "cell_type": "markdown",
   "metadata": {
    "deepnote": {
     "block_id": "c953031239cd43efa604a68a726e0859",
     "type": "markdown",
     "source_block_id": null,
     "logical_key": null
    },
    "html_anchor": "cell-16"
   },
   "source": [
    "Tent 从分布变化提出另一问：已有模型拿到无标签测试图像后，能否用当前数据调整自身？它首次公开于 2020 年，正式发表于 ICLR 2021。这个设定只有模型与目标输入，没有源训练数据和目标标签。[Tent原文](https://arxiv.org/abs/2006.10726)。\n",
    "\n",
    "BN 的两步公式和 batch 同伴构造见 [CLS03 架构支撑](https://codingai-lec02.pages.dev/course/c03.html)。这里直接列出相同初始化下的三臂，分别决定统计来源与 affine 参数更新。\n",
    "\n",
    "| 同源初始化的比较臂 | 本次规范化用什么统计？ | $\\gamma,\\beta$ 怎样处理？ |\n",
    "|---|---|---|\n",
    "| Source | 固定的源 running mean／variance | 固定 |\n",
    "| Norm | 当前目标 batch 的统计 | 固定，无梯度更新 |\n",
    "| Tent | 当前目标 batch 的统计 | 按协议对所选 affine 参数作熵梯度更新 |\n",
    "\n",
    "**估计当前 batch 统计、累积 running buffers、梯度更新参数，是三个不同动作。** 默认 BN 的 running buffers 可以由滑动平均积累；本课 Norm／Tent 禁用这些累积 buffers，只使用当前 batch。Source 则保持源 buffers；三臂均从同一源 checkpoint 独立复制。框架中当前 batch 方差与存入 running variance 的估计约定也不同，不能仅凭一个 `train()` 就概括全部协议。\n",
    "\n",
    "[LAB 12](https://codingai-lec02.pages.dev/course/lab14.html) 已使用独立训练并保存的 `DigitsMultiExitBN-integration-20260918-lcde-r1`；它与 LAB 11 同源，并非无 BN 的旧 LAB02 CNN。模型身份、参数／buffer 审计与运行条件均保留在 Lab。参考图解 [BN 与 Source／Norm／Tent 三臂](https://codingai-lec02.pages.dev/course/reference/frontier-test-time-adaptation-protocol.html)。"
   ],
   "id": "c953031239cd43efa604a68a726e0859"
  },
  {
   "cell_type": "markdown",
   "metadata": {
    "deepnote": {
     "block_id": "53131b32ff3d4b30a7a5bf0fcaae98d3",
     "type": "text-cell-h2",
     "source_block_id": null,
     "logical_key": null
    },
    "html_anchor": "cell-17"
   },
   "source": "## 8. 没有答案，梯度从哪里来？",
   "id": "53131b32ff3d4b30a7a5bf0fcaae98d3"
  },
  {
   "cell_type": "markdown",
   "metadata": {
    "deepnote": {
     "block_id": "d661aeb9d8c643e990f9eaef61a1cdf4",
     "type": "markdown",
     "source_block_id": null,
     "logical_key": null
    },
    "html_anchor": "cell-18"
   },
   "source": [
    "![单步Tent先前向并记录本批预测，再用熵更新BN affine；持续模式把更新带到下一批，每批重置模式则丢弃更新。](https://codingai-lec02.pages.dev/course/visuals/deepnote-final/tent-prediction-timing.png)\n",
    "\n",
    "[查看矢量图](https://codingai-lec02.pages.dev/course/visuals/deepnote-final/tent-prediction-timing.svg)\n",
    "\n",
    "**先指认时点。** 图中哪一份 logits 已经记入本批评价？更新后的参数能影响本批已保存的答案，还是下一批？\n",
    "\n",
    "Tent 用预测分布的熵 $H(p)=-\\sum_c p_c\\log p_c$ 作为可计算目标，对一批图像取平均，只更新协议允许的 BN affine 参数。目标类别标签不进入更新，只在事后评价错误。\n",
    "\n",
    "本课对应的作者实现先得到 logits，再反传熵并执行 optimizer step，最后返回先前的 logits。因而**单步调用返回本批更新前预测**。若持续保存参数，本批更新可以影响下一批；若每批重置、每批只走一步且仍报告更新前预测，这份更新没有机会影响被报告的答案，episodic Tent 就会与 Norm 重合。额外做一次更新后前向会改变评价协议，也应计入成本。\n",
    "\n",
    "本实现中 BN 使用当前 batch 统计，`track_running_stats=False`，running mean／variance 置为 `None`；这与用滑动平均累积 running buffers 是不同动作。\n",
    "\n",
    "**改变一个条件。** 保持输入和初始参数，分别设想“保留上批参数”和“下批前重置”。你预期从哪一批开始可能出现预测差异？到 LAB12 第 3 节核对保存输出。\n",
    "\n",
    "[作者实现与固定版本](https://github.com/DequanWang/tent/blob/e9e926a668d85244c66a6d5c006efbd2b82e83e8/tent.py) · [参考图解：一次熵更新](https://codingai-lec02.pages.dev/course/reference/frontier-tent-update-step.html)"
   ],
   "id": "d661aeb9d8c643e990f9eaef61a1cdf4"
  },
  {
   "cell_type": "markdown",
   "metadata": {
    "deepnote": {
     "block_id": "fca61e30d28a45259437a323104f64c8",
     "type": "text-cell-h2",
     "source_block_id": null,
     "logical_key": null
    },
    "html_anchor": "cell-19"
   },
   "source": "## 9. 代理目标下降，真正目标可能没改善",
   "id": "fca61e30d28a45259437a323104f64c8"
  },
  {
   "cell_type": "markdown",
   "metadata": {
    "deepnote": {
     "block_id": "a631317350bc4e31ab6811893306456d",
     "type": "markdown",
     "source_block_id": null,
     "logical_key": null
    },
    "html_anchor": "cell-20"
   },
   "source": [
    "真实类别为 A，预测从 $(0.1,0.9)$ 变为 $(0.01,0.99)$。自然对数熵从约 0.3251 降至 0.0560，最大概率仍指向错误类别 B。这一精确反例说明“更自信”不逻辑蕴含“更正确”，没有声称已经运行 Tent 得到这条轨迹。若实际实验没有出现这种失败，也应保留真实结果。[查看数学反例](https://codingai-lec02.pages.dev/course/reference/frontier-entropy-wrong-confidence.html)。\n",
    "\n",
    "这个问题直接接回最初的监督损失：有标签训练用答案限定更新方向，无标签适应只能借助额外假设。评价时至少同时画熵和错误，并检查源模型是否真正冻结、参数改变是否限于宣称对象。只见 loss 下降不能把适应判为成功。\n",
    "\n",
    "**把反例带回已经保存的实验。** LAB 12 预设的是两类变化（contrast／noise）×两种顺序（shuffled／class-sorted），不是事后挑出一条最有利结果。四种条件下 Norm 与 continual Tent 的汇总准确率均相同；状态审计却确认 BN affine 已改变，熵也有小变化。对 noise，打乱顺序时准确率从 Source 的 80.83% 到 Norm／Tent 的 81.94%；按类别排列时则到 79.72%。先用 Source→Norm 检查统计作用，再用 Norm→Tent 检查额外梯度作用；相同准确率本身不能证明每张图的预测相同。完整四情景和 episodic 对照见 [LAB 12 保存结果](https://codingai-lec02.pages.dev/course/lab14.html)，参考结果图位于 [熵反例与实际观察](https://codingai-lec02.pages.dev/course/reference/frontier-entropy-wrong-confidence.html)。\n",
    "\n",
    "| 预设情景 | Source | Norm | Tent持续 | Tent每批重置 |\n",
    "|---|---:|---:|---:|---:|\n",
    "| contrast／打乱 |95.28%|97.50%|97.50%|97.50%|\n",
    "| contrast／类别分段 |95.28%|96.94%|96.94%|96.94%|\n",
    "| noise／打乱 |80.83%|81.94%|81.94%|81.94%|\n",
    "| noise／类别分段 |80.83%|79.72%|79.72%|79.72%|\n",
    "\n",
    "每情景360张，batch32、末批8，单步SGD学习率0.01，按更新前logits评价。类别分段是使用标签离线构造的压力测试顺序，标签不传入适应函数、不用于调参。此次重新对齐保存预测发现，四情景Norm与持续Tent的argmax差异均为0/360；但每情景有328/360张的logits变化。这个逐样本结论来自缓存核查，不能由相同准确率直接推出。动态前向选择计算路径，这里选择统计并更新参数；两者共享模型身份，却改变不同对象。"
   ],
   "id": "a631317350bc4e31ab6811893306456d"
  },
  {
   "cell_type": "markdown",
   "metadata": {
    "deepnote": {
     "block_id": "b214ef38473c4554a538edebcf6cac6d",
     "type": "text-cell-h2",
     "source_block_id": null,
     "logical_key": null
    },
    "html_anchor": "cell-21"
   },
   "source": "## 10. 从独立 batch 到持续数据流，新风险在哪里？",
   "id": "b214ef38473c4554a538edebcf6cac6d"
  },
  {
   "cell_type": "markdown",
   "metadata": {
    "deepnote": {
     "block_id": "1f085b4eefd549d0a6bb07080fd23513",
     "type": "markdown",
     "source_block_id": null,
     "logical_key": null
    },
    "html_anchor": "cell-22"
   },
   "source": "episodic 每个约定单元重置；continual 让更新跨单元保留。晴天→雨天→晴天中，后一个晴天可能继承雨天的状态。batch 大小、类别是否成段、样本顺序、优化器状态是否重置都会改变实验。类别排序可用于离线压力测试，但排序所用标签不能传给在线更新策略，也不能使用未来样本调当前决策。\n\nCoTTA 关注持续变化中的错误累积与遗忘；EATA 将样本选择、效率与遗忘问题引入适应；SAR 针对更困难的在线条件研究稳定性。这些方法不是三个无条件更好的版本号。[CoTTA](https://arxiv.org/abs/2203.13591)、[EATA](https://proceedings.mlr.press/v162/niu22a.html)、[SAR](https://arxiv.org/abs/2302.12400)。在本讲 LAB 12 中，先改变一种流条件，记录模型状态、错误、熵与开销；接受“不更新更好”的结果。",
   "id": "1f085b4eefd549d0a6bb07080fd23513"
  },
  {
   "cell_type": "markdown",
   "metadata": {
    "deepnote": {
     "block_id": "2ea36de304a44a5fb548c517093d066a",
     "type": "text-cell-h2",
     "source_block_id": null,
     "logical_key": null
    },
    "html_anchor": "cell-23"
   },
   "source": "## 11. 到 2026，应该相信哪一部分更新信号？",
   "id": "2ea36de304a44a5fb548c517093d066a"
  },
  {
   "cell_type": "markdown",
   "metadata": {
    "deepnote": {
     "block_id": "7ffac99b8dcd4d8c8b0a82c45e4043ed",
     "type": "markdown",
     "source_block_id": null,
     "logical_key": null
    },
    "html_anchor": "cell-24"
   },
   "source": "UnMix-TNS（ICLR 2024）让时序统计与样本混合问题继续可见；COME（ICLR 2025）追问过度自信；BITTA（ICLR 2026）在视觉语言分类适应中指出，固定比例低熵筛选可能保留自信错误，并研究如何利用不同信息的样本。它们承担不同问题，不能堆成一张未经匹配协议的 SOTA 榜。[UnMix-TNS](https://proceedings.iclr.cc/paper_files/paper/2024/hash/de08b3ee7c0043a76ee4a44fe68e90bc-Abstract-Conference.html)、[COME](https://proceedings.iclr.cc/paper_files/paper/2025/file/2ea18fdc667e0ef2ad82b2b4d65147ad-Paper-Conference.pdf)、[BITTA正式论文](https://proceedings.iclr.cc/paper_files/paper/2026/hash/6454dcd80b5373daaa97e53ce32c78a1-Abstract-Conference.html)。\n\n一个可开始的研究问题是：在相同输入流和延迟预算下，小模型适应是否胜过较大固定模型？竞争解释包括统计匹配、参数更新以及额外计算本身。对照中保留 source、norm、Tent，分别报告延迟与失败群；超参数在独立开发设置确定。若效果只在最终评价标签挑出的最佳学习率上出现，应撤回“无需目标标签即可可靠改善”的结论。\n\n动态前向改变本次计算，TTA 改变参数或统计，拒识改变回答策略；是否保留跨样本状态还取决于协议。这一整套适应参考供研究选读；第二讲收尾另外区分固定图、部署选网、稀疏路由、共享循环与原始视觉 TTT，不把它们称为同一个算法。",
   "id": "7ffac99b8dcd4d8c8b0a82c45e4043ed"
  }
 ]
}