有很多不同专业的同学,在刚开始做深度学习时,总是会以本专业的知识视角来理解一些算法,然后就会造成一些知识误解。
常见的就是对深度学习中卷积算法的理解。
其实,深度学习中的卷积算法,可以认为是一种“不那么严格”的算法,它无法和数学中严格的卷积定义比较,也无法和其他专业比如信号处理中的卷积相类比。
因为其计算逻辑略有不同。
比如一个常见的疑问会是:为什么深度学习中的卷积核不需要旋转180度呢?
这个问题你可以看本文最后给出的链接,我之前专门写过一篇文章来回答这个问题。
在深度学习中,你只需要记住一点:把卷积看做一个特征提取器就可以了。
如何理解这个特征提取器呢?
1. 先看乘累加的特征融合
在矩阵乘法的本质一文中,我们从数学运算的角度揭示了矩阵乘法的本质是特征的融合和再创。
卷积算法,其实也是一种特征提取。
可以回想一下在介绍卷积的时候,描述的卷积运算的场景:一个窗口在图片上滑动,窗口中的数值是卷积核的参数,也就是权值。
卷积的计算是乘累加,和矩阵乘法一样,卷积在每一次扫描的过程中,就是完成了权值数据和输入图像的乘累加运算。
如果把上图中输入数据的数值看做特征,通过乘累加运算,完成的就是特征融合,或者叫作特征的提取。
2、特征提取器
在很多神经网络,都可以看到以卷积为主的骨干网络(BackBone Network)。
比如大名鼎鼎的 Yolo 系列,会将以卷积为主的 resnet 网络当做自己的骨干网络,其目的就是为了使用 resnet 进行图片的特征提取。
然后完成后面的图像检测功能。
图源:江大白
再比如,之前介绍小米汽车的占用网络时,可以看到在特斯拉的占用网络中,也存在 resnet 作为特征提取器的身影。
上图是特斯拉占用网络架构图,红框为resnet为主的特征提取器。
这是因为 resnet 中有大量的设计好的卷积层,因此,大部分将 resnet 作为骨干网络的神经网络,都是把 resnet 这一部分结构当做一个图像的特征提取器来使用。
而网络中的其他结构,是在对 resnet 提取出来的特征进行更进一步的操作。
看到这,是不是就对卷积这一算法有了一个新的认识了呢?
延伸阅读:卷积核到底需不需要旋转 180 度?