卷积神精网络的工作原理

来源:互联网 发布:手表选择 知乎 编辑:程序博客网 时间:2024/06/06 10:38
作者:爱就投
链接:https://www.zhihu.com/question/39022858/answer/120076653
来源:知乎
著作权归作者所有。商业转载请联系作者获得授权,非商业转载请注明出处。

通过一个图像分类问题介绍卷积神经网络是如何工作的。下面是卷积神经网络判断一个图片是否包含“儿童”的过程,包括四个步骤:图像输入(Input Image)→卷积(Convolution)→最大池化(Max Pooling)→全连接神经网络(Fully-Connected Neural Network)计算。

<img src="https://pic2.zhimg.com/548c7958e9b20196c34cc5efe2d38991_b.png" data-rawwidth="884" data-rawheight="706" class="origin_image zh-lightbox-thumb" width="884" data-original="https://pic2.zhimg.com/548c7958e9b20196c34cc5efe2d38991_r.png">

首先将图片分割成如图19的重叠的独立小块;图19中,这张照片被分割成了77张大小相同的小图片。

<img src="https://pic1.zhimg.com/b563e0cbe4fc62215b8b7af6205242a4_b.png" data-rawwidth="1024" data-rawheight="649" class="origin_image zh-lightbox-thumb" width="1024" data-original="https://pic1.zhimg.com/b563e0cbe4fc62215b8b7af6205242a4_r.png">接下来将每一个独立小块输入小的神经网络;这个小的神经网络已经被训练用来判断一个图片是否属于“儿童”类别,它输出的是一个特征数组。接下来将每一个独立小块输入小的神经网络;这个小的神经网络已经被训练用来判断一个图片是否属于“儿童”类别,它输出的是一个特征数组。

<img src="https://pic1.zhimg.com/0d4eeabf87fb7c13d440d5e8eab11aa0_b.png" data-rawwidth="759" data-rawheight="267" class="origin_image zh-lightbox-thumb" width="759" data-original="https://pic1.zhimg.com/0d4eeabf87fb7c13d440d5e8eab11aa0_r.png">标准的数码相机有红、绿、蓝三个通道(Channels),每一种颜色的像素值在0-255之间,构成三个堆叠的二维矩阵;灰度图像则只有一个通道,可以用一个二维矩阵来表示。标准的数码相机有红、绿、蓝三个通道(Channels),每一种颜色的像素值在0-255之间,构成三个堆叠的二维矩阵;灰度图像则只有一个通道,可以用一个二维矩阵来表示。

将所有的独立小块输入小的神经网络后,再将每一个输出的特征数组按照第一步时77个独立小块的相对位置做排布,得到一个新数组。

<img src="https://pic3.zhimg.com/a18471cc3ad16f989b15bdc8280613da_b.png" data-rawwidth="780" data-rawheight="635" class="origin_image zh-lightbox-thumb" width="780" data-original="https://pic3.zhimg.com/a18471cc3ad16f989b15bdc8280613da_r.png">第二步中,这个小的神经网络对这77张大小相同的小图片都进行同样的计算,也称权重共享(Shared Weights)。这样做是因为,第一,对图像等数组数据来说,局部数组的值经常是高度相关的,可以形成容易被探测到的独特的局部特征;第二,图像和其它信号的局部统计特征与其位置是不太相关的,如果特征图能在图片的一个部分出现,也能出现在任何地方。所以不同位置的单元共享同样的权重,并在数组的不同部分探测相同的模式。数学上,这种由一个特征图执行的过滤操作是一个离散的卷积,卷积神经网络由此得名。第二步中,这个小的神经网络对这77张大小相同的小图片都进行同样的计算,也称权重共享(Shared Weights)。这样做是因为,第一,对图像等数组数据来说,局部数组的值经常是高度相关的,可以形成容易被探测到的独特的局部特征;第二,图像和其它信号的局部统计特征与其位置是不太相关的,如果特征图能在图片的一个部分出现,也能出现在任何地方。所以不同位置的单元共享同样的权重,并在数组的不同部分探测相同的模式。数学上,这种由一个特征图执行的过滤操作是一个离散的卷积,卷积神经网络由此得名。

卷积步骤完成后,再使用Max Pooling算法来缩减像素采样数组,按照2×2来分割特征矩阵,分出的每一个网格中只保留最大值数组,丢弃其它数组,得到最大池化数组(Max-Pooled Array)。

<img src="https://pic2.zhimg.com/2bfb124a0ecc6bd76fb0e420285e69b9_b.png" data-rawwidth="883" data-rawheight="363" class="origin_image zh-lightbox-thumb" width="883" data-original="https://pic2.zhimg.com/2bfb124a0ecc6bd76fb0e420285e69b9_r.png">接下来将最大池化数组作为另一个神经网络的输入,这个全连接神经网络会最终计算出此图是否符合预期的判断。接下来将最大池化数组作为另一个神经网络的输入,这个全连接神经网络会最终计算出此图是否符合预期的判断。

<img src="https://pic3.zhimg.com/7c32be1b79f3ccc6d1b7d95f1a0a6dfa_b.png" data-rawwidth="505" data-rawheight="461" class="origin_image zh-lightbox-thumb" width="505" data-original="https://pic3.zhimg.com/7c32be1b79f3ccc6d1b7d95f1a0a6dfa_r.png">在实际应用时,卷积、最大池化和全连接神经网络计算,这几步中的每一步都可以多次重复进行,总思路是将大图片不断压缩,直到输出单一的值。使用更多卷积步骤,神经网络就可以处理和学习更多的特征。在实际应用时,卷积、最大池化和全连接神经网络计算,这几步中的每一步都可以多次重复进行,总思路是将大图片不断压缩,直到输出单一的值。使用更多卷积步骤,神经网络就可以处理和学习更多的特征。

0 0