非线性卷积滤波
在学习计算机视觉的线性和非线性滤波的时候,突然想到了几个最火的CNN模型AlexNet, VGG, GoogLeNet, ResNet, 卷积核滤波全部都是线性的,有点好奇关于这方面换成非线性卷积滤波会不会有什么进步。
相关论文:
Network In Network 2014
作者注意到了卷积核本质上还是广义线性函数的模拟,NiN网络通过是用1x1卷积核来增加模型的抽象/非线性能力,最后用max pooling代替FC全连接层来减少参数量和模型过拟合。
这里作者还是没有真正的去解决原始的问题。
Non-Linear Convolution Filters for CNN-Based Learning 2017
非线性滤波的计算复杂性普遍过大,而且很多很难从数学上进行比较直观的优化。
作者考虑了二阶Volterra卷积滤波+BN代替普通线性卷积滤波的可行性。作者只是将一层线性卷积滤波替换为二阶Volterra卷积,各项数据看起来都有微小进步,基本上是肯定了非线性卷积滤波的实用性,不过仅从这一层的更改来看数据进步的还是比较小。
这里作者的CNN模型是在没有residual等变种的基础下和一个普通的residual模块进行比较。
A Non-Linear Convolution Network for Image Processing 2021
这篇论文基本上用的还是二阶Volterra卷积,不过增加了自适应权重来增强模型的representation ability。
和上一篇相比,本文考虑了是用和residual一样的Bypass架构来保留原始信息流和增加特种丰富性,还考虑了NiN一样的使用1x1卷积层来降维/压缩特征,降低计算负担。看起来基本是基于普通CNN模型,修改滤波为二阶Volterra卷积滤波,增加BN归一化,然后融合inception模型和residual模型的抽象能力/计算简化模块,融合成了一个比较新型的CNN模型。
作者还考虑了模型刚开始是用并行非线性卷积滤波来增加receptive field,不过因为参数增加的太多了还是不实用。
此模型在几个常见的图像处理任务都从SSIM和PSNR指标上普遍优于线性卷积滤波模型,而且参数量显著减少(线性卷积滤波模型通过不同模块的很多参数和激活函数,pooling来模拟一个函数,相比之下非线性卷积滤波模型可以在相同模块内自己训练非线性特征,某种意义上来说模型的抽象能力更强了)
结论
现在对于滤波的非线性化的看法是在优化卷积神经网络的复杂度,提高模型表达能力,泛化能力。类似于添加1x1卷积核,添加BN层,修改FC层为max pooling。由于目前线性卷积滤波的universal function approximation已经足够精确,或者说表达能力已经十分完美了,模型泛化误差已经某种意义上来说低到人类做不到了,滤波非线性化的修改并不会显著的去影响模型的结果,只能是作为一个微调,优化。
又或者说,现在的卷积神经网络对于非线性的近似已经做的十分完美了,在这方面修改滤波效果不大。想要在图像特征提取方面做一些突破,基本要一些新的想法,比如说注意力机制,等。