深度学习在前人精度很高的情况下如何创新?
常见的思路我临时给它们取了几个名字:无事生非,后浪推前浪,推陈出新。
1. 在原始的数据集上加一些噪声,例如随机遮挡,或者调整饱和度什么的,主要是根据具体的任务来增加噪声或扰动,不可乱来。如果它的精度下降的厉害,那你的思路就来了,如何在有遮挡或有噪声或其他什么情况下,保证模型的精度。(无事生非)
2. 用它的模型去尝试一个新场景的数据集,因为它原来的模型很可能是过拟合的。如果在新场景下精度下降的厉害,思路又有了,如何提升模型的泛化能力,实现在新场景下的高精度。(无事生非)
3. 思考一下它存在的问题,例如模型太大,推理速度太慢,训练时间太长,收敛速度慢等。一般来说这存在一个问题,其他问题也是连带着的。如果存在以上的问题,你就可以思考如何去提高推理速度,或者在尽可能不降低精度的情况下,大幅度减少参数量或者计算量,或者加快收敛速度。(后浪推前浪)
4. 考虑一下模型是否太复杂,例如:人工设计的地方太多,后处理太多,需要调参的地方太多。基于这些情况,你可以考虑如何设计一个end-to-end模型,在设计过程中,肯定会出现训练效果不好的情况,这时候需要自己去设计一些新的处理方法,这个方法就是你的创新。(后浪推前浪)
5. 替换一些新的结构,引入一些其它方向的技术,例如transformer,特征金字塔技术等。这方面主要是要多关注一些相关技术,前沿技术,各个方向的内容建议多关注一些。(推陈出新)
对于加噪声或者随机遮挡的问题,可以参考下面这篇《数据增强方法总结》
对于轻量化,或者加快推理速度,或者减少参数量等方面的方法,可以参考下面两篇文章
10000+人已加入「大毛CV」
敬正在努力的我们!
评论