论文创新的常见思路总结

前言:

目前主流方向的模型基本都做到了很高的精度,你能想到的方法,基本上前人都做过了,并且还做得很好,因此越往后论文越来越难发,创新点越来越难找。

那如何寻找自己的创新点呢?如何在前人的基础上改进呢?在本文将提供几种思路。

常见的思路我临时给它们取了几个名字:无事生非,后浪推前浪,推陈出新,出奇制胜。

1.在原始的数据集上加一些噪声,例如随机遮挡,或者调整饱和度亮度什么的,主要是根据具体的任务来增加噪声或扰动,不可乱来。如果它的精度下降的厉害,那你的思路就来了,如何在有遮挡或有噪声或其他什么情况下,保证模型的精度。(无事生非)

例如行人重识别中的遮挡问题,人脸识别的戴口罩问题,目标检测中也许会出现一些特殊情况,例如狗从墙另一边探出头来,晚上灯光下的过度曝光问题等。

2.用它的模型去尝试一个新场景的数据集,因为它原来的模型很可能是过拟合的。如果在新场景下精度下降的厉害,思路又有了,如何提升模型的泛化能力,实现在新场景下的高精度。(无事生非)

深度学习各个领域基本都有几年的发展了,以往没什么数据集,这几年出现了一些新的更大更多的数据集,以往的那些模型也许在新数据集上效果不好。

这一点的特点就是去分析原模型的数据集的特点,找到了它们的特点,也就找到了改进的思路。

3.思考一下它存在的问题,例如模型太大,推理速度太慢,训练时间太长,收敛速度慢等。一般来说这存在一个问题,其他问题也是连带着的。如果存在以上的问题,你就可以思考如何去提高推理速度,或者在尽可能不降低精度的情况下,大幅度减少参数量或者计算量,或者加快收敛速度。(后浪推前浪)

4.考虑一下模型是否太复杂,例如:人工设计的地方太多,后处理太多,需要调参的地方太多。基于这些情况,你可以考虑如何设计一个end-to-end模型,在设计过程中,肯定会出现训练效果不好的情况,这时候需要自己去设计一些新的处理方法,这个方法就是你的创新。(后浪推前浪)

5.替换一些新的结构,引入一些其它方向的技术,例如transformer,特征金字塔技术等。这方面主要是要多关注一些相关技术,前沿技术,各个方向的内容建议多关注一些。(推陈出新)

6.尝试去做一些特定的检测或者识别。通用的模型往往为了保证泛化能力,检测识别多个类,而导致每个类的识别精度都不会很高。因此你可以考虑只去检测或识别某一个特定的类。以行为识别为例,一些通用的模型可以识别几十个动作,但你可以专门做跌倒检测。在这种情况下你可以加很多先验知识在模型中,例如多任务学习。换句话来说,你的模型就是专门针对跌倒设计的,因此往往精度可以更高。(出奇制胜)

注:这种特定类的检测最好是有些应用前途,让人觉得现实中可以有。

去做特定类的识别往往会开辟一个新方向,知乎上也有人说开辟新方向比在模型上创新和改进要更高级,我并不赞同,但也不否定开辟新领域会带来贡献,只能说它们都是平等的,因为它们都是在解决现实中的问题。当然,这段话不是重点,只是顺便发表一下个人看法,下面才是重点。

对于没有导师指导的读者,或者说在一般情况下,不建议去开辟新方向,因为很有可能顶会的审核人员根本不认可你开辟这个方向是有价值的、有意义的,几个月做下来结果专家不认可就全白费了。但建议的是去做最近一年或两年才开辟的新方向,由于才刚出一两年,做的人不多(当然这篇文章一写,大家是不是都按这个思路去找新方向,那就不关我的事了),出成果的可能性比较大。

那如何找这些一两年刚出的方向呢?去最近一两年的顶会上找,因为顶会上有就意味着已经得到专家的认可了,这个方向做下去是有意义的、是值得研究的。

以上都是一些针对性的思路,最原始的做法应该是看完方向上比较重要的论文后自己写一个综述,写的过程中往往会发现一些问题,不一定就是要去跟sota模型比精度,而是解决这个方向上还存在的问题。解决还存在的问题才是关键,才是论文的核心价值所在,否则就只是十几页的废纸。

例如前面提到的实现轻量化,提高推理速度,实现实时检测,设计end to end模型,都属于解决这个方向上存在的问题,进一步提高精度也是解决问题,此外还包括一些其他的问题,这个得根据具体任务才能分析。

如果说写完综述后还是没思路,一来是建议尝试以上思路,二来建议找一些跟你方向相关的经典论文看一看,边看边想,这四个字最重要。当然,边看边想要想发挥作用,还需要有个最重要的前提,知识面足够广,否则再怎么想也没用。

补充一些个人观点:很多情况下在模型上加入一些别的方向的模块,例如使用即插即用的模块、注意力机制等,可以使模型有一定的提升,这是算创新的。但需要一个合理的解释为何这么做可以起作用,解决了什么问题。有时候对原模型做一些小的改进,却有较大的提升,这也属于创新。前提是,这种提升是稳定的,是在多个数据集下都有的提升,而不是一次偶然事件。

但在这种情况下,很容易一两页就推理加证明完了,要变成一篇论文字数还不够,工作量也不够,如何让这种创新变成一篇完整的论文?如何解释它为何能起作用?建议看《CNN可视化技术总结(一)》的引言部分。

对于加噪声或者随机遮挡的问题,可以参考公众号《CV技术指南》技术总结系列的《数据增强方法总结》

对于轻量化,或者加快推理速度,或者减少参数量等方面的方法,可以参考技术总结系列的《CNN结构演变总结(二)轻量化模型》和《CNN结构演变总结(三)设计原则》

对于扩大知识面,建议关注公众号CV技术指南的论文分享系列,里面的文章都经过严格的筛选才分享出来,一般来说读者都可以从中学到一些新的东西,或者引起一些对自己方向上的思考,以后还会出现一些以往的经典论文,不只是最新的顶会论文。

其他文章

注意力机制总结

特征金字塔总结

数据增强方法总结

CNN可视化技术总结

CNN结构演变总结—经典模型

CNN结构演变总结—轻量化模型

CNN结构演变总结—设计原则

池化技术总结

非极大值抑制总结

英文文献阅读方法总结

论文创新的常见思路总结

归一化方法总结 | 又名"BN和它的后浪们"

本文来源于公众号CV技术指南的技术总结系列。

在公众号《CV技术指南》中回复“技术总结”可获取以上所有总结系列文章的汇总pdf

QR.png

猜你喜欢

转载自juejin.im/post/6968039420842737700