不是正经经验贴。就是记录一些容易踩的坑、经常忘但很重要的小习惯。随手记,随时补。
读论文
一天一篇?别信。 一周认真读透一篇比一天翻十篇有用得多。读的时候问自己:他们解决了什么问题?方法为什么有效?我能复现吗?
三遍法足够。 第一遍 title + abstract + 扫一眼图,决定要不要读。第二遍正文过一遍,跟着推导思路走。第三遍对着 references 顺藤摸瓜。
读完记下来。 Zotero 里给条目加 Note 或者 Obsidian 里写一段。不记等于白读,三个月后你连这论文讲啥都忘了。
不要只读最新的。 经典论文(引用过千那种)读一篇抵十篇。它们定义了领域的问题框架。
做实验
每次跑实验前开个 log。 最简单的办法:项目目录下建 experiments.md,记日期、参数、结果、想到的改进。纸笔也行。过两周你回头看根本记不清 lr=3e-4 bs=32 warmup=500 那组为啥好。
一次只改一个变量。 调参时别同时改 lr 和 batch_size,你不知道谁起了作用。
随机种子固定。 torch.manual_seed(42) 就一行,不加的结果就是你再也复现不出那个 SOTA。
baseline 先跑通。 别上来就上你的花活。先把最简单的版本跑通(哪怕是个随机猜测),确认 pipeline 没 bug。
checkpoint 存勤点。 硬盘便宜,时间贵。每 epoch 存一个,文件名带 step 和 metric。
写代码
Notebook 是探索用的,不是交付用的。 写到差不多就抽成 .py 文件。Notebook 的 cell 执行顺序是个隐形炸弹。
Git 别只 master。 一条分支一个实验,坏了不要紧,删了重来。
依赖记下来。 pip freeze > requirements.txt 或者 conda env export > environment.yml。交给别人跑的时候,对方的环境跟你差十万八千里。
写文章
先有骨架再填肉。 别从 abstract 开始写。先列 section 标题和每段的 bullet point,整个故事立起来再说。
图先行。 审稿人第一眼看图。每个图配一句 take-home message(图中最重要的信息)。
Introduction 的逻辑链: 大背景 → 具体问题 → 前人怎么做的 → 有什么不足 → 我们怎么解决的 → 贡献是什么。照着这个模板填。
Related work 别写成流水账。 每个引用要说明跟你的关系——是启发?是 baseline?是你解决的痛点?
写完放两天再读。 刚写完觉得完美,放两天再看就发现一堆不通顺的地方。
LaTeX 的一个小技巧: 写长文用 \input{} 把每节拆成单独 .tex 文件。改一节不用编译全文。
做 PPT / 汇报
3 分钟定理: 听众的注意力最多撑三分钟。每个 slides 必须在 20 秒内被理解,否则就太复杂了。
讲故事,不是讲流水账。 motivation → problem → method → key insight → result → takeaway。每一步都要回答"为什么"。
图 » 字。 一页超过 50 个字就该拆。
提前讲一遍。 自己对着空气或抓个同学讲一遍,就知道哪里讲不清了。
日常习惯
备份。 代码用 GitHub,论文用 Zotero,笔记用 Obsidian,数据用坚果云/OneDrive 自动同步。丢一次数据就知道了。
记笔记。 每次 meeting 后花五分钟,记下讨论要点和 to-do。相信我,不记的话吃完饭你就忘了。
别比较。 同组的人发顶会了、隔壁师兄拿 offer 了,跟你没关系。科研是长跑,节奏不一样很正常。
问问题。 卡了两天还没解决的事情,直接问。被卡住的时间够你问三个人了。
休息。 身体疲劳的状态下做不出好的科研判断。累了就睡,醒了脑子清楚比多熬两小时有用。
工具清单
| 场景 | 推荐 |
|---|---|
| 文献管理 | Zotero |
| 笔记 | Obsidian / Notion |
| 画图 | draw.io / Figma |
| 写论文 | LaTeX (Overleaf 或本地) |
| 实验追踪 | MLflow / WandB / 朴素的 experiments.md |
| 时间管理 | 日历够了,别在工具上花太多时间 |
| 英文润色 | DeepL Write / ChatGPT |
| 画神经网络图 | draw.io / NN-SVG |
这页备忘录会一直更新。以后踩了新坑就补上来。

说些什么吧!