其他分享
首页 > 其他分享> > 深度学习02:CNN

深度学习02:CNN

作者:互联网

1 CNN的结构

1.1 卷积层

  由滤波器filters和激活函数构成。 一般要设置的超参数包括filters的数量、大小、步长,以及padding是“valid”还是“same”。当然,还包括选择什么激活函数。

1.1.1 padding 填白

每次卷积前,先给图片周围都补一圈空白,让卷积之后图片跟原来一样大,同时,原来的边缘也被计算了更多次。比如把(8,8)的图片给补成(10,10),那么经过(3,3)的filter之后,还是(8,8),没有变。把卷积后大小不变称为 “Same”方式, 把不经过任何填白的,称为 “Valid”方式。
在这里插入图片描述

1.1.2 stride 步长

默认步长是1,如果(8,8)的输入,我们用(3,3)的filter, 如果stride=1,则输出为(6,6); 如果stride=2,则输出为(3,3)

1.1.3 卷积

如果input是一维8x8的黑白图片,filter是3x3,那卷积后的output是6x6
如果input是三维8x8的彩色图片,filter是3x3x3(最后一个3表示filter是三维,这个维度要和input一致,如若input是2维,则filer也要2维),那卷积后的output也是6x6(三个channel的所有元素对应相乘后求和,也就是27个乘积的和),因为下图中filter只有对角线有非0,因此只乘了对角线,实际是表格中每个元素都要相乘。
在这里插入图片描述
如果使用多个filters同时卷积,比如,如果我们同时使用4个filter的话,那么 输出的维度则会变为(6,6,4),相当于做了四次filter,每次filter输出的维度是(6,6,1)。

1.2 池化层

该层主要是为了提取一定区域的主要特征,并减少参数数量,防止模型过拟合。方法有MaxPooling(取那个区域的max)还有AveragePooling(取那个区域的平均值)

1.2.1 max pooling

如下面的MaxPooling,采用了一个2×2的窗口,并取stride=2
在这里插入图片描述

1.3 全连接层

标签:02,1.1,卷积,filter,stride,步长,深度,CNN,input
来源: https://blog.csdn.net/weixin_40313252/article/details/122055834