目录
2.1 问题:普通卷积与CNN的卷积有什么差别,为何不用标准卷积?
1 卷积的定义
卷积,Convolution,理解为 本质不变的变换
图像的卷积:使用卷积核,通过计算锚点及其周围的加权值,将锚点的值替代,是用作特征提取的方法。
(图像来源于Convolutional Neural Networks - Basics · Machine Learning Notebook)
2 标准卷积与CNN中的卷积
2.1 问题:普通卷积与CNN的卷积有什么差别,为何不用标准卷积?
问题描述:卷积神经网络中的“卷积”与标准的卷积运算有何差别?为何不用标准卷积?
2.2 标准卷积和CNN中的卷积差别
标准的卷积是经过了反褶的,例如卷积核中左上角的点对应着图像中被覆盖区域的右下角的点,是来源于信号与系统相关的知识,一维时序信号进行卷积是要翻转时间轴的。
而图像处理中的卷积,是位置关系是相同的,左上角对应于左上角。
CNN形式的卷积和标准卷积均可以用,但是如果要得到相同结果,卷积核得发生变换。而且,如果用标准卷积,代码多了几个下标变换的步骤,有点繁杂,所以干脆弃用。
3 3x3 卷积核
3.1 问题:为何模型中一般使用 3×3 卷积核?
问题描述:为何模型中一般使用 3×3 卷积核?
3.2 原因
① 计算量更少
相对于大的卷积核来说,所需计算的值更少。
两层 3×3 的卷积的参数数量为 3×3×2 =18,一层 5×5 的卷积的参数数量为 5×5=25。使用两层3×3的卷积代替一层5×5的卷积参数数量减少了 7。
按照比例来看,
,减少了28%的参数。
同理,将3层3×3的卷积核进行级联,达到了1层7×7的感受野,
但,
,减少了近50%的参数值。
② 增加网络的深度
相对于5x5的1层网络而言,相同的感受野下3x3需要2层,所以变相的增加了网络的深度。
一般来说,层数越高,模型越好。
但是层数盲目增高也有风险,层数越多梯度越容易消失。例如相对于5×5,对于2×2卷积核来说,获得相同的感受野需要4层,但是存在着梯度消失的风险,所以也就没用更小的2×2。
③ 奇数卷积核可对称
使用奇数的卷积核,使得卷积核可以对称,锚点对应于像素的中心,同时不会存在偶数时的特征偏移现象。
④ 有相关优化
有前人对3X3有专门做出优化,能快速的对矩阵进行运算,造出了轮子。
3.3 参考链接
卷积神经网络的卷积核大小、卷积层数、每层map个数都是如何确定下来的呢? - 知乎首先要明确,对于一个执行分类任务的卷积神经网络,通常可以分为两个部分,前半部分以卷积层为主,兼带有…https://www.zhihu.com/question/38098038/answer/771121161 为什么CNN中的卷积核一般都是奇数*奇数,没有偶数*偶数的? - 知乎奇数相对于偶数,有中心点,对边沿、对线条更加敏感,可以更有效的提取边沿信息。偶数也可以使用,但是效…
https://www.zhihu.com/question/51603070/answer/155364549 你知道为什么卷积核的大小一般都是奇数呢? - 知乎接触一段时间神经网络的同学肯定有这样的疑问:卷积核的大小一般都是3*3,5*5,7*7这样的奇数大小,这是为什么呢?其实很简单,主要有以下两个原因: (1)奇数卷积核更容易做padding。我们假设卷积核大小为k*k,…
https://zhuanlan.zhihu.com/p/91041838