泡泡资讯网

转发,《how to be good at research/如何做好研究》没人

转发,《how to be good at research/如何做好研究》

没人真正教你如何做研究。你拿到一张桌子,一个别人选定的问题,以及一份模糊的指令,要求你做出一些新颖的东西。所以大多数人只能根据他们能看到的资料(比如论文、讨论串和公告)来逆向工程,最终学到的是如何看起来像个研究人员,而不是如何成为一名真正的研究人员。真正的研究技能是由许多小技能组成的,而几乎每一项技能都可以通过刻意训练来掌握。

自行选择问题

理查德·哈明在贝尔实验室有个习惯,让他午餐时很不受欢迎。他会问坐在他旁边的人,他们领域里最重要的问题是什么,然后问他们为什么不研究这些问题。结果,人们纷纷换桌。这个问题很伤人,因为我们大多数人都没有好的答案。我们不是在选择问题,而是在吸收问题,从导师那里,从某个大型实验室上个季度发布的研究成果里,从这周大家都在转发的论文里。

专注于某个问题的问题在于,你只掌握了结论,却忽略了背后的原因。你知道某个知名实验室关注某个研究方向,但你不知道他们为什么关注,不知道他们期望发现什么,也不知道什么会让他们放弃这个方向。当他们转向某个研究方向时,你一年后才会知道。而且,对于一个已经很热门的研究问题,你还要和上千个比你更早开始、拥有更强大计算能力的人竞争。

约翰·舒尔曼的机器学习研究指南将研究工作分为两种模式。一种是阅读文献,寻找可以改进的地方;另一种是选择一个你真正希望实现的目标,然后反向推导实验过程。他更倾向于第二种模式,其背后的原因在于它能激发原创性。一个你真正关心的目标会将你带入到任何综述论文都未曾涉及的领域。

与此同时,味觉却被当作一种天赋来讨论。它更像是肌肉。在进行任何实验之前,先预测结果。遮住论文的结果部分,仅凭方法就能猜出数据。记下本月发布的哪些内容两年后会很重要,然后检查你的命中率。预测加上修正,重复几百次,这就是所有优秀模型(包括你脑海中的模型)的训练方法。

升级您的输入

共享阅读清单会产生共享的观点。如果你的信息来源仅仅是 arXiv 上的热门页面加上群聊过滤掉的所有内容,那么你最终会和所有人同时得出相同的结论,这使得这些结论几乎毫无价值。

老旧资料的价格被严重低估了。这个领域一直在以滞后的方式重演过去:混合专家模型(Mixed of Experts)可以追溯到 1991 年,LSTM(大型终端模型)可以追溯到 1997 年,反向传播算法(Backprop)在 1986 年就已成为主流。里奇·萨顿(Rich Sutton)在 2019 年用大约一千字的篇幅写下了这番惨痛的教训,而它对该领域未来走向的预测却比篇幅是其十倍的综述文章还要准确。克劳德·香农(Claude Shannon)在 1952 年发表了一场关于创造性思维的演讲,他提出的第一步是将问题缩小到几乎微不足道的程度,攻克这个小问题,然后逐步重新引入难题。这一个技巧比任何现代的效率提升建议都更能助你突破重重障碍。

范围和深度同样重要。可解释性毫不掩饰地借鉴了神经科学。评估设计本质上就是穿着白大褂的机制设计。对 GPU 实际内存移动方式的理解,比基准测试更能预示哪些架构论文注定失败。而诚实的统计学或许是机器学习领域最稀缺的技能,因为很多已发表的严谨性研究都只是带有误差范围的主观臆断。

还有一点。请阅读论文原文,而不是讨论帖。附录才是关键所在,而局限性部分通常是整篇论文中最诚实的部分。

把所有事情都写下来。

保罗·格雷厄姆指出,一个想法可能在你试图用语言表达之前,都感觉已经完全成型。但当你真正动笔时,纸面上却会浮现出你脑海中那些被你掩盖的空白:你从未验证过的假设、实际上并未执行的步骤、以及两个暗藏矛盾的观点。

费曼的原则是,你首先要避免欺骗的人是你自己,因为你是最容易被欺骗的目标。写作是迄今为止最廉价的防御手段。达尔文更进一步,将其发展成一种程序。任何与他的理论相悖的事实都会被他当场记录下来,因为他发现自己的记忆会更快地抹去不利的证据,而不是有利的证据。你的记忆也会对你失败的尝试做同样的事情。所以,要做好记录:假设、设置、预期、结果、更新后的观点。重读上个月的记录会让你感到谦卑,这种感觉是任何审稿人都无法比拟的。

然后把其中一部分公开发表。奥拉和卡特的《研究债务》一文指出,未经消化的思想会扼杀各个领域的发展,而清晰的解释才是真正的贡献,而非仅仅是服务性的工作。如今,许多从事可解释性研究的人都是通过易读的文章而非会议论文进入这个领域的。公开发表的文章也是你所能拥有的最有力的证明,因为它真实地展现了你的思考方式,这是无法伪造的。

收紧环

关于亚历克·拉德福德的故事很少涉及灵光乍现,而是关乎数量。每天更多的尝试,每周摒弃的错误想法,以及比任何人都更快更新的现实模型。这才是真正的游戏规则。研究速度主要取决于你发现自己错误的速度。

这使得工具开发成为一项一流的研究活动。启动运行应该只需一条命令,绘制结果图也只需一条命令。每个实验都应该能够根据其配置复现,比较两次运行结果应该只需几秒钟,而不是耗费一下午的时间去挖掘。Karpathy 的神经网络训练方案中有一个步骤,其价值远超其成本:在进行大规模训练之前,先对单个批次进行过拟合。只需三十秒,就能消除一半的错误。尽可能地缩小规模,降低成本,确保结果正确,然后再投入计算资源。

摒弃工程技术是次要角色的观念。在前沿领域,这两项工作已经融合。能够构建测试框架、评估系统和数据管道的研究人员,其假设才能真正得到验证。其他人只能排队等待。

盯着输出结果

下降的损失曲线并非分析,而是一种安慰。你的实验产生的信息远比你实际吸收的要多:记录、失败案例、分布的异常尾部等等。其中大部分信息都无人问津地躺在日志文件夹里。

Karpathy 的方法从编写任何训练代码之前就开始了,需要花费数小时手动处理原始数据。大多数机器学习的 bug 都存在于数据中,而且它们悄无声息地失效。程序不会崩溃。你只会得到一个平庸的模型,以及一个关于其原因的错误理论。

吴恩达十多年来一直教授着同样的看似不起眼的方法,因为没有什么比这更有效:收集一百个失败案例,仔细阅读每一个,将它们分类整理,然后集中精力攻克最大的那一堆。这种方法适用于模型,也适用于评估,因为如果你从未阅读过某个基准测试的日志,那么你实际上并不理解它。一个真正异常行为的日志所蕴含的知识,远胜于精确度的提升。

故意闲逛

你的第一个子领域纯属偶然,所以就当它是偶然吧。在决定你的最终归宿之前,先花些时间真正钻研可解释性、评估、强化学习和系统。在这个领域里,总有那么一个角落,你的独特之处会成为一种不公平的优势,而找到它的唯一方法就是在多个领域都投入时间和精力。没人会免除你的这笔费用。

先运行每个想法的临时版本,让它们中的大多数夭折。反复调整基准线,直到精疲力竭,因为机器学习的坟场里满是因基准线调校不当而消失的成果,而审稿人恰恰是最不适合让你了解这一点的人。不断精简,直到找到真正起作用的组件。通常只有一个,而且通常不是标题中提到的那个。

广度也是一种保障。各个子领域都会饱和,通常在它们在推特上达到顶峰之后。那些能够持续创作,度过这些过渡期的人,正是那些已经熟悉邻近领域的人。

找到你的同伴

汉明注意到,最终完成重要工作的人员构成了一种模式。办公室门紧闭的同事每年完成的工作量更大,而办公室门敞开的同事则完成了真正重要的工作,因为被打断的工作往往能带来关于世界真正需要的信息。你敞开的办公室门很可能就是一个收件箱。保持这种状态吧。

在科研领域,慷慨的回报比任何其他因素都更加丰厚。重复实验结果并发表你的发现。发布你为自己开发的工具。用通俗易懂的语言解释一些复杂的问题。回报会在几个月后以意想不到的方式到来,比如合作机会、推荐信或你原本无法申请的职位。也要公开分享你尚未成型的想法,因为在时间节点上犯错远比在论文发表上犯错成本低得多。在你投入三个月之前就指出某个想法不好的合作者,其价值远胜于计算能力。这种关系无法用金钱买到,只能靠自己赢得。

长远之计

巴斯德说过,好运眷顾有准备的人,而汉明则以此为基础构建了一整套职业哲学:知识和生产力会像利息一样复利增长。每天的那些小细节单独来看似乎微不足道,比如你读什么书、记录什么、你的程序运行速度有多快、你和谁争论等等。但只要坚持几年,他们就能成就一番事业,从外人看来,这完全是运气使然。要比你想象的更早开始积累经验。未来的你早已明白,这才是最容易的部分。

科研