机器学习领域读博这段旅程的一些感悟
Posted 程序员遇见GitHub
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了机器学习领域读博这段旅程的一些感悟相关的知识,希望对你有一定的参考价值。
公众号关注 “ 程序员遇见GitHub ”
设为“星标”,重磅干货,第一时间送达
编译:ronghuaiyang
一位来自Cornell大学的博士给出了他6年博士旅程的一些个人的经验和建议:小步迭代、策略性阅读、主动、专注、坚持、记笔记、重视社区、拓展视野,无论是工程还是研究,都很有用。
2020年是非常具有挑战性的一年,就我个人而言,也是一个重要的里程碑 —— 从Cornell大学获得计算机科学博士学位。这是一个六年的旅程,我作为机器学习研究人员的个人成长,从第一次被拒稿到识别出一个更广泛的研究前景,也发生在整个领域的快速增长和变化的背景下。
随着今年即将结束,我总结了一些我的思考以及从我的(机器学习)博士经历中学到的教训。我讨论的主题包括对未来的期望,在读博士期间常见的挑战(以及一些帮助挑战的策略),跟上论文发布的步伐,研究的社区性质并发展处一个研究愿景。我希望这些主题对指导博士和机器学习的研究有帮助!
对读博士的期望
在这篇文章的标题中,我将博士学位称为一段“旅程”,这是一个经常被低估的方面,尤其是那些刚从本科毕业的人(这也是我的经历)。典型的机器学习博士是相对非结构化的5 - 6年的时间,在这期间,不仅可以学习到如何做研究该领域的知识,你还能够开发出个人对特定问题的偏好。
这些不断变化的个人偏好将影响你决定从事的研究类型,甚至你博士之后选择的职业道路。但尤其是在读博士的初期,很难预测这些个人观点将如何演变。
就我而言,开始读博士时,我完全假定自己会留在工业界,读了一段时间后,我开始认真考虑学术界的问题,最后做出了一个非常艰难的决定:拒绝学术界的邀请,继续留在工业界。
所以进入博士阶段,有助于一步一步向前走,并专注于获得的经验(学习/研究/社区参与),而不是一个非常具体的期望结果(这很容易变化,也会添加不必要的压力。)
这个旅途中的一些常见的挑战
攻读博士学位是一个非常有益的经历,尤其是在机器学习方面,它提供了一个为理解基础科学和有影响力的技术部署做出贡献的机会。我非常感谢我的博士学位给了我很多机会去体验这两种体验!然而,博士学位的持续时间和非结构化也会使其具有挑战性。我的旅程肯定是有起有落的,在不同的时候,我挣扎于感觉到孤立,完全被卡住,甚至试图跟上快速进展的步伐而不知所措。回顾过去,通过与同龄人的讨论,我现在知道,不幸的是,这些低谷可能是相当普遍的。但因为这些经历是很多人共有的,所以也可以有一些策略来克服它们。下面我将讨论其中的一些经验和策略。
感觉完全被卡住
一个很常见的挑战就是感觉完全被卡住了,不管是在某个特定项目上还是在整个研究过程中。
如果你面临的挑战是一个具体的项目,你已经付出了很大的努力,但它仍然没有发挥作用,那么一些策略可能会有所帮助:
-
写一篇文章:收集所有的部分实验结果,数学见解,草草记下的动机等,并花时间把这些都放到一起,组成一篇文章。这有助于让我们了解关于事物的现状和重要的差距。 -
关键点:如果项目的某个特定部分不可行,是否有可能重新定义问题(可能从相关工作中获得灵感),使其更容易处理? -
形成联系:当前项目所关注的内容与其他研究领域之间是否存在联系?在这个项目中可以探索这种联系吗?这既有助于项目的进展,也有助于使项目与更广泛的社区相关。 -
关于写作的反馈:从研究社区的同行、合作者和朋友那里获得关于项目写作的反馈可能也很有帮助。他们可能会提供新的观点或提出改进建议。 -
Workshop submission:提交Workshop也很有用。这也提供了一个帮助收集所有研究结果并获得有用反馈的机会。(一段时间以来,我从机器学习会议的研讨会中收获最多,因为我可以讨论/获得正在进行的方向的反馈,并与其他从事同一领域的研究人员会面。) -
结束并继续前进:有时候,可能会有一个项目在开始时听起来很有前途,但却很难付诸实施,并且在重构或形成与其他领域的联系方面也具有内在的挑战性。在这种(困难的)情况下,最明智的做法是迅速结束项目并继续前进。如果你得到的只是部分结果,那就很有可能创建一个最终记录并分享,所以一个选择就是这样做,得到合作者的确认和最终反馈,并将其作为arXiv预印本或研讨会论文保存下来。
如果这种被困住的感觉源于更广泛的研究过程,那么我意识到的一个重要问题是,研究的成熟度往往很难衡量,尤其是在评估自己的时候!在读博士期间,我开始研究一些医疗保健应用,在学习该领域/撰写论文方面进展缓慢。这让我有一种停滞不前的感觉,并对研究进展的放缓感到有些沮丧。但是当我重新阅读一些我在读博士时第一次接触到的论文时,我能对它们的理解的深度和背景与之前截然不同。
研究成熟度的关键方面 —— 理解结果的更广泛的背景,能够在不同领域之间形成联系,迅速缩小在你的子领域中的全新的关键贡献 —— 无法立即转化为有形的产出(更多的论文)。但它们对于成为一个拥有丰富研究视野的独立研究人员至关重要 —— 这可以说是博士学位的主要研究目标。如果你正在阅读论文,学习该领域的知识,并自己研究方向,(甚至可能是教学/指导)最有可能你在所有这些重要方面都取得了进展!
对跟上ML的进展感到不知所措
机器学习是一个充满活力、快节奏的领域。但另一方面,它会淹没在新论文、新预印本、新博客、新实现、新框架等的洪流中(有趣的统计:NeurIPS在过去的一年里有大约10000份提交和大约2k份被接受的论文 —— 难怪我们会感到不知所措!)
我处理这件事的策略是:
-
**有大量的链接可以找到相关论文的参考文献。**对我来说,这是一个arxiv stat.ML cs.LG mailing lists,arXiv-sanity,Twitter,的订阅,reddit/MachineLearning,paperswithcode以及Semantic Scholar/Google Scholar的订阅组合。 -
保存一个论文列表,如果我遇到了一篇有趣的论文却没有时间去读(经常是这样),我会记下它,然后试着回头看。 -
论文阅读策略,如果一篇论文非常接近我正在积极从事的研究方向,我会详细地阅读它,否则我会略读摘要以获得一个高层次的大概印象。 -
偶尔读一读不同的领域,偶尔(也许一年一次),我会研究一些我没有从事的有趣领域,并阅读几篇论文以了解该领域正在发生的事情。
记住以下几点也是有帮助的:(1)每个人都都对论文发表的速度感到不知所措,(2)许多论文可能依赖于相同的潜在观点,经常熟悉这个观点足以跟上这个领域。
感觉孤独
攻读博士学位的另一个常见挑战是与孤独感作斗争。在我读博士的头几年,一些项目要求我把注意力集中在非常狭窄、具体的问题上,这也是非常费力的,而且(感觉)是永无止境的。在那些时候,我很难不觉得自己与其他研究人员和更广泛的领域完全隔绝,我非常感谢我的博士导师的支持和指导,让我度过了这一难关。
更广泛地说,这种情况很常见,尤其是在攻读博士学位的早期阶段,你可能同时在学习如何从头到尾看待一个研究项目,同时与更广泛的研究领域/社区的背景和联系更少。与该领域/社区保持联系有助于确保你不会感到孤立。这可以包括:(i)与(高级)学生/博士后的合作,(ii)获得对你的工作进步的反馈 —— 这可能来自你的顾问/实验室,但也可能是来自其他同行/导师,(iii)积极参与更广泛的社区,无论是通过简单地参加会议,指导或组织研讨会。
3个有用的个人的小技能
在讨论了博士阶段所面临的一些共同挑战以及帮助解决这些挑战的方法之后,本文的其余部分将概述一些对研究进展有益的考虑因素。
特别是,我将从三个我认为在整个博士生涯中非常有帮助的个人技能开始:主动性,专注力和毅力。这当然是基于我的个人经验!但对我来说,本科生,博士项目的一个关键区别是是否需要采取行动 —— 这是否意味着阅读重要的相关论文,做快速初步的不同方法的可行性的研究,与同行做相关研究,甚至参加并积极参与会议。因为攻读博士学位的时间基本上都是非结构化的,所以是否富有成效很大程度上取决于你学习和进行研究的主动性。
另外两个我发现非常有用的技能是专注和毅力。在开始一个新的研究方向时,专注力非常有助于细读相关工作,提炼重点,从初步的探索中快速学习,确定主要的项目方向。另一方面,坚持不懈对于完成研究项目是非常有用的,(尤其是)在准备提交的论文中,经常有一长串的编辑/补充,在提交后,进一步编辑以回应同行评审和拒稿。要集中精力进行所有这些编辑是很难的(尤其是准备再次提交论文,还有更新、更有趣的项目正在进行时),但同行评审过程的可变性通常意味着值得坚持下去。
在论文和想法上做笔记
在我的PhD期间,有两个文档,一个是第一年开始的,一个是第三年开始的,我一直在更新。第一种是记录我读过的论文 —— 每当我读到一篇新论文时,我就把它添加到文档中,并附上我的简短总结。文件现在已经超过50页了(这可能意味着我应该切换到Mendeley或Paperpile),这是一种非常有用的方式,让我可以快速地翻回我几年前读过的文件并获取要点。另一份文件记录研究思路。每次我有了有希望的新想法,我就把它记下来。随着时间的推移,这有助于我的研究方向和突出关键主题。
社区的重要性
我花了很长时间才意识到(机器学习)研究的一个重要特性,那就是研究从根本上来说是一项社区努力。我们要解决的问题是非常困难的,而进步依赖于你借鉴别人的想法,别人借鉴你的想法的循环。在探索研究方向时,这是一个需要牢记的关键因素。社区对什么感到兴奋,为什么?有缺点或差距吗?接下来的研究是否有自然的步骤?
花时间与社区中的同行讨论这些问题和其他问题,对于开发见多识广、相关性强的研究问题是至关重要的。如果你发现了一个令人兴奋的、对该领域感兴趣的新研究方向,围绕这个方向建立一个社区通常是有用的 —— 这可以通过发起合作、传播关键的开放问题和组织研讨会来实现。
早在我读博士的时候,我就对理解现代深度学习系统展示的关键经验现象很感兴趣。但当时研究这个课题非常具有挑战性。该领域发展迅速,使任何类型的分析的焦点都成为一个移动的目标,并显著增加了围绕这个主题构建新社区的挑战。所以,发表我的第一篇深度学习分析论文相当困难,这绝对是一种坚持不懈的行为!但从那时起,见证这一令人兴奋的研究领域的发展并为其做出贡献是一件非常美妙的事情!
发展研究视野
虽然我前面所描述的,当开始读博士时,最好是把事情一步一个脚印的推进,注重体验,而不是一个具体的目标,从研究成熟的角度来看,博士要有一个明确的目标:让你的独立研究者,有丰富的研究的视野。
在目前的机器学习研究中,随着论文的泛滥,人们很容易对持续大量发论文需求感到压力。但是,虽然论文写作是一项重要的技能,我认为研究成熟度的关键测试是能够在你的领域有知识渊博的视角,这有助于识别关键的研究问题,并与总体主题 —— 研究愿景联系起来。
拥有一个完善的研究视野是非常有动力的。打个比方,这有点像完成一个“数码绘画”工具包:你不再只是看到每个正方形像素的颜色,而是突然去欣赏整个画面。
那么,如何发展研究视野呢?
首先,从我的博士生涯来看,我认为如果没有几年的研究经验,就很难形成一个成熟的研究愿景。我记得在我读博士的头几年,我读过一些论文,看过一些资深研究人员的演讲,我很沮丧,因为我几乎不能识别/阐明有趣的研究问题。在那之后的几年里,我读过的所有论文、做过的项目、参加过的研讨会的综合效应,极大地提高了我在这方面的能力。(当然还有改进的空间!展望未来,随着我获得更多的背景和对更大的子领域的理解,这种能力将继续发展。)
更具体地说一下形成(更完善的)研究视野的阶段:它始于探索,我最初的几个项目让我接触到各种各样的东西,帮助我理解我发现的本质上有趣的东西。从那以后,自然就有了后续的项目要研究,最终也引出了一些应用/部署方面的相关问题。所有这些都开始汇聚在机器学习设计和部署中的人工智能交互这一广泛主题下,而且,正如研究愿景擅长做的那样,也激发了新的问题。(我非常感谢我的博士导师,在这一切中给予我的深刻见解、指导和鼓励!)
最后一点,我想强调的是,多年的经验确实具有复合效应。当你在研究的项目上工作时,就更容易识别出研究论文的突出思想,这为你的下一个项目给出个人观点和前途相关的思考,并使得这些未来的项目更容易被吸收,然后再回过来帮助确定新的有趣的研究方向,并最终合并形成更广泛的视野。
总结
总之,读博是很有成就感的。然而,这是一段旅程,有起有落,有个人发现,有(研究)视角的演变。我非常感谢我博士期间的丰富经历,希望这篇文章能对其他人有所帮助!
英文原文:https://maithraraghu.com/blog/2020/Reflections_on_my_Machine_Learning_PhD_Journey/
推荐阅读:
以上是关于机器学习领域读博这段旅程的一些感悟的主要内容,如果未能解决你的问题,请参考以下文章