考博不易,顺利且高效地读下来更不易。在这段求学生涯中,找到一条属于自己的高效进修之路显得尤为重要。
如何做呢?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) 中有一些很好的恳求。
链接 1:http://joschu.net/blog/opinionated-guide-ml-research.html
链接 2:https://michaelnielsen.org/blog/principles-of-effective-research/
原文链接:http://eugenevinitsky.github.io/posts/expectation_setting.html