以直博为目标,应该怎样做科研(生物统计,计算生物)
个人背景
孔垂汉 22级 统计专业 道扬书院 去向:北卡教堂山 生物统计博士 其它offer: 约翰霍普金斯生物统计硕士(半奖),布朗大学生物统计硕士(小奖),密歇根安娜堡生物统计硕士
动机与目标层面
connection is all u need
什么是connection,用最直白的话来讲,就是对方学校审你材料的那个老师 满足以下三个条件中的一个:1. 熟悉你;2. 熟悉你的科研导师;3. 熟悉你的科研合作者。 首先不要怀疑 connection is all u need这个结论。我认识的朋友选择的直博offer多少都和connection沾边。 每年博士坑位并不多,要想完全凭硬实力申请难度很大。什么是硬实力,对于博士申请而言主要就两项 gpa 和 文章发表。已经有过靠硬实力冲锋北美吃瘪的案例。不要重蹈覆辙。 现在gpa inflation,我今年在gradcafe上看到一堆接近4.0的申请者,有的是陆本,有的是美本。所以想凭借GPA impress 别人基本不太行。 对于申请博士offer而言,科研经历带给我们的最大收益其实不是获得一些发表,而是得到一个可靠的connection.
how to build connection
我认为,构建自己的connection网络,关键不在于跟老师搞好关系什么的,关键在于两个字:坚持。导师给到你一个科研项目,其实他们大部分人最关心的是一个本科生是否能坚持做下去,拥有把项目完成的能力。你对某个问题是否足够有insights固然重要,但是如果你只是半途而废,做一半退出,那么你在科研上付出的努力往往无法转化成老师对你的欣赏。这一点不是我编造的,我有两个证据:
- 首先我跟我的科研导师,还有组里之前的博后,现在在武大和川大任教的交流得出,比起学生的天赋和才能,他们更关心学生是否能坚持做完整个项目,因为半途而废对老师而言相当于浪费了时间和经费,还有对你的培养。
- 其次是我之前举了四个直博同学的例子,包括我自己,都是在同一个领域做了1年或者超过一年。根据我的观察 1 年时间足够你跟一个科研导师构建一个牢固的connection,也足够你做出一些solid results,这样你的科研导师才会把ta的人脉资源拿出来给你 坚持1年这件事有点反直觉,你可能会想,我连自己对什么感兴趣都不知道,谈何对一个科研项目坚持1年呢?但是我想说的是,大家一开始其实都不知道自己想做什么,很多人也是瞎猫碰死耗子,包括我自己和上面提到t同学。其实很多我的科研兴趣是在做的过程中产生的。我觉得除了少数人,大部分人想要一开始就找到自己感兴趣的领域是不切实际的,也完全没必要对这个选择环节产生焦虑。为什么呢,想要真正了解一个领域在做什么,有哪些前沿问题,你不精读10篇文献是不可能理解的,然而不可能对每个topic都这样做,人的精力是有限的。所以我的建议是大家可以有一个草率的开始,就通过浏览教授的个人网站,还有各种科研项目的宣传信息,大概感觉一下自己是否感兴趣即可。然后随便选一个自己看着最顺眼的,直接开始做。大概坚持做1个月左右,观察一下自己的内心反馈,问一下自己,是否讨厌这个项目,请注意,关注是否讨厌,而不是是否喜欢。如果不讨厌就继续坚持做下去。更多的正向反馈是只有你做下去才能体会得到。
执行层面
甄别科研任务
首先,我们需要甄别什么样的科研任务是真正值得做的。科研打杂我是不建议大家去弄的。什么是打杂,比如搜集数据集,跑一个成熟的pipeline这些都算是科研打杂。做这种任务既不exciting也耗费时间,老师也不领情。成为了博士生的免费劳动力。如果老师给到我们一个打杂的活,那么我建议大家主动跟老师沟通,一定要拿到一个独立的科研项目或者你高度参与的科研项目。一般来说你们可以注意这些关键词:复现一篇文章的结果,这个方向你可以探索一下, 对这个问题你有哪些思考。一般来说,这个任务给到你之后会有3周左右的时间让你探索。如果一上来就有非常明确而且细节的任务给到你,你需要小心谨慎,未必是一件好事,有可能是科研打杂。
文献阅读
文献阅读是科研最最重要的一环!!!我上面说老师给你一个research topic之后会给你大约3周的时间探索,那么这三周你最需要做好的事情不是把代码跑通,不是冥思苦想一个巧妙的解法,而是全身心投入到文献阅读上。这一点真的非常关键。做好这一步你才能发现问题,产生想法。不然很容易变成无头苍蝇,疯狂焦虑做实验,胡乱尝试各种方法,祈祷实验结果能变好。我大二暑假在新国立暑研的时候就是这样,这件事给我长了教训。 你需要做好两件事情,一个是文献搜索,一个是文献精读。
文献搜索
传统模式:首先明确哪些期刊和会议在你的领域是reputation比较高的,然后找你这个问题相关的最新发表的论文,然后看这篇论文的introduction部分,把它里面引用的文章找出来,通常已经能覆盖大部分经典文章,还有一部分后来提出的新方法。通常找2-3篇最新发表的文章就基本能cover全了。然后你选出10篇跟你的问题最相关的文章,开始精度。这个方法适合导师给你一个比较明确的问题做的时候。 agent模式:我们后面读硕士或者博士也有可能遇到需要自己想research topic的情况,这时候论文搜索的范围过于广了,自己每天在google scholar上找很累。这时候我们可以用一个AI agent帮我们找论文。这个任务不是特别难,不需要claude code,只需要codex就能完美完成,也就是说你只需要有一个 gpt plus就可以,每天找文献的任务是用不完你每个月codex的token的,大家不用担心。大家可以指定一个research topic,让agent每天推荐并总结三篇文章,通过邮件的形式发给自己。
文献精读
阅读顺序
这个相对随意,我的建议是不用按照发表的年份来,最好是先读写得清晰易懂新手友好的文章,你的信心需要先建立起来,后面的阅读就水到渠成。
精度内容
这个要依据你的研究领域而定 做理论: 首先读文章的逻辑,它想解决什么问题,基于目前什么样的研究成果;其次是核心证明,还有一些构造的技巧。读的时候不需要完全掌握它所有的证明技巧。但是一定要特别清楚它每一步证明的目的。大部分的思考应该放在揣测作者的证明和构造的动机上。 做方法论和应用: 首先是问题背景:这篇文章讲了一个什么故事,为什么它想解决的问题很重要,为什么这个故事会火,为什么它吸引了审稿人 然后是模型框架:它用了什么框架范式?生成式的还是非生成式的?深度学习还是纯统计模型? 参数模型还是非参数模型?Bayesian框架还是frequentist框架? 然后是模型优化:它是如何优化参数的?随机梯度下降?EM?变分推断?这一块可以从计算的角度辅助你思考它模型框架的选择 还有很重要的一块是看它做了什么应用:这一块很重要,特别是现在 AI4science 的领域非常看重这一块。大家可以去看看一些 nature machine intelligence, nature methods, nature communications上的文章,它们跟计算机顶会的风格不一样,它们没有追求 “sota” 的风气,但是它们追求有趣的故事,也就是你这个模型能做什么有趣的应用,带来什么有趣的发现。找到有意思的应用场景其实是很难的,这一点也被大部分做计算的人忽略,这导致了他们没法发大文章。
Presentation
文献阅读之后,我推荐大家一定要做一个slides,比如每隔一段时间跟科研导师或者是组里的博士生汇报一下,做一个文献分享,类似一个小型的学术会议。如果你能把没看过这篇文章的人讲懂,那么你对文章的理解就到位了。而且,在这个过程中,博士生或者你的导师绝对会对其中的一些细节进行提问,这能够帮你发现你自己理解不到位或者忽视的细节。
心理健康
结合自己的体会,谈一谈如何在科研这场“长跑”中维持相对健康的心理状态和生活状态。科研过程中很多时候缺少即时正反馈,因此需要建立稳定的内在节奏、及时调整预期,并保留能够支撑自己长期坚持的兴趣和生活锚点。 我引用一位芝加哥大学的计算机教授的话:“读博没什么正反馈,重要的是自己能够认可自己”。科研也是如此。我希望大家不要把自己所有的成就感都寄托在科研成果上,也不要寄托在GPA上。因为一旦你在科研或者学习中遇到挫折(这几乎不可避免),你就会感觉痛苦郁闷难以承受,最终导致你无法继续。但是我觉得可能很多人,包括我自己都或多或少有这种毛病,我认为这是中学的应试教育培养出来的一种畸形的心态。 我觉得对待科研最好的心态就是把它当作一种日常,不是爱好。比如我认为你每天都要给自己规定一下花在科研上的时间,超过了时间任务没有完成也没关系,这时候不要焦虑,让自己休息一下,去健身,去听歌,去看b站,去散步。我之前自己踩过的坑就是一整天扑在科研上,然后实验结果不理想,转头一想自己一天啥也没干,作息也被破坏,就觉得很难受。我觉得避免这种问题出现的最好方式就是保持自己规律的生活,按时吃饭,按时运动,按时娱乐,按时睡觉。你要记住,实验结果不理想,科研没有进展是常态。一旦你的心理预期放低,有新的发现和突破的时候才能获得更大的成就感,失败了也没多难受。我不认为在科研上过于亢奋是一件好事,我觉得就平常心,接受失败和停滞不前,多思考。