【AI科研学习 00】从论文复现到 TTT:我的 AI 科研学习路线

📅 发布时间:2026/9/4 5:06:23
【AI科研学习 00】从论文复现到 TTT:我的 AI 科研学习路线
【AI科研学习 00】从论文复现到 TTT我的 AI 科研学习路线1. 为什么开始接触 AI 科研最开始接触科研时我对人工智能的理解更多来自课程和基础知识。真正开始参与科研项目之后我才逐渐发现论文中的一个模型真正落地到实验中并不是简单地把代码运行起来。需要经历论文阅读 ↓ 理解模型 ↓ 配置环境 ↓ 运行代码 ↓ 调试问题 ↓ 复现实验 ↓ 分析结果 ↓ 提出自己的问题这也是我开始记录 AI 科研学习过程的原因。相比单纯学习课程我更希望通过真实论文和项目逐渐建立自己的科研思维。2. 我目前的科研基础在之前的学习和科研过程中我主要接触的是深度学习和计算机视觉方向。学习和实践过PyTorchCNNTransformerVision TransformerViT计算机视觉语义分割Test-Time TrainingTTT同时也接触过 Linux 服务器、GPU/CUDA 环境以及深度学习项目的运行和调试。目前自己的科研学习方式大致是论文 ↓ 理解方法 ↓ 寻找官方代码 ↓ 配置实验环境 ↓ 运行官方代码 ↓ 分析实验结果 ↓ 修改代码 ↓ 尝试自己的想法3. 从论文复现开始在真正形成自己的研究想法之前我经历了一个比较重要的阶段论文复现。通过复现论文代码我开始逐渐理解一个完整科研项目是如何运行的。期间接触和尝试过一些与 Transformer、ViT、TTT 以及计算机视觉相关的项目例如ViT³U-TTTVGG-T³语义分割相关项目在这个过程中我遇到过很多实际问题Python 环境配置PyTorch 版本问题第三方库版本冲突CUDA 环境问题数据集准备模型权重加载Linux 服务器运行实验结果与论文不一致模型可视化与结果分析这些问题让我逐渐意识到科研不仅是理解论文更重要的是能够把论文真正转化成实验并从实验结果中发现问题。4. 从 Transformer、ViT 到 TTT随着学习的深入我逐渐把注意力集中到了 Transformer 和 ViT 相关方向。在继续学习的过程中我开始接触Test-Time TrainingTTTTTT 给我的一个重要启发是传统的机器学习模型通常在训练阶段学习参数然后在测试阶段直接使用已经训练好的模型。而 Test-Time Training 则尝试利用测试阶段的数据让模型进一步适应当前的数据分布。这让我开始思考一个问题如果模型能够在测试阶段继续学习那么它应该如何学习这个问题也逐渐成为我目前比较关注的方向。5. 对 TTT 的进一步学习在学习 TTT 的过程中我开始关注不同 TTT 方法的模型结构、训练方式以及测试阶段参数更新策略。我逐渐理解到训练阶段 ↓ 获得模型参数 ↓ 测试数据进入 ↓ Test-Time Training ↓ 模型参数发生更新 ↓ 适应当前测试数据这种方法能够提高模型对测试分布变化的适应能力但同时也带来了新的问题。例如如果测试阶段对模型参数进行更新那么应该更新哪些参数如果所有参数都进行更新可能会出现不必要的参数变化原有知识被破坏模型稳定性下降不同测试样本之间相互影响灾难性遗忘等问题这也让我开始从“如何复现论文”逐渐转向这个方法还有什么可以改进的地方6. 从复现到自己的科研思考在之前的学习过程中我逐渐形成了一个自己的初步想法。我的理解是TTT 如果每次都对整个模型进行参数更新可能会导致一些已经适应当前区域或特征的参数仍然被继续更新。例如一个测试样本中可能包含多个不同区域测试图像 ┌───────────────┐ │ 区域 A │ │ │ │ 区域 B │ │ │ └───────────────┘如果当前输入主要与某一部分参数相关那么是否有必要更新整个模型于是我开始思考能不能根据当前测试样本的特征找到真正与当前输入相关的参数只更新这些参数而不是更新整个模型进一步可以形成测试样本 ↓ 特征提取 ↓ 判断当前样本/区域相关参数 ↓ 选择性更新 ↓ 其他参数保持稳定这只是目前的初步想法还需要通过实验验证。但是对我来说这是一个比较重要的变化从“复现别人的方法”开始尝试“发现自己的问题”。7. 我的科研学习方式经过之前的项目实践我逐渐形成了一套自己的科研学习方式。第一步阅读论文首先了解为什么提出这个方法解决什么问题和以前的方法有什么区别核心创新是什么第二步阅读代码然后寻找论文对应的官方代码理解数据 ↓ 模型 ↓ 训练 ↓ 测试 ↓ 评价指标第三步跑通实验首先尽量复现作者提供的实验结果。如果结果存在差异就开始分析环境是否一致数据是否一致权重是否正确参数是否正确代码版本是否一致第四步分析结果不仅看最终指标还会观察LossAccuracy / mIoU 等指标可视化结果不同参数设置不同模型结构第五步提出问题最后再问这个方法还有什么不足我认为这一步才是从“学习论文”走向“科研”的开始。8. 后续科研方向目前我的科研学习会继续围绕Transformer ↓ ViT ↓ Test-Time Training ↓ 参数更新策略 ↓ 选择性/局部参数更新 ↓ 实验验证继续学习和研究。同时也会继续关注计算机视觉语义分割Test-Time AdaptationTest-Time TrainingTransformer / ViT模型参数更新模型稳定性目前最重要的事情不是急着给自己的想法下结论而是先把问题定义清楚再设计实验验证。9. 后续科研博客记录从这篇文章开始我准备把之前的科研经历逐渐整理出来同时记录现在正在进行的研究。后续主要分为几个系列【科研复盘】整理之前已经完成的科研项目和阶段性汇报。例如【科研复盘01】第一次接触深度学习科研项目 【科研复盘02】ViT³项目学习与复现 【科研复盘03】U-TTT项目学习与复现 【科研复盘04】VGG-T³项目学习与复现【论文阅读】记录自己对论文的理解。例如【论文阅读01】ViT³论文解读 【论文阅读02】TTT方法原理分析【代码复现】记录实际运行过程。例如【代码复现01】ViT³环境配置 【代码复现02】ViT³官方权重测试 【代码复现03】ADE20K语义分割实验【实验记录】记录自己的实验结果和问题。例如【实验记录01】论文结果与我的实验结果为什么不同 【实验记录02】不同参数对TTT测试结果的影响【科研思考】记录自己的研究想法。例如【科研思考01】TTT全局参数更新可能存在的问题 【科研思考02】能否只更新与当前样本相关的参数 【科研思考03】动态冻结与选择性参数更新的初步思考10. 写在最后回头看之前的科研经历我觉得自己还处于比较早期的阶段。目前更多是在学习论文 → 复现代码 → 分析实验 → 尝试提出问题距离真正独立完成一个成熟的科研工作还有很长的路。但我希望通过持续记录让自己的科研学习不再只是一个个零散的项目。而是形成一条清晰的路线接触科研 ↓ 论文阅读 ↓ 代码复现 ↓ 实验分析 ↓ 发现问题 ↓ 提出想法 ↓ 实验验证 ↓ 形成自己的研究方向这也是我建立这个科研博客的主要目的。记录每一次实验也记录每一次思考。希望以后回头看这些文章的时候能够看到自己从“学习别人的方法”逐渐走向“尝试解决自己的问题”的过程。