CNN的一点理解

本文探讨了全连接层在处理图像时的局限性,如参数爆炸和平移不变性缺失,指出其不能有效利用图像的空间信息。为解决这些问题,引入了卷积层和池化层。卷积层通过局部性和参数共享减少参数数量,提供平移不变性,而池化层则用于降低维度并保持关键信息。这些技术在处理图像任务时极大地提高了模型的效率和泛化能力。
摘要由CSDN通过智能技术生成

目录

1. 背景(全连接层带来的局限性)

1.1. 全连接带来的参数爆炸

1.2. 全连接不具备平移不变性

1.3. 并且对于操作图像来说,全连接层并不能利用到图像的空间信息。

2. 卷积层、池化层

2.1. 卷积层的局部性和平移不变性

2.2. padding

2.3. 池化层


1. 背景(全连接层带来的局限性)

1.1. 全连接带来的参数爆炸

我们之前往往用的大部分是全连接层,但是这有一个问题,全连接层一多的话会使得参数数目变得很多。加入我们有一张大小为32*32的彩色图片(已经很小了),那么如果使用全连接层的话,一张图片就有32*32*3=3072个特征。我们用下面由全连接层和激活函数组成的网络作为模型,这个模型显然是很小的。

 但是我们看到最后的参数数目竟然有370万个!那如果我们的图片大小为1024*1024的话,我们会有超过30亿个参数!使用 32 位浮 点数,我们就已经需要 12 GB 的内存,更不用说计算和存储梯度了,现在的大多数 GPU 都 不能满足。

1.2. 全连接不具备平移不变性

不具备平移不变性后果:全连接设置需要检测图像中鸟或飞机各种可能的平移,所以会有太多的参数以便于模型更容易记住训练集(会记住在图片中间里的一坨白的东西是飞机,那当我测试集给出一个相同的飞机但是在右边,那就会识别失败), 同时由于位置没有独立性就会使其更难进行泛化(过拟合)

1.3. 并且对于操作图像来说,全连接层并不能利用到图像的空间信息。

2. 卷积层、池化层

卷积层的参数大小不取决于图像中像素数目,而取决于卷积核的大小以及输出通道数,假设5*5的卷积核且输出通道为7,则参数数目为7*5*5,这显然比线性层的参数少的多。

2.1. 卷积层的局部性和平移不变性

卷积提供局部性和平移不变性。

平移不变性已经说过便不再多说。

局部性:如果我们想要识别出与物体相对应的图案,如天空中的一架飞机,我们可能需要看看附近的像素是如何排列的,但我们对那些彼此相距很远的组合的像素是如何出现的并不那 么感兴趣。事实上,喷火式战斗机的图像角落里有没有树、云或风筝并不重要。

2.2. padding

因为一次卷积操作会使输入图像变小,为了防止我多个卷积后输入图像变小到1*1了那还玩毛?

卷积层的输出通道中每一个通道对应不同的特征,例如一个通道代表平均值,一个通道代表垂直边缘

2.3. 池化层

但是还有一个问题,使用3*3等小的卷积核无法反映整体情况,比如图像中有一个飞机占据了25*25像素,我们难道要用25*25的核吗?显然不是,经验告诉我们用小的卷积核比较好。于是我们采用的方法是在一个卷积后跟着另一个卷积,中间跟已知池化层进行下采样。

上图的卷积都经过了padding所以大小不变,第 2 组卷积核操作的是缩小了一半的 3×3 的邻域,因此它有效地映射回输入的 8×8 的邻域。此外,第 2 组卷积核获取第 1 组卷积核的输出(像平均值、边缘等特征),并在这些输出的基础上提取额外的特征。因此,第 1 组卷积核对一阶、低级特征的小邻域进行操作,而第 2 组卷积核则有效地对更宽的邻域进行操作,生成由先前特征组成的特征。这是一种非常强大的机制,它为卷积神经网络提供了查看非常复杂场景的能力(可以理解为感受野变大了),感受野的理解和计算可以看这篇文章:感受野(Receptive Field)的理解与计算 - 知乎 (zhihu.com)

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值