第 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 来得到图像识别 的结果。

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

相关推荐
深蓝易网25 分钟前
为什么制造企业需要用MES管理系统升级改造车间
大数据·运维·人工智能·制造·devops
xiangzhihong833 分钟前
Amodal3R ,南洋理工推出的 3D 生成模型
人工智能·深度学习·计算机视觉
狂奔solar1 小时前
diffusion-vas 提升遮挡区域的分割精度
人工智能·深度学习
资源大全免费分享1 小时前
MacOS 的 AI Agent 新星,本地沙盒驱动,解锁 macOS 操作新体验!
人工智能·macos·策略模式
跳跳糖炒酸奶1 小时前
第四章、Isaacsim在GUI中构建机器人(2):组装一个简单的机器人
人工智能·python·算法·ubuntu·机器人
AI.NET 极客圈1 小时前
AI与.NET技术实操系列(四):使用 Semantic Kernel 和 DeepSeek 构建AI应用
人工智能·.net
Debroon1 小时前
应华为 AI 医疗军团之战,各方动态和反应
人工智能·华为
俊哥V1 小时前
阿里通义千问发布全模态开源大模型Qwen2.5-Omni-7B
人工智能·ai
果冻人工智能2 小时前
每一条广告都只为你而生: 用 人工智能 颠覆广告行业的下一步
人工智能
掘金安东尼2 小时前
GPT-4.5 被 73% 的人误认为人类,“坏了?!我成替身了!”
人工智能·程序员