前言:
在上一篇《CV方向的高效阅读英文文献的方法总结》中介绍了如何阅读一篇论文,相信不少读者认真践行后已经具备卸载翻译软件、直接硬刚原论文、几小时读完一篇论文的能力了。而在本篇将介绍如何阅读大量的论文,这一篇更多地是介绍思想,而不是具体方法。transformer在这两年遍地开花,天天都可以看到各个公众号对新出的transformer论文的推送。对于计算机视觉的人来说,难免会是另一种痛苦--不得不去了解,但又没必要全了解。对刚入门的小白来说,更是难受兼迷茫,因为除了每年出现的大量论文需要了解或深入阅读,还有以往的很多论文需要学习。
该问题下有相当一部分大佬给出了关于能否做attention的理论解释,提问者也根据这些理论解释给出了他的理解,对于理论解释的合理性,我才疏学浅无法置评。
1)在AlexNet论文中,作者提出了局部响应归一化 (LRN ),并搭配ReLU会有一个点的提升,并给出了它的理论解释,但在VGG论文中却表示,LRN并不能提升VGG模型性能。
2)在ResNet中作者提出残差连接,并认为它能缓解梯度消失的问题,但后面何凯明提出BN已经缓解了梯度消失的问题,残差连接仍然很有效果。现在网上也仍在讨论ResNet到底解决了什么问题。
3)在GoogLeNet(即Inception v1)中,作者提出了两个辅助分类器,即在网络中间增加两个输出口,但在Inception系列的第三篇论文中就提出这玩意没用,取消了。
这样的例子还有不少,究其原因,还是在于神经网络不具备可解释性。计算机视觉这十年来涌现了很多很多的论文,论文基本的形式是提出新模型或新模块或新方法,并解释这么设计的原因,思路,解决的问题。可以肯定的是,这些模型或模块或方法都是有一定的效果,然而,它产生效果的真正原因真的就是作者给出的解释吗?答案是不一定的,因为作者也是在主观理解,只能证明提出的模型或模块或方法是有效果,而并没有客观的东西来证明它的理论是正确的。此外,一个完整的模型的最终效果是由数据集、数据预处理、神经网络、后处理和评价指标共同产生的,而大部分的论文只涉及到其中的一部分。例如,提出某个新模块加在了神经网络的某部分,而它实际上对于数据预处理部分,以及在其它一些模型的设计细节上,并不与baseline相同,因此,它虽然与baseline比较有一点点提升,但并不能证明它的有效性。我想说的是,对于现在层出不穷的transformer论文,没有必要把每一篇论文都当作是公理看待,而是保持辩证的思维去阅读。照这么说来,每一篇都要保持不确定性,那岂不是很荒诞。实际上,这仅仅针对新出的论文,对于以往的经典论文,基本可以当成是确认有效的模型或网络或方法。例如残差连接,基本成为了标配,例如ResNeXt中提到的“split-transform-merge”的设计思想,在无数的模型中都有体现,例如SE模块,BN归一化方法等。它们都经过了时间和无数后来者的检验,证实了它们的有效性。前面我们提到,计算机视觉由于不具备可解释性,模型或模块的设计、方法的提出都是基于作者的主观理解。但实际上,很多论文之所以成为经典论文,关键在于它们时间和后来者证明了它们的有效性。因此,我们可以把这些经典论文中提到的设计思路、改进思路,提出的观点,当成一个我们自己设计模型的理论基础。这与前面讲的作者的主观理解不一定就是真正产生效果的原因并不矛盾,因为这是以结果为导向的:它有用,经过了几年,大家还在用它,从而把作者对它的主观理解当成是它的理论基础,这是目前的主流做法,但只要记得,它的理论有可能有被推翻的一天。这样的做法就没毛病。用一句话来总结,对于过往的论文,可以看它的论文引用数量,较多的可以认真看一看。而对于新出的论文,保持不确定的态度去了解它们的设计思想、创新方法。这是因为它们大部分论文都只是过眼烟云,过了发出的那一年,就没人使用它们,而留下来的、过了几年大家还在用的,才是真正有效的设计。
后记
随着计算机视觉发展至今,论文数量每年都在大幅度增加。
如神经网络归一化,就出现了BN、LN、GN、IN、FRN、CmBN等众多方法;
如数据增强,出现了Cutout、Random Erasing、Mixup、Hide-and-Seek、CutMix、GridMask、FenceMask和KeepAugment等方法;
如注意力机制,出现了RA、BAM、CBAM、SE、Non-Local、DANet、CA等方法;
如特征金字塔,出现了ASPP、FPN、PANet、RFB、ASFF、FPT、YOLOF等方法;
如一系列经典的神经网络,轻量化的神经网络等;
此外,还有很多很多。
这些内容没必要每一篇都去细看,但不了解是万万不行的。以神经网络归一化为例,只了解BN可以吗?是不是设计或选取网络的时候都不管三七多少,直接使用BN就完事了?以特征金字塔为例,只了解FPN可以吗,直接使用FPN就完事了?特征提取网络直接使用ResNet就完事了?
CV技术指南,其核心就在于将这些内容逐一总结,让读者以最轻松、最高效、最快速的方式了解这些方法,从而快速进入自己的研究状态。