Minimal Viable Product in Scientific Research

less than 1 minute read

Published:

本文是基于最小可行产品概念发散出的科研效率idea,简单来说就是:

- 把写论文作为研究最开始的步骤,围绕论文来组织日常科研,用TeX+Git来控制版本和协作(PhD论文可以从现在开始写了!)
- 把读文献变成coding练习,每次选取值得精读的文献,进行最小的实现。(把文献变成github repo!绝对值得付出时间,且会越来越快!)
- 尽量每次用一张图/Slide总结整理的文献、推过的理论、实现的代码、完成的工作。(应用场景会惊人地多,我总会点赞图片有趣的推特!)

以下为全文:

在自己较为短暂且坎坷的(前)科研生活中,我逐渐意识到最小可行产品这个概念的重要价值。

写论文

论文是科研的主要输出形式,之前撰写论文一般是在完成所有工作之后进行,而平时的思考和记录主要是以笔记、邮件、口头讨论的形式,等到要写的时候常常无法很好的串联起来,甚至常常会让思路变得混乱。如果在立项开题之初就能有一个简单的纲要,那么之后的工作(包括调研、笔记、代码、实验、讨论)都可以在此基础上更新。如果使用Tex来撰写论文,结合Git等版本控制工具,就能更好的追踪进展、整理思路。而论文的修改建议、合作都变得方便愉快。因此,即使你只是个本科生,已经可以开始写PhD论文大纲了!实际上,曾经听一位老师分享:“平时的Note要当作论文来写,这也是一种测量,idea在脑子里和写出来差别很大。”我想这点上是有共通之处的。写到这里,想起之前看过的笑话:实验室垃圾桶边贴着条子,上面写着:“Don’t throw your draft here, put them on Arxiv.”

朋友看到我写”PHD论文可以现在开始”,十分惊讶。我解释道:比如你做半导体方向研究,那你可以写个标题叫“半导体之研究”,然后列可能的大纲(理论、实验、模拟etc)。 “你这太宽泛了。” “你可以细化啊!” “这么早怎么定研究方向?” “不需要定,而是说把你未来会进行的文献阅读、笔记和思考都可以整理其中,随着你的学习和研究逐步迭代。当你毕业时,你可能已经写了一本专著了!毕业论文只是专著的简化版本罢了。”

PS:当然,这也要求做好文件管理,通过云端同步+Git还不够,异地备份也很重要。另外,论文的章节设计也需要考究一点,否则会出现过于臃肿的章节(但这正好给了重构思考框架的空间,所以不算太大的问题)。

读文献

阅读论文是科研的主要输入形式,在以计算为核心的科研中,由于许多研究类代码并没有很好的文档,自己阅读常常效率低,而如果想要重现论文的效果又有一定难度,毕竟并非所有的论文代码都能很好的运行且复现:(有时候在他人代码的基础上做研究如履薄冰,触发bug的概率很高。自己写一个minimal implementation,不仅会强迫你加深对论文细节的理解,还能很好的控制bug的产生。更重要的是,在此基础上可以experiment with 更多的idea,发现论文和代码诸多trick中necessary的部分(许多Dirty Work隐藏在代码甚至绘图的细节中)。在此之外,实现minimal implementation并将其开源也有助于其他人的学习,对自己的coding能力也是很好的练习。对焦虑着想要提升自己能力、经验和影响力的学生(比如我)来说,绝对是值得的。越早开始,你就会越发熟练,compond yourself!(可惜最近跟老师聊过之后我才意识到重要性,之前各种原因没有坚持做下去。)

做报告

报告是科研的主要交流形式,“如果要用一张Slide介绍,你会放什么内容”,这是导师在我第一次做pre时问的问题。后面在做事的过程中逐渐感觉到沟通和传播的重要性,相比于Over detailed的论文和复杂的解释,几张Visually Satisfying并且简明扼要的Slide绝对是更吸引人的。而这其实非常考验你对问题的理解,Less is more,我相信真正的好工作是不需要向别人说一大堆前置知识就能简明扼要说明其价值和逻辑的。“Every thing should be made as simple as possible, but not simpler.”

之前问师兄关于他正在做的工作主要的亮点在哪,师兄为了给我解释,科普了iPEPS,MPS,TensorNetwork,iTE,DMRG,Kitaev etc的许多概念和方法,其实工作的核心就是用AutoDiff替换了虚时演化,结果能算的更准、更物理)(当然,这并不意味着师兄做的工作不好,其实是他为了给我多分享一点相关知识)。

在读Understanding Molecular Simulation这本书的时候,学了很多估计自由能的方法,但公式都看了一遍,却没法贯通,只感觉不同的方法像孤岛各自独立。后来看DeepMind的一个相关报告,PPT上用简单的圆和箭头清晰地将诸多方法进行了分类,令我有醍醐灌顶之感。而这种图示,也轻松揭示了Generative Model与之的自然关联。最早调研Diffusion Model的时候,看到关于Generative Model的总结图示,也觉得做得很好。而长时间以来都是以引用他人居多,自己少有机会制作这样的图。 因此,在进行上面提到的写论文、写代码基础上,制作高质量的Slide也是一个日常可以开始的事。


其实还有一个重要的环节,就是听报告。由于其即时性,在现场不可能进行代码复现、论文撰写和迅速总结。如何抓住他人报告的核心,迅速的将自己的mind mapping或者图像和别人的术语同步,是个不容易的事。(这需要actively提问,迅速梳理等)导师的建议是,“成熟的科学家,几乎都有自己的体系”。我想,或许没有太多很好的方法,而是要先在平日有完善的体系(通过论文note,coding练习,反复总结)。

但我确实总结过一些报告提问技巧,不过就不在此偏题了,本文的核心还是MVP,在游戏玩家中,也叫Most Valuable Player,希望这些技巧有助于我自己和其他人成为MVP :)