考博不易,顺利且高效地读下来更不易。在这段求学生涯中,找到一条属于自己的高效学习之路显得尤为重要。
如何做呢?2023 年秋季将在纽约大学工学院(NYU Tandon)担任助理教授的 Eugene Vinitsky 畅想了他将如何为自己的博士生规划高效的学习之路。
本文虽然面向多智能体强化学习(MARL)领域的研究者,但除了一些期望获得的特殊技能,提到的这些做法基本是通用的。
来源:https://twitter.com/EugeneVinitsky/status/1579248319280254977
成功的研究生涯第一年或第二年是什么样的?这很难说。本文可以帮大家制定一个学习标准,这样你就不至于苛求自己,也不必为实现一些不切实际的期望而倍感压力。同时能意识到,学习这些内容确实需要付出相当的时间和精力,不要对自己太过放松。
如果你在努力达成这些目标,我们正好可以探讨一下,看看你理解掌握的程度如何,存在什么问题,以便找到帮助你的办法!作者希望这些期待对你有所助益,能帮你实现目标,而非给你带来压力。
第一年
一年级学生的主要任务是上课,可以设定以下基本目标。如果你能轻松达成甚至超越这些目标,你应该高兴自豪,但假如没能超出预期,也不要有太大压力。
时间规划
每周要有 15-20 小时用于研究。然而,你未必能一直保持紧张高效的学习状态,所以如果你多花费了一些时间,例如浏览代码库或者搞清楚如何在集群上运行代码,也不要苛责自己。这同样是一种收获!这是我们的内在期望。我并不是在给你上紧发条,而是希望你在研究生期间能学会自我激励、自主学习。
学习
学习以课业为主,但要明白,课业只能让你基本理解所学内容。开始对课程内容只是粗浅理解,但随着不断探索掌握其中要义,你会有更深刻明晰的见解,学会区分这两者很重要;知识的随需随查和内化可用,二者之间也有很大区别。就实际成果来说,我认为一年级结束时你如果能达到以下几点,就是很不错的状态:
- 充分熟悉你选择的机器学习库(最好是 PyTorch 或 JAX)。如果你熟悉如何编写 PyTorch 代码,其它的掌握起来也不难,这些库基本大同小异;
- 顺利适应与你研究相关的模拟环境;
- 熟练进行集群实验;
- 深入理解 Richard S. Sutton 和 Andrew G. Barto 的相关课题,前期学习优化课程和控制课程;
- 大量阅读我推荐阅读清单上的论文,它们可以说是根据你的兴趣定制的。
最后,找到你喜欢的系列研讨会并认真参加,会给你带来以下益处:
- 结识新朋友,了解他们的研究动向;
- 从对某个课题一无所知到对其结构有所了解直到完全掌握,这个过程会带给你极大的成就感。注意:如果像大多数人一样,你不清楚研讨会前几个月的内容(研讨会通常面向熟悉特定研究领域的学生,因而会跳过一些入门信息),也不必气馁。但如果你上了三个月左右的研讨会还一无所获,告诉我,我们一起分析原因是什么;
能从中获取一些研究信息,或许对你将来的研究方向有所启发。
论文发表
一年级学生需要写一篇论文,一起列出大纲共同构思设计;主题可能和你兴趣或实验研究内容相关。论文第一作者可能是其他人,你初步涉足,只是提供一些帮助。我很乐意带领你设计这篇论文,但更期待你的思路,希望你能通过自己的努力和洞察拿出令人满意的成果。
注意:研究生容易陷入一个误区,认为前期只要专注于自己的课业就行了,只有达到某种预期水平才能投身研究。但并非如此,研究本身就是一种技能,只有在实践中积极探索,才能不断提高。
奖学金
一年级应该可以申请两到三项奖学金,我们可以具体讨论申请哪些。拿到一项奖学金,你就可以相对自由地追求自己的兴趣,不必担忧资金状况。这些奖学金能让你的博士研究生生活更加轻松愉快。
研究笔记
要有一个全面细致的研究笔记,可以参考一下我在《实现高成效研究的个人准则》(Personal Rules of Productive Research )中的建议。建议不一定都对你有帮助,但我希望你试试看!我从心底认为不书写记录就无法深入思考;你也许不同意我的观点,但真的可以试一下。还望你们告知我哪些对你有所帮助,哪些可能没什么用。
链接:http://eugenevinitsky.github.io/posts/personal_rules_of_productive_research.html
会议
我们一般情况每周开会,忙的时候可能每两周开一次。同时我没法凭空知晓你的想法,那么我坐着和你一起阅读你的研究笔记也就不会特别高效。所以,如果你能针对研究做一个内容提要就很好,可以是会议前一天给我分享 LaTex 文档,也可以是一个非正式的演示文稿,谈谈你目前的研究进展。这样我们就可以逐步改进继而得出完善的研究概要。
第二年
问题清单
你可以规划一下,列出你愿意用两到三年时间着力解决的问题,而且要时常改进。
奖学金
如果你此时已经拿到奖学金,那就太棒了。如果没有,就再次申请!
学习
此时你应该对所选语言(可能是 Python)驾轻就熟了。如果同时在研究硬件方面的内容,那么也应熟悉 C++ 或其他能实时运行的软件。
你应该在具体的学科领域学习一些高级课程,巩固你可能缺漏的知识点。这个阶段我就不应该继续提一般性看法了,而要提供一些有针对性的具体建议。不过我们还应就此探讨一下!
论文
正常情况下我们在第一年就会完成一篇论文。所以在此阶段,你对项目可能会有很多想法,这时我们需要共同打造一个项目,融合你我兴趣,但以你为主。合理的预期是今后一年至少写一篇论文,或者根据你的具体情况完成两篇。
第三年
这一阶段就轮到你确定自己的研究方向了!目前你应该清楚接下来要专注于什么课题。你应该有完善的工具箱可以充分利用!此刻要确定研究方向的是你,而不是我。此时唯一的期望就是:
- 设定一个清晰的阶段目标,明确两三年内要解决什么问题。现阶段你对此应该已有深入思考,因为中途改变目标会很难办。但这种情况也不无可能,所以如果发现陷于困局或者你不愿意继续研究当前的问题或课题了,也不要过分紧张;如果你已经全面深入地考虑过此类情况,那就会好很多;
- 此时(或更早)是参与组织研讨会的大好时机,可以借此机会把自己介绍给所在领域的大咖和志同道合的同学等。这也是我在博士期间做的最有用的事情之一;
- 学习:这里可能又有一个误区,就是一心沉迷于论文写作,置学习于不顾,如果是这样,你将永远困于仅掌握的单一技能。《关于机器学习研究的个人指南》(An Opinionated Guide on ML Research) 和《高效研究原则》(Principles of Effective Research) 中有一些很好的建议。