当前位置:网站首页>CNN的一点理解
CNN的一点理解
2022-07-31 05:16:00 【王大队长】
目录
1.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)
边栏推荐
- 如何修改数据库密码
- 为什么bash中的read要配合while才能读取/dev/stdin的内容
- UiBot存在已打开的MicrosoftEdge浏览器,无法执行安装
- The browser looks for events bound or listened to by js
- 浏览器查找js绑定或者监听的事件
- js中的全局作用域与函数作用域
- 腾讯云GPU桌面服务器驱动安装
- SSH automatic reconnection script
- 通信原理——纠错编码 | 汉明码(海明码)手算详解
- [Cloud native] Ribbon is no longer used at the bottom layer of OpenFeign starting from the 2020.0.X version
猜你喜欢

小米手机短信定位服务激活失败

MySQL面试题大全(陆续更新)

Sqlite column A data is copied to column B

MySQL高级语句(一)

腾讯云GPU桌面服务器驱动安装

WeChat applet source code acquisition and decompilation method

Tencent Cloud GPU Desktop Server Driver Installation

JS写一段代码,判断一个字符串中出现次数最多的字符串,并统计出现的次数JS

Understanding of objects and functions in js

DeFi Token in the project management
随机推荐
朴素贝叶斯文本分类(代码实现)
[Cloud native] Ribbon is no longer used at the bottom layer of OpenFeign starting from the 2020.0.X version
What is an EVM Compatible Chain?
js中流程控制语句
jenkins +miniprogram-ci upload WeChat applet with one click
Markdown help documentation
cocos2d-x-3.2 不能混合颜色修改
quick-3.5 无法使用模拟器修改
Sqlite column A data is copied to column B
Android software security and reverse analysis reading notes
VS connects to MYSQL through ODBC (1)
使用ps | egrep时过滤排除掉egrep自身
js中的函数
MySQL面试题大全(陆续更新)
break and continue exit in js
SSH自动重连脚本
Global scope and function scope in js
理解js运算符
QT VS中双击ui文件无法打开的问题
js中的this指向与原型对象