卷积神经网络(Datawhale X 李宏毅苹果书AI夏令营)

卷积神经网络(Datawhale X 李宏毅苹果书AI夏令营)

卷积神经网络是一种非常典型的网络 架构,常用于图像分类等任务。

一张图像是一个三维的张量,其中一维代表图像的 宽,另外一维代表图像的高,还有一维代表图像的通道(channel)的数目

通道:彩色图像的每个像素都可以描述为红色(red)、绿色(green)、蓝色(blue)的组 合,这 3 种颜色就称为图像的 3 个色彩通道。这种颜色描述方式称为 RGB 色彩模型, 常用于在屏幕上显示颜色。

网络输入通常是向量,因此在将图片输入网络前,需要对网络进行"拉伸"。

1. 感受野

对于图像识别,很多时候我们并不需要检测整张图像才能进行识别。如对于鸟、猫、狗三张照片,我们只需要看如头就能确定照片的类别。

为了将图片中的某个区域如头给检测出来,我们就用到了 感受野。神经网络会设定一个区域,即感受野(receptive field),每个神经元都只关心自己的感受野里面发生的事情,感受野是由我们自己决定的。

1.1 感受野设计

图像识别中高跟宽大小叫做核大小,之所以不说深度,因为深度等于通道数。经典感受野核大小为3x3

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

步幅(stride): 旧感受野移动到一个新的感受野所移动的量。一般设为1和2.

当感受野超出了图像的范围,为了让剩余的边界视野不会丢失,我们会进行填充(padding),填充就是补值,一般使用零填充(zero padding),超出范围就补 0,如果感受野有一部分超出图像的范围 之外,就当做那个里面的值都是 0。其实也有别的补值的方法,比如补整张图像里面所有值的 平均值或者把边界的这些数字拿出来补没有值的地方。

,

2. 共享参数(不变性)

对于某一个模式,如鸟嘴,可能出现在图片左上角、中间等。那么对于这些检测鸟嘴的神经元做的事情是一样的,只是它们守备的范围不一样。既然如 此,其实没必要每个守备范围都去放一个检测鸟嘴的神经元。如果不同的守备范围都要有一 个检测鸟嘴的神经元,参数量会太多了,因此需要做出相应的简化。

共享参数:两个神经元的权重完全是一样的

3. 1和2总结

全连接网络是弹性最 大的。全连接网络可以决定它看整张图像还是只看一个范围,如果它只想看一个范围,可以 把很多权重设成 0。但加上感受野的概念以后,只能看一个小范围,网络的弹性是变小的。参数共享 又进一步限制了网络的弹性。本来在学习的时候,每个神经元可以各自有不同的参数,它们 可以学出相同的参数,也可以有不一样的参数。但是加入参数共享以后,某一些神经元无论 如何参数都要一模一样的,这又增加了对神经元的限制。而感受野加上参数共享就是卷积层 (convolutional layer),用到卷积层的网络就叫卷积神经网络。

卷积层是专门为图像设计的,感受野、参数共享都是为图像设计

如果把它用在图像之外的任务,就要仔细 想想这些任务有没有图像用的特性。

4. 池化(汇聚)

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

对于上面的现象,我们可以使用池化 来处理图像,汇聚没有参数,所以它不是一个层,它里面 没有权重,它没有要学习的东西,它只是一个操作运算。

Max pooling 最大池化:

每个滤波器都产生一组数字,要做汇聚的时候,把这些数字分组,可以 2 × 2 个 一组,3 × 3、4 × 4 也可以,这个是我们自己决定的,图 4.27 中的例子是 2 × 2 个一组。汇聚 有很多不同的版本,以最大汇聚(max pooling)为例。最大汇聚在每一组里面选一个代表, 选的代表就是最大的一个,如图 4.28 所示。除了最大汇聚 ,还有平均汇聚(mean pooling), 平均汇聚是取每一组的平均值。

一般在实践上,往往就是卷积跟汇聚交替 使用,可能做几次卷积,做一次汇聚。比如两次卷积,一次汇聚。不过汇聚对于模型的性能 (performance)可能会带来一点伤害。

汇聚最主要的作用是减少运算量, 通过下采样把图像变小,从而减少运算量。

5. 卷积神经网络的应用:下围棋

下围棋、语音上和文字处理上

CNN不能处理图像放大缩小或者是旋转的问题

卷积神经网络并没有想像的那么强。因此在做图像识别的时候往往都要做数据增强。

数据增强就是把训练数据每张图像里面截一小块出来放大,让卷积神经网络看过不 同大小的模式;把图像旋转,让它看过某一个物体旋转以后长什么样子,卷积神经网络才会做 到好的结果。卷积神经网络不能够处理缩放(scaling)跟旋转(rotation)的问题,但 Special Transformer Layer 网络架构可以处理这个问题。

相关推荐
水如烟3 小时前
孤能子视角:“组织行为学–组织文化“
人工智能
大山同学3 小时前
图片补全-Context Encoder
人工智能·机器学习·计算机视觉
薛定谔的猫19824 小时前
十七、用 GPT2 中文对联模型实现经典上联自动对下联:
人工智能·深度学习·gpt2·大模型 训练 调优
壮Sir不壮4 小时前
2026年奇点:Clawdbot引爆个人AI代理
人工智能·ai·大模型·claude·clawdbot·moltbot·openclaw
PaperRed ai写作降重助手4 小时前
高性价比 AI 论文写作软件推荐:2026 年预算友好型
人工智能·aigc·论文·写作·ai写作·智能降重
玉梅小洋4 小时前
Claude Code 从入门到精通(七):Sub Agent 与 Skill 终极PK
人工智能·ai·大模型·ai编程·claude·ai工具
-嘟囔着拯救世界-4 小时前
【保姆级教程】Win11 下从零部署 Claude Code:本地环境配置 + VSCode 可视化界面全流程指南
人工智能·vscode·ai·编辑器·html5·ai编程·claude code
正见TrueView4 小时前
程一笑的价值选择:AI金玉其外,“收割”老人败絮其中
人工智能
Imm7774 小时前
中国知名的车膜品牌推荐几家
人工智能·python
x-cmd4 小时前
[x-cmd] x claude ds - 无需 Claude 账号!零门槛让 Claude Code 接入 DeepSeek AI 模型
ai·claude·deepseek·claude-code·写代码