ESC
输入关键词搜索文章
目录

做研究的思路

我需要开始形成自己做研究的思路。这将会是一个长期的过程,我不可能一蹴而就,而要逐步改进自己的思路。因此这篇文章是一个打基础的作用。

研究是什么?

研究将人作为一个多阶段的预测/推理/生成的智能体/编解码器,首先,通过输入现实世界的现状,人总结出问题作为编解码器的条件,通过输入旧的论文,人总结得到潜在认知,而后通过人的方法论、观念、直觉,生成新的认知。而后人作为最高决策者,建立实现计划,调用自已、显卡、身边人以及一切客观条件,对自己的想法进行验证,而后与结果进行交互,在交互之后采取总结、调整、放弃等反应。

这个过程中有三次飞跃,第一次是从输入条件信息与论文输入,总结出自己的问题与想法(起始认知),第二次是从自己的想法到实现想法,第三次飞跃是从实践结果总结出新的认知。

如果想要提高自己的研究能力,这三次飞跃的质量都需要提高。

从输入认知

形成认知

认知有两个方向,方向一是从部分到整体,方向二是从整体到部分,两个方向我们都需要进行。在了解一个新领域的时候,最好读一读这个领域的综述,或者是最早的文章,从而建立对这个方法的大体的认知。我们需要在脑海中建模一下这个领域方法的整体架构。

这一步有其重要性,因为一个领域总有一些通识,在论文里面这些通识往往会被忽略,因为读者被认为已经知道了这些通识。因此,我们需要了解这些通识,这样,我们可能只需要看首图就知道论文在说什么了。但是此时,我们对这个领域的认知依然是模糊的。我们需要接着去读具体的论文,从而了解这个领域具体是如何进行的,这时我们对这个领域的整体理解也会进一步。

此外,输入条件的质量也需要提高、范围需要更广。例如,有些想法需要一些数学基础,还有一些想法依赖于对现实已经存在的事物的模仿。我们需要学会从这些特殊的信息源得到灵感。

输入信息

在读论文的时候,我们要同时把作者当成天才和傻逼。一方面要想:作者怎么这么牛逼,连这种想法都能想到,另一方面又要想:作者是傻逼吗?它论文里有那么明显的问题都发出来?换成更严肃的说法就是:既要发现闪光点,又要发现不足。需要显式地对论文的有效信息进行总结,以供后续使用。当然,对于新手而言,这不容易。

如果能对这个领域提出一个新问题,很多时候,我们就成功了一半。提出问题其实并不简单,我们需要系统性地对这个领域产生认知,才能意识到出现了什么问题、问题出现在哪。通过对问题进行全面的认知,很多时候我们自然而然地就会冒出解决问题的想法。

How to develop good research questions
图:好的研究问题不是一次想出来的,而是在自我批判、广泛阅读、提炼本质和最终收束之间反复形成的。

如何形成好的研究问题

这张图把“提出研究问题”拆成了一个更可操作的过程:先允许想法自由流动,再用文献和跨领域视角给它建立上下文,最后不断压缩成一个精确、可回答、足够新颖的问题。它和上面说的“从领域认知中自然冒出问题”是一致的,只是把这个过程说得更具体。

开始做具体的研究之前,必须先在头脑风暴阶段,用自己的语言,给自己提出一个明确且有价值的问题。这个问题不能只是“我想做某个方向”,也不能只是“我想复现某篇论文”,而应该能说清楚自己真正想弄明白什么、现有方法哪里还不够、为什么这个缺口值得被研究。而后可以与他人交流,确认别人也觉得这个问题有意思、有张力、有继续追下去的价值。

阶段要做什么对自己的提醒
Phase 1:自我批判式头脑风暴让想法自由流动,通过自我对话识别并处理弱点与断点。不要一开始就把问题收窄,也不要因为想法粗糙就立刻否定。
Phase 2:建立上下文和连接在目标文献内外都做深入、广泛阅读,寻找有前景的方法、创造性技术和新视角。不仅要读同方向论文,也要从相邻领域找类比和工具。
Phase 3:提炼本质批判性评估最相关的前人工作,把广泛阅读得到的视角压缩成候选问题。问题要从“我觉得有趣”变成“这里确实有未被解决的张力”。
Phase 4:形成最终问题确定一个有目标、精确、新颖的问题,并匹配最合适的回答方法。最后的问题应该能指导实验设计,而不是只停留在愿望层面。

暂时保留的两个开放问题

Open Question 01
如何头脑风暴?
Open Question 02
如何建立上下文与连接?
陷阱表现应对方式
“必须有 hypothesis”过早要求自己给出明确假设,反而压缩了探索性研究的空间。预测和期望是有用工具,但描述性、探索性研究也可能通向新洞见。
过度依恋原问题发现原问题不对时仍然不愿回退,陷入沉没成本。必要时回到早期阶段重新整理上下文,问题可以被修正。
“别人已经做过了”看到相似工作就慌张,以为自己的想法失效。重点找出前人工作和自己问题之间细小但关键的差别。
锤子和钉子陷阱因为自己熟悉某个工具,就把所有问题都硬套进这个工具。专业能力应该提供新视角,而不是限制问题和方法的范围。

有了问题以后,我们就需要针对问题提出想法。

做研究需要是“和尚打伞,无法无天”。也就是不要害怕提出任何想法,哪怕这个想法无法实现,或者这个想法很傻,或者很简单。很多出色的论文的特点就在于把一件复杂的事情解构得很简单。因为我们做科研往往处在人类认知的边界,因此很多我们从别的论文中得到的结论也并不一定正确,因此我们也不应该把看到的论文里一切猜想都当作真实。

有了想法以后,下一步是设计实验对自己的想法进行验证。验证自然会在原方法的基础上进行改进。我们需要遵循“最小修改原则”。如果可以做玩具实验,就做玩具实验。如果只需要对模型进行很小的修改就能验证自己的想法,那就做最小的修改。

在最小修改的基础上渐渐提出新的想法,进行下一步的实验。如果发现不对,及时进行版本回退,不要关心沉没成本。

与他人交流

我们自己一个人思考,往往容易陷入误区。我们需要经常总结、经常与他人交流,才能让自己的思想从一片模糊变得准确。这也是一种扩散的过程。

从认知到实践

工具的使用

现在 AI 的发展,让我们有了更多可以调用的外部条件,用于实现我们的想法。

由于研究的终极目标是提出能应用于实践的、有益的想法。我们必须要提高自己的流转率,也就是提出更多的想法、用更快的速度对自己的想法进行验证。

我们可能会想,现在很多公司依然要求我们的代码能力,因此我们强迫自己继续手写代码,从而提高自己的基础。但是这里有一个误区。制度建设是永远落后于现实变化的。因此,我们在实践上应该向着现实去靠拢,而不是向着制度去靠拢。我们完全可以在实践上使用 AI 辅助自己,另外再提高自己的代码能力。将“适应制度”与“适应现实条件”解耦,也许才是最佳的实践方式。

不过也不能本末倒置,“工欲善其事,必先利其器”是一方面,“兵贵神速”是另一方面,我们不能只在乎其中一方面,而应该在两者之间找到一个 tradeoff 的平衡点。

时间表

我们做实验需要有一个时间表,谋定而后动在任何领域都不过时。我们总会急不可耐地开始,但最后却卡在中间阶段。往往是越急,做起事情就越慢。

我现在想做一个使用矢量量化器来进行图像压缩的工作,那么我就需要有每一步的实验计划。我这段时间几个月都没有进展,其中一个很大的原因,就是我做起事来没有规划。一旦遇到了错误,就错得越来越大。

从实践到认知

在进行实践以后,需要再进行总结,从而得到新的认知,将新的认知,再利用于下一次实践。

理论与实践

我们需要在学理论与进行实践之间做一个权衡。两者都需要花时间,但我们的时间是有限的。我们即需要花时间去学习理论,也需要花时间去进行实践。

我们不能轻视理论,因为很多事情其实在理论上就可以证明不可行,而不需要进行实践;但是我们也不能轻视实践,我们要做的事情是发现新理论,那么就有可能出错,要证明自己的新理论,就必须要进行大量的实践。同时,也正是在大量的实践之中,我们总结出了新的理论。

理论很重要的一个部分是数学。

数学将我们所了解的过程抽象出最精华的部分,了解最精华的部分,有助于我们提出新的理论。