卷积神经网络基础与LeNet-5架构解析

图像识别或目标检测领域,如果还没有掌握构建架构的基础知识,本文将带从基础开始了解卷积神经网络架构,并以一个基础架构为例,应用学习成果。只需要知道卷积是如何工作的,这非常简单!

目录

  • 引言
  • 池化
  • 激活函数
  • LeNet-5
  • 卷积神经网络的工作原理
  • 构建ConvNets所用层的指南
  • 注意事项
  • 常见问题解答

将逐层深入了解CNN。首先,需要从第一层学习一些内容,包括步长和填充,将简要介绍它们,并提供示例。

假设有一个5×5的输入矩阵和一个3×3的滤波器。对于那些不知道什么是滤波器的人来说,滤波器是应用于图像或矩阵以获得所需特征的一组权重矩阵,请搜索卷积,如果这是第一次接触!

注意:在进行卷积时,总是取所有值的总和或平均值。滤波器可以是任何深度,如果滤波器具有深度d,它可以到达d层深度并进行卷积,即对d层的所有(权重×输入)进行求和。

在这里,输入的大小是5×5,在应用3×3的核或滤波器后,得到一个3×3的输出特征图,让尝试制定这个公式。

填充

在应用卷积时,不会获得与输入相同的输出尺寸,会在边界上丢失数据,因此附加一个零的边框并重新计算卷积,覆盖所有输入值。

将尝试制定这个公式,这里2是沿着高度和宽度的两列零,并对宽度也制定相同的公式。

步长

有时不想捕获所有可用的数据或信息,因此跳过一些邻近的单元格。让可视化它,这里的输入矩阵或图像的尺寸是5×5,滤波器是3×3,步长是2,因此每次跳过两列并进行卷积,让制定这个公式。

如果尺寸是浮点数,可以在输出上取ceil(),即(下一个最接近的整数)。在这里,H指的是高度,因此输出高度是制定的,同样的方法也适用于输出宽度,这里的2是步长值,可以将其作为S在公式中。

池化

一般来说,池化指的是一小部分,因此取输入的一小部分并尝试取平均值,称为平均池化,或者取最大值,称为最大池化,因此通过对图像进行池化,不是取出所有的值,而是取出所有值的总结值!

这里是一个最大池化的例子,因此在这里取一个步长为二,取矩阵中存在的最大值。

激活函数

激活函数是放在神经网络末端或中间的节点。它们有助于决定神经元是否会发射。有不同类型的激活函数,就像上面的图中一样,但本文的重点是Rectified Linear Unit (ReLU)。

不要惊讶,这个函数并不复杂,这个函数简单地返回0如果值是负数,否则它返回给出的相同值,只不过是消除了负输出,并保持值在0到+infinity之间。

LeNet-5

现在,已经学习了所有需要的基础知识,让研究一个名为LeNet的基本神经网络。

在开始之前,将看看迄今为止设计的架构。这些模型在ImageNet数据上进行了测试,有超过一百万的图像和1000个类别来预测。

LeNet-5是一个非常基础的架构,适合任何人开始学习高级架构。

卷积神经网络的工作原理

它通过权重共享和稀疏连接工作。在这里,可以看到卷积有一些权重,这些权重由所有输入神经元共享,不是每个输入都有一个单独的权重,称为权重共享,并且不是所有的输入神经元都连接到输出神经元,只有一些被卷积的被激发,称为稀疏连接,CNN与前馈神经网络没有什么不同,这两个属性使它们特别!

构建ConvNets所用层的指南

以下是用于构建ConvNets的层类型:

  1. 输入层:想象它作为地面楼层,原始图像数据进入CNN的地方。
  2. 卷积层:这就是魔法发生的地方!就像熟练的工人建造墙壁一样,卷积滤波器在图像上滑动,检测模式并提取特征。
  3. 池化层:这就像一个优化建造过程的工头。池化减少了图像大小,使计算更快,减少了内存使用。
  4. 激活层:这就像给建筑增添色彩和活力。激活函数引入非线性,允许网络学习特征之间的复杂关系。
  5. 全连接层:这就像顶层,所有特征都汇聚在这里进行最终决策。网络接收提取的特征并对图像进行分类。
  6. 输出层:这就像屋顶,最终的分类结果在这里显示。
Q1. CNN是有监督的还是无监督的?
CNN是多功能的机器学习算法,能够进行有监督和无监督学习。在有监督学习中,CNN在标记数据上进行训练,而在无监督学习中,它在未标记数据上进行训练。
Q2. 为什么CNN比ANN更好?
CNN和ANN之间的区别:
1. 专为图像相关任务设计。
2. 能够从图像中提取局部特征。
3. 可以在图像的不同部分共享权重。
4. 可以学习图像的层次表示。
5. 任务:图像分类、目标检测、图像分割、面部识别。ANN
6. 适合更广泛的任务,包括图像分类,但不如CNN专业。
7. 能够从非图像数据中学习。
8. 任务:非图像数据的回归、分类、时间序列预测、自然语言处理
Q3. CNN中的损失层是什么?
CNN中,损失层衡量网络的预测与实际数据的匹配程度。它通过调整其权重帮助网络提高性能。
沪ICP备2024098111号-1
上海秋旦网络科技中心:上海市奉贤区金大公路8218号1幢 联系电话:17898875485