第 4 章 第 4 章 卷积神经网络-datawhale ai夏令营

独热向量 y ′ 的长度决 定了模型可以识别出多少不同种类的东西。我们希望 y ′ 和 yˆ 的交叉熵越小越好。

为了避免过拟合,在做图像识别的时候,考虑到图像本身的特性,并不一定 需要全连接,即不需要每个神经元跟输入的每个维度都有一个权重。

4.1 观察 1:检测模式不需要整张图像

要知道图像有没有一个鸟嘴,只要看非常小的范围。这些神经元不需要把整张图像当作输入, 只需要把图像的一小部分当作输入,就足以让它们检测某些特别关键的模式是否出现,这是 第 1 个观察。

4.2 简化 1:感受野

蓝色的神经元的守备范围就是红色正方体框的感受野。这个感受野里面有 3 × 3 × 3 个数值。对蓝色的神经元,它只需要关心这个小范围

Q: 感受野一定要相连吗?所以通常的感受野都是相连的领地,但如果要设计很奇怪的感受野去解决 很特别的问题,完全是可以的,这都是自己决定的。

一般同一个感受野会有一组神经元去守备这个范围,比如 64 个或者是 128 个神经元去守 备一个感受野的范围。

我们把左上角的感受野往右移一个步幅,就制造出一个新的守备范围,即新的感受野。 移动的量称为步幅(stride),接下来需要考虑一个问题:感受野超出了图像的范围,怎么办呢?超出范围就做填充(padding),填充就是补值,一般使用零填充(zero padding),超出范围就补 0,其实也有别的补值的方法,比如补整张图像里面所有值的 平均值或者把边界的这些数字拿出来补没有值的地方。4.3 观察 2:同样的模式可能会出现在图像的不同区域

如图,因为出现在左上角的鸟嘴,它一定落在某一个感受野里面。因 为感受野是盖满整个图像的,所以图像里面所有地方都在某个神经元的守备范围内。假设在 某个感受野里面,有一个神经元的工作就是检测鸟嘴,鸟嘴就会被检测出来。所以就算鸟嘴出 现在中间也没有关系。假设其中有一个神经元可以检测鸟嘴,鸟嘴出现在图像的中间也会被 检测出来。

4.4 简化 2:共享参数

简单来说就是有一个老师在上课,它可以一个班一个班的上,没必要这么麻烦,直接开个大班上课。所谓参数共享就是两个神经元的权重完全是一样的。

上面神经元 跟下面神经元守备的感受野是不一样的,但是它们的参数是相同的。虽然两个神经元的参数 是一模一样,但它们的输出不会永远都是一样的,因为它们的输入是不一样的,它们照顾的范 围是不一样的。

如图 4.15 所示,每个感受野都有一组神经元在负责守备,比如 64 个神经元,它们彼此 之间可以共享参数。图 4.16 中使用一样的颜色代表这两个神经元共享一样的参数,所以每个 感受野都只有一组参数,就是上面感受野的第 1 个神经元会跟下面感受野的第 1 个神经元共 用参数,上面感受野的第 2 个神经元跟下面感受野的第 2 个神经元共用参数 · · · · · · 所以每个 感受野都只有一组参数而已,这些参数称为滤波器(filter)。这是第 2 个简化的方法。

4.5 简化 1 和 2 的总结

全连接网络可以决定它看整张图像还是只看一个范围,如果它只想看一个范围,可以 把很多权重设成 0。全连接层(fully-connected layer,)可以自己决定看整张图像还是一个小范围。感受野加上参数共享就是卷积层 (convolutional layer),用到卷积层的网络就叫卷积神经网络。卷积神经网络的偏差比较大。 但模型偏差大不一定是坏事,因为当模型偏差大,模型的灵活性较低时,比较不容易过拟合。

接下来通过第 2 个版本的故事来说明卷积神经网络。 一个卷积层里面就是有一排的滤波器,每个滤波器都是一 个 3 × 3 × 通道,其作用是要去图像里面检测某个模式。

假设这些滤波器里面的数值已经找出来了,如图 4.20 所示,这是一个 6 × 6 的大小的图像。先把滤波器放在图像的左 上角,接着把滤波器里面所有的 9 个值跟左上角这个范围内的 9 个值对应相乘再相加,也就 是做内积,结果是 3。

如果有 64 个滤波器,就可 以得到 64 组的数字。这组数字称为特征映射(feature map)。当一张图像通过一个卷积层 里面一堆滤波器的时候,就会产生一个特征映射。假设卷积层里面有 64 个滤波器,产生的特 征映射就有 64 组数字。特征映射可以看成是另外一张新的图像,只是这个图像的通道不是 RGB 3 个通道,有 64 个通道,每个通道就对应到一个滤波器。

4.6 观察 3:下采样不影响模式检测

把一张比较大的图像做下采样(downsampling), 把图像偶数的列都拿掉,奇数的行都拿掉,图像变成为原来的 1/4,但是不会影响里面是什么 东西。

4.7 简化 3:汇聚

最大汇聚在每一组里面选一个代表, 选的代表就是最大的一个,如图 4.28 所示。除了最大汇聚,还有平均汇聚(mean pooling), 平均汇聚是取每一组的平均值。

假设要检测的是非常微细的东西,随便做下采样,性能 可能会稍微差一点。所以近年来图像的网络的设计往往也开始把汇聚丢掉,它会做这种全卷 积的神经网络,整个网络里面都是卷积,完全都不用汇聚。

一般架构就是卷积加汇聚,汇聚是可有可无的,很多人可能会选择不用汇聚。如图 4.30 所示,如果做完几次卷积和汇聚以后,把汇聚的输出做扁平化(flatten),再把这个向量丢进 全连接层里面,最终还要过个 softmax 来得到图像识别的结果。这就是一个经典的图像识别 的网络,里面有卷积、汇聚和扁平化,最后再通过几个全连接层或 softmax 来得到图像识别 的结果。

扁平化就是把图像里面本来排成矩阵样子的东西"拉直",即把所有的数值"拉直"变成一 个向量。

相关推荐
FL1623863129几秒前
塔吊下方站人检测数据集VOC+YOLO格式1049张1类别
人工智能·深度学习·yolo
AI Coder 码农王2 分钟前
AgentScope Java v2 第1课,消息与事件模型
人工智能
loulanyue_6 分钟前
我们正从规模化时代迈向研究时代:破除预训练幻象与通用泛化困境——读Ilya Sutskever重磅专访全景解析
人工智能·深度学习·机器学习·大模型·通用人工智能
4SAPI7 分钟前
System Prompt、Function Calling跨模型适配问题分析
网络·人工智能·prompt
solidwork_s7 分钟前
SOLIDWORKS 2027 Simulation仿真新功能汇总
人工智能·solidworks
软购商城7 分钟前
AI 赋能全流程文献管理|ReadCube,不止是参考文献管理器
人工智能
道一云黑板报8 分钟前
WorkBuddy 进入企业微信侧边栏:入口、执行与连接的分工
人工智能·ai·企业微信
吴佳浩11 分钟前
一文看懂大模型推理为什么需要多卡:从 TP、DP 到 Runtime 的完整演进
人工智能
2401_8322981013 分钟前
人工智能进入日常之后
人工智能
55873 生态系统14 分钟前
1817册典籍如何被AI读取?——“可复核文明知识库“的体系化构建实践
大数据·人工智能·55873全域文明生态体系·55873操作系统·全域文明生态系统·55873数字资产