? 大大降低过拟合的风险
? 利用数据中的局部结构
????????? 局部结构比全局特征具有更好的泛化能力
????????? 许多有用信息局限于局部区域
? 提高神经网络的鲁棒性
????????? 平移不变性:位置的改变不会改变输出
????????CNN常用于图像任务中
? ? ? ? CNN的核心部分在于卷积操作,其使用卷积过滤器/卷积核(convolution filters/kernels)。通过卷积操作可以实现特征提取。
? ? ? ? 卷积操作如何实现?假设有一个5×5输入图像,使用一个3×3的卷积核(具体参数是什么意思会在后面介绍,这里不关键),卷积核参数如图。
????????然后卷积核在输入图像上从左上角开始,从左到右,从上到下移动,每次移动一格,如果移动到右边位置不够一个卷积核大小则换行,如果移动到下面位置不够则直接结束,对应位置相乘相加再加上偏置项(可选)便是卷积后的输出
???????????????????????????????????????????????????????????????????
滑动6次后,下面已经不够位置了,卷积结束
? ? ? ? 这里给出第一行怎么算出来的
????????
? ? ? ? 使用不同参数的卷积核可以达到不一样的效果
? ? ? ? 同样的在卷积操作后会使用激活函数
? ? ? ? 每一个数据点均经过激活函数进行非线性变换
? ? ? ? 卷积核包括如下几个参数
? ? ? ? 所以在1.的例子中,完整的描述应该是输入图像大小为5×5,通道数为1,设定卷积核大小为3×3,步长为1,输入通道数和输出通道数都为1,填充为0。
——卷积核上的权重参数同样通过训练学习而得,他就是CNN的神经元。
——输入的位置信息嵌入到特征通道中
——在一次卷积中不同位置用的都是同一个卷积核,只是它在移动的,因此输出共享权重,因此
显著减少参数数量
——卷积核每次都会卷积一个局部区域,因此它可以在数据中查找局部结构
——使用多个卷积核,每个卷积核都会专注于输入数据的不同属性,从而生成不同的特征
…………………………………………………………………………………………………………………
几个关于通道数的例子
1.输入通道数为3。设置卷积核大小为3×3,输入通道数为3,输出通道数为1,使用三个卷积核
2.输入通道数为3。设置卷积核大小为3×3,输入通道数为3,输出通道数为4。会使用4组每组3个卷积核。
3.输入通道数为1。设置卷积核大小为3×3,输入通道数为1,输出通道数为3。会使用3组每组1个卷积核。
? ? ? ? 将所有这些通道堆叠在一起,我们可以得到一个特征图。
…………………………………………………………………………………………………………………
如何计算输出尺寸
卷积层输出大小 = (输入图像大小 - 卷积核大小 + 2 ×?填充数) ÷ 步幅大小 + 1
output = (input - kernel_size + 2padding) / stride + 1
如果输入宽高可以被步幅整除,那么
output = input / stride
? ? ? ? 池化同样会使用一个核,然后滑动,但这个核不带权重参数。池化层不会改变通道数,常用于减小特征图的尺寸。
其参数如下:
1.卷积核大小
2.步长
3.填充
? ? ? ? 输出尺寸计算同卷积操作。当有多个输入通道数,会对每一个输入通道进行池化操作然后合并输出通道只有一个
池化层的作用:
? ? ? ? 取核对应部分的最大值
? 达到特征选择的效果
? 引入额外的非线性映射
????????取核对应部分的平均值
? 比起最大池化层更好地保留信息
? 减少神经元数量
? 线性操作
? 全局平均池化可以有效抵抗深度CNN中的过拟合。
全局平均池化(GAP)是一种对整个特征图进行操作的池化方法。它的操作步骤如下:
- 对于给定的特征图,针对每个通道,计算该通道内所有元素的平均值。
- 将每个通道内的平均值作为该通道的汇总特征。
- 最终得到一个包含所有通道汇总特征的向量
- 全局平均池化通常用作最后一层卷积层之后,用来减少特征图的维度,并生成一个包含每个通道重要特征的向量。这个向量可以输入到全连接层或分类器中,以进行最终的分类或预测任务。
最终得到的汇聚特征向量可以看作是整个特征图的全局信息表示