联系我们

AI 101

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

mm

更新

 on

也许您想知道Facebook或Instagram如何能够自动识别12博下载app中的面孔,或者Google如何仅通过上传自己的照片就可以在网络上搜索相似的照片。这些功能是 计算机视觉,并且由 卷积神经网络(CNN)。但是卷积神经网络到底是什么?让我们深入研究CNN的架构,并了解其运作方式。

什么是神经网络?

在开始讨论卷积神经网络之前,让我们花点时间定义常规的神经网络。有 另一篇文章 关于可用神经网络的主题,因此我们在这里不会对其进行深入探讨。但是,简单地定义它们是受人脑启发的计算模型。神经网络通过获取数据并通过调整“权重”来操作数据,“权重”是关于输入要素之间如何相互关联以及对象的类别的假设。随着网络的训练,权重的值将被调整,它们有望收敛于精确捕获特征之间关系的权重。

这就是前馈神经网络的工作方式,而CNN由两半组成:前馈神经网络和一组卷积层。

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

卷积神经网络中发生的“卷积”是什么?卷积是一种数学运算,可以创建一组权重,从本质上讲是对12博下载app各部分的表示。这组权重称为 内核或过滤器。创建的过滤器小于整个输入12博下载app,仅覆盖12博下载app的一个子部分。过滤器中的值与12博下载app中的值相乘。然后将滤镜移到上方以形成12博下载app新部分的表示,然后重复该过程,直到覆盖了整个12博下载app。

对此进行考虑的另一种方法是想象一堵砖墙,这些砖墙代表输入12博下载app中的像素。一个“窗口”沿着过滤器的墙壁来回滑动。可以通过窗口查看的积木是像素值乘以滤镜中的值的像素。因此,这种使用过滤器创建权重的方法通常称为“滑动窗口”技术。

围绕整个输入12博下载app移动的滤镜的输出是代表整个12博下载app的二维数组。该数组称为 “功能图”.

为什么卷积必不可少

反正创建卷积的目的是什么?卷积是必需的,因为神经网络必须能够将12博下载app中的像素解释为数值。卷积层的功能是将12博下载app转换为神经网络可以解释的数值,然后从中提取相关的模式。卷积网络中过滤器的工作是创建一个二维值数组,这些值可以传递到神经网络的后续层中,这些层将学习12博下载app中的模式。

过滤器和渠道

Photo: cecebur via Wikimedia Commons, CC BY SA 4.0 (//commons.wikimedia.org/wiki/File:Convolutional_Neural_Network_NeuralNetworkFeatureLayers.gif)

CNN不仅使用一种过滤器来从输入12博下载app中学习图案。 使用多个过滤器,因为由不同过滤器创建的不同数组会导致输入12博下载app的显示更加复杂,丰富。 CNN的常见过滤器数是32、64、128和512。过滤器越多,CNN不得不检查输入数据并从中学习的机会就越多。

CNN分析像素值的差异,以确定对象的边界。在灰度12博下载app中,CNN只会查看黑白的明暗对比。当12博下载app是彩色12博下载app时,CNN不仅要考虑暗和亮,而且还必须考虑三种不同的颜色通道–红色,绿色和蓝色–也考虑在内。在这种情况下,滤镜拥有3个通道,就像12博下载app本身一样。滤镜具有的通道数称为深度,滤镜中的通道数必须与12博下载app中的通道数匹配。

卷积神经网络(CNN) 建筑

让我们看一下完整的架构 卷积神经网络。 在每个卷积网络的开头都存在一个卷积层,因为有必要将12博下载app数据转换为数值数组。但是,卷积层也可以紧随其他卷积层之后,这意味着这些层可以彼此堆叠。具有多个卷积层意味着来自一层的输出可以进行进一步的卷积并以相关模式组合在一起。实际上,这意味着随着12博下载app数据通过卷积层,网络开始“识别”12博下载app的更复杂特征。

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

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

专门从事以下工作的Blogger和程序员 机器学习 深度学习 话题。 Daniel希望帮助他人将AI的力量用于社会公益。