一个idea通常为两种形式:
一般来说,想要完全无中生有,得到一个 0 to 1 的idea,比较困难,只有很少一部分人可以做到,而且即使做到一次,由于对人品的要求比较高,所以很难再次做到,就更别说是总结出一套的方法论了。
而对于 1 to 2 的idea,一般可以通过两种方式得到:
由此,应如何做其实就比较清楚了:
若想要改进一种方法,首先要实现这种方法;
若想要引进一种方法,首先要多读文献。
关于阅读文献及如何实现算法,可以参看我之前的一个回答:
直接复制过来。
--------------------------
广泛地阅读文献,可以是与专业相关的,也可以是与专业无关的,具体视自己情况而定(可参考二八定律)。
我们知道放射性思考是人类大脑的自然思考方式,每一种进入大脑的资料都可以成为一个思考中心,并由此中心向外发散出成千上万的关节点,每一个关节点代表与中心主题的一个连结,而每一个连结又可以成为另一个中心主题,再向外发散出成千上万的关节点,呈现出放射性立体结构(思维导图,知乎)。
现在专业划分的越来越细,学科门下设一级学科,一级学科下设二级学科……
但反过来看,各个专业就像思维导图中那成千上万的关节点,这些关节点都汇聚到一个中心主题(以下称思维导图原理)。
换句话说,各个专业之间都可以通过一个中心主题建立联系。
所以,看似与专业无关的内容,其实是有一定借鉴价值的。
融合最优化问题的思想,无限制输入可以避免局部最优。
一般的启发式算法、贪婪算法或局部算法都很容易产生局部最优,或者说根本无法查证产生的最优解是否是全局的,或者只是局部的。这是因为对于大型系统或复杂的问题,一般的算法都着眼于从局部展开求解,以减少计算量和算法复杂度(局部最优,百度百科)。
若想避免局部最优,一般有两种方法:
a. 随机搜索,对机理不明的问题,解的搜索越随机陷入局部最优的可能性就越小——无限制输入。
b. 深入研究问题的机理,对问题的机理研究的越透彻,就能更准确的找到全局最优,或划定全局最优可能的区域——见单点突破。
说是要无限制输入,但其实还是有限制的。
我们看到的,基本都是早已知道的,而对于不熟悉的、没有认知的东西,大脑是会直接忽略掉的。比如,朋友让你帮忙找东西,在他把这个东西的位置、具体形态特征描述给你之前,你基本“看不到”它;比如,在我开始用牙线棒以后,才经常在生活中(舍友的桌子上、路上、垃圾堆旁)看到它,而在这之前它从未出现在我的视野中,尽管就在身边。
如果大脑把看到的、听到的、闻到的、触到的所有信息都处理一遍,那很快就会因为信息量过大而死机。
融合语言学家Stephen D. Krashen博士第二语言习得的i+1假说。
i指学习者现有的水平,+1指在现有水平基础上增加一点点难度。
具体来说,就是选择的文献等级要略高于你目前的水平,这就是我在开头说的,没什么深度的“垃圾”文献。
如果一篇论文的等级是i或i-1,那你大致浏览一遍,就清楚它讲的是什么,知道怎么实现。
如果一篇论文的等级是i+10,可能文中的每个字都认识,但就是不知道他在说什么,看过一遍后再回头想,什么也没记住。其实主要是因为信息量过大,这也是为什么一本书看完很快变成过往云烟。
如果想要读懂一篇i+10的文章,需要查阅大量的等级为i+1的参考文献,一点点突破。
那不如直接从i+1入手。
值得一提的是,i是一个变量,你的水平是在慢慢提高的,而你选择的论文也要在你目前水平的基础上,再高一个等级。
用代码表示:
while problem unsolved
i=i+1;
end
作为一个马克思主义者,我们都知道,实践是认识的来源,是认识发展的根本动力,是检验认识正确与否的唯一标准。
而作为一个工科生,所做研究通常是以应用为导向的,对于一种方法,我们更关心它能不能实现,效果好不好。
为了避免眼高手低,忽视文献方法中的一些细节,需要对算法进行实现与验证。
目前论文数量快速增长,难免出现良莠不齐的现象,甚至有些还会对科研工作产生误导。如果把科研论文当做一种经验总结,或者一种信息,融合信息价值判断的思想,对于获取的信息,可以从准确性、权威性、时效性、适应性等方面,综合判断算法的实现价值。
a.准确性
指内容是不是真实有效的,通常可以从信息是否符合事物发展的一般规律,是否具有内在逻辑性,是否与其他信息矛盾或冲突等角度来考虑信息的准确性。
b.权威性
指内容是否具有令人信服的力量和威望,信息提供者的专业背景、资质、工作经验等均可作为衡量信息权威性的参考指标。
c.时效性
指信息在某段时间或某一时期是否有效,一般通过考察信息内容的发布是否及时、是否最新、是否客观和准确来加以判断。
d.适应性
指信息对于问题的解决是否有用以及作用大小,一般可以从信息是否能达到使用者对信息的要求和信息对于解决问题的作用大小这两方面来进行判断。
通过无限制广泛地阅读,由于思维导图原理,你会发现某种方法出现的频率很高,这些方法通常都是一些经典算法。
对于一种全新的算法,很难验证其准确性,即使它是由权威团队研究的。
对于一种经典的算法,它的流传时间久,引用次数多,说明它的准确性比较高;而引用次数的增加也会提高作者的权威性;一种方法存在的时间越久,那它将继续存在的可能性也越大(《反脆弱》,纳西姆·尼古拉斯·塔勒布)。
通过广泛阅读(粗读)找到具有实现价值的算法,再广泛阅读(精读)与该算法相关的文章,从而通过实践实现该算法。
同一种算法,由于数据不同,或者实现的思路不同,实现后,往往会遇到一些问题,再通过广泛粗读找到解决问题的办法……
经过一定次数的迭代,找到最优的解决方法。
以上。
对于题主这个问题,我们采访了三位来自微软亚洲研究院不同研究领域的研究员,希望前辈们的建议,能帮助你在科研道路上越走越远!
采访完整版请戳这里→《发顶会论文,怎么就那么难?》
在提到 idea 的来源时,三位研究员都不约而同地提到了读论文这个方法。想要输出好的内容,首先要有输入。微软亚洲研究院视觉计算组主管研究员杨蛟龙提到,关于 idea 最主要的渠道来源还是读论文,在读现有论文的过程中产生想法,比如发现现有某一个或一类方法的不足并思考解决方案、受某个现有技术的启发去解决另外一个新问题等。这也与自然语言计算组主管研究员张星星的观点不谋而合,张星星表示,一个好的 idea 是要解决前人没有解决的问题,或者改进之前方法当中的某些缺陷,这些都是一些比较好的出发点。
除此之外,良好的沟通也是必不可少的。在日常和同事、同学、导师的头脑风暴中,讨论需要关注的领域和问题,互相借鉴方法,更容易迸发出灵感的火花。在这里,机器学习组高级研究员陈薇鼓励研究者们在参加顶会或学术大会时,多去听一听自己感兴趣的 Workshop。往往这些 Workshop 中会有许多行业内前瞻性的探索,也会有很多活跃的业内人士,在这样的环境下,更容易产生好的 idea。
学科交叉迁移也是一个可以尝试的方法。作为数学背景出身的研究者,陈薇会把计算机领域的问题放在数学的知识框架下进行思考,从而探索新的问题或者解法。在计算机科学领域,也可以从最基本的概念和方法论去寻找灵感。
对于科研能力的培养,其实是包括很多方面的。从最开始的学会读论文,到开始写论文做演讲,当然还有编码能力、思维能力等等,要求是全方位的,一个合格的研究员不应该有短板。而在这其中,最重要的是逻辑思维能力和问题分析能力。分析问题的时候,如果遇到一个问题,要怎么解决这个问题?如果这个问题成功解决了,接下来又有什么问题?这种树状的逻辑思维能力和分析能力需要长时间打磨、培养,才能建立起来。有了问题分析和解决的能力,才能在问题中快速发现关键点,也能在问题中获得灵感。
在张星星看来,科研能力和研究品味是需要慢慢提高的。好的输出必须有好的输入做基础,一方面要读大量的论文积累,另一方面就是要多做实验,在实验中看到方法的缺陷和问题。除此之外,去参加顶会也很重要。在开会时,可以和领域内的“大佬”多交流沟通,了解他们的观点,向他们提问,从而进行思维碰撞,提高自身能力。
陈薇则提出,同学们在进行科研时,最重要的一个前提是已经完成了一套完整的科研训练。亲身体会过完整的科研流程、培养良好的研究习惯后,才会对自己的研究有合理的预期,循序渐进地追求想法和深度。
同时,科研中的心态十分重要。避免眼高手低,在科研开始阶段一昧追求做“大事”,也不要在已经完成科研训练之后低估自己,受限于舒适圈内而不敢大胆尝试。建议短期内在自己的兴趣、能力和工作的影响力三者之间做最优匹配,长期保持学习习惯、好奇心和挑战自我的勇气。
通过与研究员们的沟通,我们可以看到,科研是一个长期的过程,不仅需要技巧,更需要良好的心态。与其临渊羡鱼,不如退而结网,终有一天你也会成为别人眼中的“大佬”哦!
本账号为微软亚洲研究院的官方知乎账号。本账号立足于计算机领域,特别是人工智能相关的前沿研究,旨在为人工智能的相关研究提供范例,从专业的角度促进公众对人工智能的理解,并为研究人员提供讨论和参与的开放平台,从而共建计算机领域的未来。
微软亚洲研究院的每一位专家都是我们的智囊团,你在这个账号可以阅读到来自计算机科学领域各个不同方向的专家们的见解。请大家不要吝惜手里的“邀请”,让我们在分享中共同进步。
也欢迎大家关注我们的微博和微信 (ID:MSRAsia) 账号,了解更多我们的研究