《High-frequency Component Helps Explain the Generalization of Convolutional Neural Networks》CVPR 2020
图片的高低频信息
FFT频谱图中靠近中心区域是低频分量,远离中心区域是高频分量。低频成分一般就是图片纹理或者信息,高频成分就是一些边缘和像素锐变区域。
对于任何一个数据集,都应该包括语义信息(纹理信息或者说低频信息)和高频信息。对于人类而言,标注时候由于无法感知高频成分故仅仅依靠语义进行标注,忽略了高频成分。高频成分可能包括和类别相关的特定信息,也可以包括分布外的噪声,并且该噪声对模型训练是有害的,会影响泛化能力。但是CNN训练时候会同时面对语义低频成分和高频成分,这个gap就会导致CNN学习出来的模型和人类理解的模型不一样,从而出现常规的泛化认知错误。
论文提出:CNN训练过程会先采用低频语义信息进行降低Loss,当继续训练无法降低Loss时候会额外考虑高频成分进一步降低Loss。高频成分可以分成两种(1)和数据分布相关的有用高频成分A和(2)数据无关的噪声有害高频成分B。由于利用的AB比例无法确定,故而就会出现CNN模型存在不同的泛化能力。这样很容易解释Early Stopping为何可以防止过拟合,因为越到训练后期其可利用的和数据相关的有用高频成分就越少,为了降低Loss,就只能进一步挖掘样本级别的特有的噪声高斯信息。
暂时没有一个好手段去除高频成分中的噪声,目前唯一能做的就是尝试用合适的半径阈值r去掉高频成分,防止噪声干扰,同时测试也需要进行相应去高频操作,或许可以提升泛化能力。mix-up、BN、对抗样本和Early Stopping等提点组件都可以促进CNN尽可能快且多的利用高频成分,从而提升性能。