构造科研创新点的方式
本文最后更新于:2023年4月9日 上午
2022-06-25
找他人论文中忽略的信息:
最近,XXX 在 YYY 很流行,XXX 的优点。然鹅,这些方法在 AAA 时(后)往往会忽略 BBB 的信息。BBB 怎么样,很重要。本文提出了一种新颖的基于 CCC 的 MMM 模型,通过 DDD 来 提高 YYY 的性能。
来源
作者:电光幻影炼金术
链接:https://www.zhihu.com/question/534444001/answer/2512264697
直接上干货。在阅读了100+顶会论文以后,我总结出了以下构造创新点的方式:
1、化繁为简法:发现过去的文章过于复杂,或者模块过于多,用一个简单本质的办法把过去很难做成的事情做成。
2、包容并蓄法:把多个文章的优点通过某种方式巧妙地结合起来,互相弥补不足。
3、推广应用法:把已有的发现做新场景的应用推广,做的更大更强更好。
4、弥补不足法:通过对已有的不足场景进行归纳梳理,定义新的问题,提出新的方法加以解决。
5、天马行空法:构造一个新的任务或者模式,并且通过对比找到解决这一问题的最优方案。
6、解释演绎法:通过对已有方法的深入分析,演绎出新的结论。然后通过实际场景验证结论是否成立,并且提出新的方法。
7、考古翻新法:把N年以前的基线方法拿出来,看看是不是能调的更好。往往N年以前的方法+最新的tricks就是最好的。
8、挖掘比较法:挖掘未发现的影响因子,通过比较建立结果与猜想变量之间的关联。
题主还有一个问题,如何去寻找创新点,是看文献还是复现别人的结果。我总结了一下寻找创新点的方式:
1.多读文献加总结是科研有突破的重要途径。建议从早期的文章开始读,读的时候想象自己穿越回当时,能不能发现问题在哪里,有没有什么新的想法。然后再找后面的文章查对一下,看看自己的想法对不对。通过这种方式促使自己学会发现问题,找到创新点。
2.多阅读一些专业的审稿意见,训练自己的鉴赏能力。很多未解决的问题都能从审稿意见中发掘出来。欢迎关注我的系列视频栏目「从审稿到中稿」,带大家从审稿意见中发现问题,最终实现中稿。
3.多读读arxiv,最好培养定期翻看arxiv最新文章的习惯。很多厉害的文章都会先放在arxiv上,而做研究掌握一个好的timing至关重要,早点入局就能抢到先手。另一方面,arxiv上很多文章做的不够好,问题没做完,自己多想想努力一下就能有更好的结果。当然别忘了引用arxiv的文章并讨论区别。
4.培养自己对科研问题的格局把握,具体说,判断一个问题是三个月之内可以解决的,还是三年可以解决的,还是三十年也解决不了的。不要凭自己的主观臆断来判断,多看看大佬怎么说。如果很多大佬都觉得一个问题三年之内可以解决,并且很有趣,那么就是一个很好的入手问题。
5.有人说,看到很多论文准确率都很高了,不知道该咋办。这是个新手非常常见的问题,我想引用一个著名的比喻来回答。一个问题的模型,就好比一架很复杂的波音飞机,有几百上千个按钮,有的重要,有的不重要。你现在看到的,就好比看到有那么一架飞机飞的很快。但是更有意义的问题是,你对这架飞机的性能完全了解吗?哪些部分是真正起作用的?能不能造一架更简单但是飞的更快的飞机?如果不能,瓶颈在哪里?这架飞机是不是足够鲁棒,在任何条件下都能飞得很好?
6.有人说准确率已经很高了,比如说达到了95%。一个事实:如果把5%的错误样本拿出来构成一个数据集,那么它的正确率将是0%。所以关键不在准确率多高,而在失败的样本是不是重要。在真实的自动驾驶或者机器人中,有1%的失误可能会导致很快报废。
7.永远关注交叉领域或者新领域,并大胆提出新想法。可能新想法会被另一个领域的人爆锤,不要灰心,这是常态,并不要怕碰壁成为作为阻止你学习的理由。不要自己给自己设置壁垒。
8.可能导师会觉得研究另一个领域会投入很多资源(比如算力或者他开会的时间),但是他挡不住你学习另一个领域的论文。资源可以受限,但是思想不会受限。特别是一个领域的突破性进展,往往可以影响其他领域。降维打击很重要。
9.把卡住自己的问题记录下来,之后会有意想不到的影响。我跟swin transformer(今年获得了比best paper很难得的马尔奖)的作者聊过,他们是怎么想到swin transformer的?他们说,之前就有想过把self attention替换cnn,但是瓶颈是计算量会大很多,看到谷歌出了vit,算的很快,解决了他们之前的瓶颈,就是self-attention也可以很快还很好,这样他们就产生了swin的想法。
10.人的创造力是无穷的,科研更多是一种文化,比赛才要刷点。比如同一届的会议有很多论文在imagenet上点数都差不多,但是都各有亮点。百花齐放,百家争鸣,而不要内卷。
11.多复现一些代码,很多论文都是表面好看,实质代码一跑就有很多问题。
12.历史是会循环的,旧的领域的突破往往可以适用于新的领域。因此多看看经典论文很有帮助。
13.要掌握一门到两门可以泛化的,经过大量事实验证有效的方法论。举个例子,比如加速计算的cuda编程等一系列方法,在不同的领域都可以试用。
14、很多好的idea都是在讨论和碰撞中产生的。尽量多和研究者讨论,方式不限于(1)实验室交流(2)参加讨论会或者研讨会(3)微信群组讨论,可以看评论区加入我的讨论群(4)参加一些国际顶级学术会议,不需要发表论文也可以参加(5)网上看workshop的录像
15、没有比较就没有伤害,把同一个顶会做同一个任务的论文放到一起,高下立判。
16、想到什么好的idea,马上去试,不要犹豫。没有不好的idea,只有不明确的idea。
17、如果单个数据集不能做好,尝试做更多数据集,甚至是跨领域数据集。小数据集上有用的,不一定大数据集有用。
18、必要的时候翻一翻很久之前的baseline,比如我这篇回答就是很久之前就有的,但是应该有很多人还没看过。时间足够长以后,会发现创新点的寻找远远容易于实验验证,也就是说,只要看的文章足够多,思维应当是远远领先实验的。
本博客所有文章除特别声明外,均采用 CC BY-SA 4.0 协议 ,转载请注明出处!