关于如何做模型改进型论文的讨论结果

最近在整一个X光三维重建的深度学习项目。客观的说,接手之前从没搞过深度学习,接手后压力是很大的,但难题还是一个一个解决了。一开始连相关模型都半天部署不好,后来搞定了。然后是制作自己的医疗图像数据集,也是很久搞不定,又是买书又是问人,最后搞定,从训练结果上来看新数据集明显改善了原有结果。

接下来的目标是想发篇论文,我的想法是从方法层面有所改进,这样才能发好一点的论文。但是一开始我把这个事情也想的比较简单,想着在原有模型的基础上,用表现更好的backbone替换替换原有部分,然后结合新数据集,只要训练效果比原有模型有所提升即可。但是这种做法也许放在10年前可以水文章,但现在每年几万篇深度学习的相关文章,这样做的提升效果缺乏可解释性,是发不了好一点的文章的。

浙大的同学建议从实验结果出发,探索原模型在原数据集或者新数据集上的结果有哪些不如人意的问题。然后结合原模型的结构,探索该问题出现的原因。最后再针对这种原因做有针对性的改进。这时候我意识到我们做的工作中,实验部分只生成了结果评估了指标的好坏,居然没有对每个step生成的图像与grundtruth做对比。这是严重的问题啊!必须重做实验,并将结果用tensorboard或者其他软件用表格的方式展示出来,以便对比,找出现有方法存在的问题。

重做实验后,如果可以看出问题找到原因是最好。如果不好找原因,也得想几个具有解释性的改进方向做工作——即使最终效果不好,也比替换个backbone强。

某论文中的案例:如红框所示的三个判别器得改造理由,虽然从结果上看没太多用,但是说服力强。就算是要堆结构也得从这样的方向堆。

找到原因后的方法改进也有难易之分。修改模型本身是个吃力不讨好的活,因为改起来很困难,效果依然需要实验判断,并不一定都是有效改进。这有点像实验医学。因此,创建或修改损失函数、或做外围结构的增补会容易很多。当然这种修改也必须得有理有据。