卷积层参数计算与设置

您所在的位置:网站首页 卷积层数 卷积层参数计算与设置

卷积层参数计算与设置

2023-09-10 00:01| 来源: 网络整理| 查看: 265

卷积层维度计算与设置 卷积结构

CNN结构:

Input(输入层)----> Conv(卷积)---->Relu(激活)---->Pool(池化)---->FC(全连接)

输入层参数介绍:

batch_size:相当于一次训练的样本数weight/height:图片宽和高channels:图片通道数,1是黑白,3是RGB

卷积层参数介绍:

filter = 卷积核(1x1,3x3,5x5)feature map = 卷积之后得到的输出结果weight/height:卷积核大小in_channel: 等于输入图片的通道数(这个是可以根据自己的需要来设置的)out_channel: 等于输出通道数padding:填充值,在输入特征图的每一边添加一定数目的行列,使得输出的特征图的长、宽 = 输入的特征图的长、宽stride:步长,卷积核经过输入特征图的采样间隔

卷积计算公式: N 输出大小 = (W输入大小 − Filter + 2Padding )/Stride+1 反卷积计算公式: N 输出大小 = (W输入大小 − 1 )*Stride+Filter - 2 *Padding 注意:卷积向下取整,池化向上取整。

池化层参数介绍:

Filter : 卷积核大小stride:步长,卷积核经过输入特征图的采样间隔

池化计算公式: 输出大小 = (输入大小 − Filter)/Stride+1

作用: maxpooling有局部不变性而且可以提取显著特征的同时降低模型的参数,从而降低模型的过拟合。 因为只是提取了显著特征,而舍弃了不显著的信息,是的模型的参数减少了,从而一定程度上可以缓解过拟合的产生。

如何选择卷积核大小、个数、层数? 1. 卷积核大小:

理论上来说,卷积核的大小可以是任意的,但绝大部分的CNN中使用的卷积核都是奇数大小的正方形,如1x1,3x3,5x5,7x7,11x11等,也有长方形的卷积核,如Inceptionv3中3x3的变成1x3和3x1。 为什么CNN中的卷积核一般都是正方形,没有长方形?

大小选择一般为3x3的较多,越小越好,降低参数数量,降低复杂度。多个小卷积核比一个大卷积核好,原因有两点:

1.减少了参数量 2.3个3x3卷积核=1个7x7卷积核=1个5x5卷积核

以Mnist为例,图片28x28,使用5x5的卷积核,stride=1对其卷积,Result=(28-5)/1+1=24 用两个3x3卷积核: (28-3)/ 1+1=26 (26-3)/ 1+1=24 在这里插入图片描述

2. 卷积核的个数

等于输出特征图的通道数,卷积核的数量越多,意味着提取的特征种类越多,通常会取2^n个,按照16的倍数倍增

3.卷积层数

卷积层数设置,选最好性能的那个模型,它是几层那就设置几层。 这个是训练数据,激活函数,梯度更新算法等多方面的影响,也不是简单就试出来的。

4. Padding选择

参考一个ppt发现: 在这里插入图片描述

卷积核为3时 padding 选择1 卷积核为5时 padding 选择2 卷积核为7时 padding 选择3 上述只是原则上的设置,实际上还是按模型该有的参数设置比较好,毕竟人家都调参优化好了。。。。

5.Stride选择

步长通常不会超过卷积核宽度或长度,步长大于1的时候有下采样的效果,比如步长为2时,可以让feature map的尺寸缩小一半。

LeNet参数举例

在这里插入图片描述

AlexNet参数举例

在这里插入图片描述

VGG参数举例

在这里插入图片描述

Reference

1.卷积神经网络的卷积核大小、卷积层数、每层map个数都是如何确定下来的呢? 2. CNN中stride(步幅)和padding(填充)的详细理解 3. 卷积神经网络的参数计算 4. 卷积神经网络中各个卷积层的设置及输出大小计算的详细讲解



【本文地址】


今日新闻


推荐新闻


CopyRight 2018-2019 办公设备维修网 版权所有 豫ICP备15022753号-3