Idea选择
在科研的道路中。一个科研课题的起始往往是出于一个idea的选择。而如何找到合适的idea,并且对此进行拓展,产生一片文章,便是每一个科研工作者的第一要务。在人工智能的科研领域中,绝大多数的文章着重于解决某一领域中的某一任务,而具体来说,这些文章则是提出了一种前人没有提出的方法,并且在这一任务的数据集中取得了更加优胜的性能。
一般来说,现在的人工智能领域在某种层面上可以说是苛刻的,这一点对于下游任务来说尤甚。一篇可以在顶刊或者顶会中发表的文章,不仅要具备一定的创新性(novelty),同时还需要达到最先进的性能(SOTA),这两点往往缺一不可,这使得一些可能基于远古方法而提出的极具创造性的idea或许难以被接收,因为即使基于远古方法提出的改进确实取得了巨大的进步,但是依然缺少大量的现代总结的提升性能的手段,这导致现如今的研究的性能均是”站在巨人的肩膀上“的研究,而单一的创新往往难以带来超越。
出于以上的考量,往往在idea的选择上时,大多数的工作会选择在近期的最新工作的基础之上进行改进,这种改进应该尽可能是替换性质的,也就是对于原有工作的一些结构或者方法进行替换,改为自己的方法,并达成更高的性能,这确实可以证明你的组件可以带来更好的优胜性,而同时并没有降低算法的优雅程度。
在另一方面,添加性工作的认可程度则不会过高,也就是在原有工作的基础之上添加了一些结构或者方法。这是显而易见的,没有免费的午餐定律告诉我们,当你在原有的工作的基础上增加的运算的复杂度,获得性能的提升是理所应当的,而对于部分审稿人来说,他们并不认可过于“工程”的工作,因此在对于这一类的工作中往往会质疑创新型。
通常来说,浑然天成的idea是十分少见的,这些idea可能已经属于一种全新的范式(如GAN),大多数的时候,idea的提出则是针对性的解决某一问题(强如ResNet在某种程度上来说也可以说是针对梯度问题而专门设计的),因此,一种考虑并且得到idea的方式也就不言而喻了。
首先,了解当前的任务,清楚这种任务面临的问题,已经当前的SOTA papers针对这些问题做了什么处理,这一部分可以通过大量的论文阅读来满足。其次,这些论文是否有一些部分做的不是很好,例如虽然性能提升了,但是仅仅解决了一部分的问题,或者说使用的范式过于的简单粗暴,有很多的因素没有考虑进去。然后,思考如何解决这些问题,假如说妙手偶得之,可以想到,自然是最好的,或者相似的领域中是否存在相似的问题,是否有人提出了合适的方法解决了这些问题,这也是可供参考的。最后,这种方法能否被融入在已有的SOTA范式中,这种融入可以是一些替换或者一些添加,而其余部分则保留SOTA范式本身的设定。
在此基础上,可以优先进行实验,看看自己的idea是否soild,能否带来性能的提升,假如说确实work了,那么接下来可以考虑直接包装一个故事或者再进行充分的打磨,如之前SOTA范式中的其他设定是否也可以进行替换,在故事性上得到更完整的描述。