存根 什么是 CNN(卷积神经网络)? - 联合人工智能
关注我们.

AI 101

什么是 CNN(卷积神经网络)?

mm
更新 on

也许您想知道 Facebook 或 Instagram 如何自动识别图像中的面孔,或者 Google 如何让您只需上传自己的照片即可在网络上搜索类似的照片。这些功能是计算机视觉的示例,它们由 卷积神经网络 (CNN)。 然而,卷积神经网络到底是什么? 让我们深入研究 CNN 的架构并了解它们的运作方式。

什么是神经网络?

在我们开始讨论卷积神经网络之前,让我们花点时间来定义常规神经网络。 有 另一篇文章 关于可用神经网络的主题,因此我们不会在这里深入讨论它们。 然而,简单地定义它们是受人脑启发的计算模型。 神经网络的运行方式是接收数据并通过调整“权重”来操纵数据,“权重”是关于输入特征彼此之间以及对象类别之间如何相关的假设。 当网络被训练时,权重的值会被调整,并且它们有望收敛到能够准确捕获特征之间关系的权重。

这就是前馈神经网络的运行方式,CNN 由两部分组成:前馈神经网络和一组卷积层。

什么是卷积神经网络 (CNN)?

卷积神经网络中发生的“卷积”是什么?卷积是一种数学运算,它创建一组权重,本质上是创建图像各部分的表示。这组权重被称为 内核或过滤器。 创建的过滤器小于整个输入图像,仅覆盖图像的一小部分。 过滤器中的值与图像中的值相乘。 然后过滤器被移动以形成图像的新部分的表示,并且重复该过程直到整个图像被覆盖。

思考这个问题的另一种方法是想象一堵砖墙,砖块代表输入图像中的像素。 一个“窗口”沿着墙壁来回滑动,这就是过滤器。 通过窗口可见的砖块是其值乘以过滤器内的值的像素。 因此,这种使用滤波器创建权重的方法通常称为“滑动窗口”技术。

围绕整个输入图像移动的滤波器的输出是表示整个图像的二维数组。 这个数组称为 “特色地图”.

为什么卷积至关重要

无论如何,创建卷积的目的是什么? 卷积是必要的,因为神经网络必须能够将图像中的像素解释为数值。 卷积层的功能是将图像转换为神经网络可以解释的数值,然后从中提取相关模式。 卷积网络中滤波器的作用是创建一个二维值数组,这些值可以传递到神经网络的后面层,这些层将学习图像中的模式。

过滤器和通道

照片:cecebur,来自 Wikimedia Commons,CC BY SA 4.0 (https://commons.wikimedia.org/wiki/File:Convolutional_Neural_Network_NeuralNetworkFeatureLayers.gif)

CNN 不仅仅使用一种过滤器来从输入图像中学习模式。 使用多个过滤器,因为不同滤波器创建的不同数组会导致输入图像的表示更加复杂、丰富。 CNN 的常见过滤器数量为 32、64、128 和 512。过滤器越多,CNN 检查输入数据并从中学习的机会就越多。

CNN 分析像素值的差异以确定对象的边界。 在灰度图像中,CNN 只会查看黑白、从浅到深的差异。 当图像是彩色图像时,CNN 不仅要考虑黑暗和光明,而且还必须考虑三种不同的颜色通道——红色、绿色和蓝色。 在这种情况下,滤波器拥有 3 个通道,就像图像本身一样。 滤波器具有的通道数称为其深度,滤波器中的通道数必须与图像中的通道数匹配。

卷积神经网络(CNN) 建筑

我们看一下完整的架构 卷积神经网络。 每个卷积网络的开头都有一个卷积层,因为需要将图像数据转换为数值数组。 然而,卷积层也可以位于其他卷积层之后,这意味着这些层可以彼此堆叠。 拥有多个卷积层意味着一层的输出可以进行进一步的卷积并以相关模式分组在一起。 实际上,这意味着当图像数据通过卷积层时,网络开始“识别”图像的更复杂的特征。

ConvNet 的早期层负责提取低级特征,例如构成简单线条的像素。 卷积网络的后续层会将这些线连接在一起形成形状。 这种从表面分析到深层分析的过程一直持续到ConvNet能够识别动物、人脸和汽车等复杂形状为止。

数据通过所有卷积层后,进入 CNN 的密集连接部分。 密集连接的层就像传统的前馈神经网络一样,是一系列排列成相互连接的层的节点。 数据通过这些密集连接的层进行传输,这些层学习卷积层提取的模式,这样网络就能够识别物体。

博主和程序员,擅长 机器学习 深度学习 主题。 丹尼尔希望帮助其他人利用人工智能的力量造福社会。