2022GAMES研究生学术成长论坛分享

长沙,2022.8.12

这次参加GAMES线下会议收获非常多,认识到了很多优秀的学长和老师,最大的感受是优秀的博士生背后的工作强度是非常大的,相比之下自己还有挺多努力的空间。我参加的是研究生学术成长论坛,所以主要以分享自己的经历为主,没有太多干货,下面是完整的讲稿。

各位老师同学大家好,今天非常荣幸能来参加这次的GAMES的线下论坛,感谢刘天添老师的邀请,我先做一个简单的自我介绍。

我叫阮良旺,是北京大学陈宝权老师的博士生,刚刚结束博士一年级,主要的研究方向是计算机图形学中的物理模拟。今天我想跟大家分享一下我的第一篇SIG背后的故事,然后稍微总结一下这个过程中我的体会分享给大家。

时间回到2019年暑假,那个时候我还是刚结束大二的本科生,因为上个学期上了陈老师的图形学课程,对物理模拟产生了浓厚的兴趣,于是就报名参加了陈老师实验室的暑研活动,这是我正式踏入科研的起点。

暑研开始,实验室里的王滨老师就把我拉进了一个刚开始的项目组里,里面还有达特茅斯学院的朱博老师,德州农工的Shinjiro Sueda老师,以及朱博老师刚招的博士生刘谨源学长,我当时就觉得非常激动和幸运,能在刚开始科研的时候就和这么多经验丰富的老师们合作。

项目开始的时候我们只有一个模糊的想法,老师们之前看过一篇nature的文章分析水黾在水面上运动的原理。它依靠的是表面张力才能漂浮在水面上,同时中间一对腿可以向后划从而向前走。老师们觉得这个现象很有意思,图形学里还没有人研究过,可以模拟试试。因为这个现象里同时有流体和固体参与,就安排更有经验的谨源学长去研究流体的部分,我先去写一个铰链刚体的模拟器来模拟水黾。

项目的初期非常顺利,暑研结束的时候我的2D版本的铰链刚体系统就能跑了。我们当时的想法是水黾的这个现象里有精细的表面张力波,可以用比网格精度更高的粒子追踪表面,加入到传统流固耦合的公式中。谨源学长大概花了一周时间就推出了我们第一个版本的公式。这个公式尽管跟我们最终版本的公式非常像,但是少考虑了很重要的几项,会导致simulation不work,但我们都觉得很有道理,于是准备开始做原型验证的demo,觉得说不定能赶上当年的SIG,后面发现是太天真了。

代码实现上的困难有点超过我们的预期。首先是流固强耦合实现起来并不简单,我们需要处理一堆由欧拉和拉格朗日两种表示方法导致的几何问题。同时在之前的公式中我们忽略了表面张力的重要性,如何把隐式的表面张力加入到耦合框架里并不直接。一堆不知道是代码bug还是算法bug的问题堆在一起,最终导致直到SIG ddl前我们还没有一个可以正常运行的demo。无奈之下我们只能放弃第一次投稿的机会,决定转头明年的Asia,我在离SIG ddl也就是大年三十还有一个星期的时候回了家。为什么我对那个时间点记得这么清楚呢,因为我回家的第二天武汉就封城了。

20年春节的疫情打乱了所有人的生活节奏,包括我们的项目。居家工作对我们的合作效率是一次严重的打击,没有近距离的计算资源,相互交流只能通过skype。这期间我们决定放弃粒子法,转而用更稳定的显式mesh来表示流体表面。我们花费大量时间在解决由mesh引入的流体表面与刚体的碰撞问题,但并没有在核心问题表面张力上有太多进展。同时合作开发代码管理上也出现了比较严重的问题,不出意外我们再一次错过了Asia的ddl。

错过两次ddl之后,我痛定思痛决定重构一遍现在的代码,同时重新整理一下算法中的问题。时间来到了20年9月,这时大家回到了学校,我们的项目也迎来了转机。我基本完成了代码的重构,同时按照最容易理解的方式修改了处理表面张力耦合的算法,最终在10月末我们成功完成了第一个概念验证的demo,敲定了算法流程。有了这个基础之后大家都有了信心,之后就是漫长的修bug做demo的过程。最终我们成功赶上了SIG 21的ddl,并且最后幸运地一次中了。这是我们论文里的一些结果,可以看到渲染之后效果还是非常不错的。流水账就到这里,可以说在这个项目里我们基本把能踩的坑都踩了一遍,最后形成的paper跟我们最开始的想象也是相去甚远。期间我的心态也是几度崩溃,究其原因还是因为一个项目困难在哪里是很难预料到的,如何解决这些困难,也就是整个项目的contribution同样是难以预测的。这种不确定性会给研究者的心态带来很大影响。但完成这个项目之后,我的体会在于,

虽然问题的出现和解决不能预料,但是科研的过程本身是有可控的节奏的,熟悉科研的节奏能够帮助我们用更长期的眼光对待手头的项目,从而更从容地推动项目进行,这就是我今天想跟大家分享的主要观点。

为了解释我所说的节奏的意思,我想引用一下CMU的图形学教授Keenan Crane在17年总结过这么一张图,叫The Emotional Rollercoaster of Research,研究过程中的情绪过山车,横轴是时间,纵轴是研究者的心情,上面是乐观,下面是消极,我觉得描述的跟我们的项目过程完全一致。

这个图描述了怎样一个过程呢?项目开始的时候我们满怀希望,有一些初步的想法。但是尝试几次之后发现根本不work,这个时候项目陷入瓶颈期,只能不断尝试,依靠坚强的毅力熬过去,直到发现有一个想法可以work,整个项目才能又看到希望。

高兴没多久,突然在犄角旮旯里发现类似的想法其实之前就有人试过了,然后心态崩溃。但是仔细研究之后发现还是有不一样的地方,开始准备写论文做demo。好不容易形成paper投出去了,还可能被reject,然后修改重投,直到最后中了。

经过这么折腾之后可能自己都不想看自己paper第二眼,被别人challenge多了之后自己可能都觉得自己的工作没什么意义。但是过了一段时间之后,跟别人交流多了,才会慢慢意识到自己工作的价值。我觉得大部分研究项目应该都可以套进这个模板里,中间的起起伏伏不是完全随机的,大致都遵循这么一个轨迹,这些起伏就是我理解的整个项目的“节奏”。在这个过程中,尽管状态起起伏伏,但是我们对于最开始研究问题的理解是不断加深的,而只有理解问题到一定深度,才能发现问题的关键并提出解决方案。

具体到日常的科研生活,同样存在日常的节奏。这里有一副我在网上看到的漫画,描述的一个博士在一周之内产出效率的变化,我觉得也非常能引起共鸣。

每周刚开始的时候,我们会幻想这周又能有什么新进展,然后开始工作,中间会被各种各样的原因打断,比如看比赛、刷知乎等等。

等到周三的时候发现周一定的目标还没什么进展,开始焦虑,emo,觉得自己是不是不适合做科研,甚至考虑quit PhD。然后在每周的项目会前疯狂补进度,基本上一周大部分的产出都在项目会之前,然后一周就这么过去了。这里我并不是想说一个优秀的PhD应该按照这个模板安排每周生活,这只是漫画的夸张,我只是想说当科研成为一种日常,每周的产出节奏和心情变化其实也是可以预测的,或者说可以自发根据每周的ddl进行调节的。到这里我希望大家理解我所说的研究的节奏是普遍存在的,那为什么我觉得这个东西对于研究很重要呢?

我觉得研究者本质上是一种创造新事物的工作,跟画家、作家没有什么本质区别。纵然创造离不开灵光一现,但这种时刻是不可预测的,所以我们需要有节律的日常生活为灵光一现创造土壤。推进一个项目就像长跑,我们不可能憋着一口气冲到底,像长跑一样合理分配自己的体力,调整自己的步伐和节奏才能坚持下去。而随着在一个项目投入的时间越来越多,发生灵光一现的概率就会越来越大。

我希望通过今天的分享能够提供给大家一些确定性来缓解未知的焦虑,但是正如今天所分享的,做项目大部分时间里还是非常折磨的,我自己也是一个刚入门的研究者,未来的学术生涯依然充满未知,所以最后我想用the PhD Grind里的最后一句话结束今天的分享,也是对我自己的鼓励。他说

Pursuing a Ph.D. has been one of the most fulfilling experiences of my life, and I feel extremely lucky to have been given the opportunity to be creative during this time.

谢谢大家。