卷积神经网络工作原理

与传统神经网络的区别

卷积神经网络与常规神经网络具有不同的架构。
在这里插入图片描述

常规神经网络通过将输入放入一系列隐藏层来转换输入。每一层由一组神经元组成,其中每一层都与前一层中的所有神经元完全连接。最后,最后一个全连接层——输出层——代表预测。

卷积神经网络有点不同。首先,层被组织成 3 个维度:宽度、高度和深度。此外,一层中的神经元不会连接到下一层中的所有神经元,而只是连接到其中的一小部分。最后,最终输出将减少为单个概率分数向量,沿深度维度组织。

组成部分

  • 隐藏层/特征提取部分
    在这部分中,网络将执行一系列卷积和池化操作,在此期间检测特征。如果你有一张斑马的照片,这就是网络识别它的条纹、两只耳朵和四条腿的部分。
  • 分类部分
    在这里,全连接层将作为这些提取特征之上的分类器。他们将为图像上的对象分配一个概率,即算法预测的对象。

在这里插入图片描述

特征提取

使用过滤器或内核(这些术语可互换使用) 对输入数据执行卷积,然后生成特征图。

过滤器:绿色方块,权重矩阵
输入:蓝色方块
特征图:红色方块。计算方式是对应方块的乘积相加

绿色方块按照一定步长不断滑动
在这里插入图片描述
在这里插入图片描述

实际上的卷积是在三维进行(有宽度、高度和深度),有深度是因为图形使用了RGB的颜色通道。

在这里插入图片描述
我们对输入进行了多次卷积,其中每个操作使用不同的过滤器。这会导致不同的特征图。最后,我们将所有这些特征图放在一起作为卷积层的最终输出。

就像任何其他神经网络一样,我们使用激活函数来使我们的输出非线性。在卷积神经网络的情况下,卷积的输出将通过激活函数。这可能是ReLU激活函数。

ReLU激活函数:
f(x) = max(0,x)

步幅

步幅是卷积滤波器每次移动的步长。步幅大小通常为 1,这意味着过滤器逐个像素地滑动。通过增加步幅大小,您的过滤器以更大的间隔在输入上滑动,因此单元格之间的重叠更少。
eg:步幅是1
在这里插入图片描述
在这里插入图片描述

填充

因为特征图的大小总是小于输入,所以我们必须做一些事情来防止我们的特征图缩小。这是我们使用padding (也就是对输入矩阵的填充)的地方。

添加了一层零值像素,用零包围输入,这样我们的特征图就不会缩小。除了在执行卷积后保持空间大小不变之外,填充还可以提高性能并确保内核和步长大小适合输入。

在卷积层之后,通常会在 CNN 层之间添加一个池化层。池化的作用是不断降低维数以减少网络中的参数数量和计算量。这缩短了训练时间并控制过拟合。

池化

最常见的池化类型是max pooling, 它在每个窗口中取最大值。这些窗口大小需要事先指定。这减少了特征图的大小,同时保留了重要信息。

在这里插入图片描述

ps:图片资源来自于python小甲鱼

  • 0
    点赞
  • 3
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值