CNN——机器学习的突破
CNN——机器学习的突破
Representation of how Convolutional Layer works ( 资源)
卷积网络是简单的神经网络,在它们的至少一层中使用卷积代替一般矩阵乘法
卷积网络已经存在了很长时间,它们最近受到欢迎,主要是因为我们现在可以获得大量数据。现代卷积神经网络第一次出现是在 1980 年,当时计算机科学研究人员 Yann LeCun 使用 CNN 识别手写数字。这些手写数字今天仍然可以作为 MNIST 数据集使用,人们至今仍在使用它。他使用的神经网络非常简单,有五层 5x5 卷积层和 2x2 最大池化层。它在 80 年代用途有限,因为 CNN 需要大量数据才能给出准确的结果,但是随着 CNN 架构的进步以及今天我们可以获得更多数据,CNN 被广泛用于许多领域。
卷积是两个数据源交织在一起的过程。它们通常用于图像处理以模糊和锐化图像,在这种情况下,我们在 CNN 模型中使用它。
卷积神经网络或 CNN 由神经元组成,就像人脑一样,通过学习进行自我优化。 CNN 专门处理和映射图像数据或时间序列数据,使其可用于图像分类和识别。
CNN架构
Convoloutional Neural Network Architecture — https://youtu.be/m8pOnJxOcqY
上图显示了 5 层 CNN 的架构——两个卷积层、两个池化层和一个全连接层。我们将进一步深入每一层以及它们的作用:
卷积层
卷积层如果是 CNN 神经网络的核心,这个层负责从输入层中提取特征。基本上,该层在输入层矩阵和称为内核的过滤器之间执行点积,该过滤器产生特征图。
内核通常比输入图像小,但它更深入,因为图像具有三个通道 - RGB 和内核,即使更小仍然具有所有三个通道。一般当图像经过卷积层输出一个3D体积时,通过深度取的一部分体积代表图像同一部分的特征,同一深度层中的每个特征都是由对图像进行卷积的同一个滤波器生成的.
激活层
卷积层执行线性操作,图像远非线性,因此将激活层或非线性层放在卷积层之后,这样我们就可以在特征图输出中引入非线性。
激活层的类型:
- Sigmoid — 获取输入值并将其转换为 0 到 1 之间的范围。
- RelU — 整流线性单元是最常用的层。它使用函数 f(k) = max(0, k) 来引入非线性。
- Tanh - 将输入值转换为 [-1,1] 范围内的数字。
池化层
池化层通过汇总输入图像的特征来替换某些位置的特征图。池化层通常用于减少或下采样特征图的维度。因此,进一步的层在汇总的特征图上执行它们的操作。有两种重要的池化层——MaxPooling 和 AveragePooling
- 最大池化 — 计算特征图每个部分的最大值
- 平均池化 — 计算特征图每个部分的平均值
填充和步幅
为了处理输入层中的边缘情况,我们通常在图像周围添加 0 像素的填充,以便卷积层可以对边缘像素执行其操作。
步幅是 CNN 模型的一个参数,它改变输入层上的移动量。例如,如果步幅为 1,那么我们一次将过滤器移动 1 个像素。
卷积层公式
为了从卷积层中找出输出矩阵的大小,我们使用上面的公式来计算它,其中 W 代表输入层的宽度,F 代表内核的宽度,P 代表填充,S 代表的步伐。例如——一个大小为 5x5x3 的图像和一个大小为 3x3x32 的内核将给出一个大小为 3x3x32 的特征图。
全连接层
卷积层是部分连接的,因为特征图没有连接到输入图像的每个像素。我们使用全连接层从特征图中学习特征的非线性组合。从卷积层获得的特征图是 3 维的,我们需要将它们展平为 1 维向量,该向量可以传递给全连接层以进行最终分类步骤。全连接层使用 softmax 激活函数,将数字的输出向量转换为概率向量。
CNN的应用
CNN 是计算机视觉的支柱,模型从图像等视觉数据中获取重要信息。 CNN 发挥重要作用的一些重要领域是:
- 视频监控
- 卫生保健
- 图像分类
- 内容监管
CNN 是一个非常强大的工具,可以用来解决几乎所有有解决方案的现实问题。
参考
- 由 Ian Goodfellow、Yoshua Bengio 和 Aaron Courville 撰写的深度学习,麻省理工学院出版社,2016 年出版
- https://www.geeksforgeeks.org/cnn-introduction-to-pooling-layer/
- https://towardsdatascience.com/an-introduction-to-convolutional-neural-networks-eb0b60b58fd7
- https://towardsdatascience.com/convolutional-neural-networks-explained-9cc5188c4939
- https://glassboxmedicine.com/2019/04/13/a-short-history-of-convolutional-neural-networks/
- 项目专业版。 (2022 年 6 月 20 日)。 卷积神经网络架构简介 .项目专业版。检索于 2022 年 8 月 31 日,来自 https://www.projectpro.io/article/introduction-to-convolutional-neural-networks-algorithm-architecture/560#:~:text=In%20the%201980s%2C%20the%20world,LeNet%20after%20Yann %20LeCun%20他自己。
版权声明:本文为博主原创文章,遵循 CC 4.0 BY-SA 版权协议,转载请附上原文出处链接和本声明