卷积神经网络(CNN)的原理

这是一篇我在博客园看到的文章,真的特别好!!开卷有益,把这篇文章转载复制到此,希望对所有深度学习入门的小伙伴们有益!!
原文地址
深入学习卷积神经网络(CNN)的原理知识卷积神经网络(CNN),这是深度学习算法应用最成功的领域之一,卷积神经网络包括一维卷积神经网络,二维卷积神经网络以及三维卷积神经网络。一维卷积神经网络主要用于序列类的数据处理,二维卷积神经网络常应用于图像类文本的识别,三维卷积神经网络主要应用于医学图像以及视频类数据识别。
下面我的学习分为四部分,首先利用一个形象的例子说明电脑是如何识别图像的,然后在说明什么是神经网络,什么是卷积神经网络,最后介绍常见的几种卷积神经网络。大体的结构就是这样的。
一:如何帮助神经网络识别图像?
人类大脑是一非常强大的机器,每秒内能看(捕捉)多张图,并在意识不到的情况下就完成了对这些图的处理。但机器并非如此。机器处理图像的第一步是理解,理解如何表达一张图像,进而读取图片。
简单来说,每个图像都是一系列特定排序的图点(像素)。如果你改变像素的顺序或颜色,图像也随之改变。举个例子,存储并读取一张上面写着数字 4 的图像。
基本上,机器会把图像打碎成像素矩阵,存储每个表示位置像素的颜色码。在下图的表示中,数值 1 是白色,256 是最深的绿色(为了简化,我们示例限制到了一种颜色)。
卷积神经网络(CNN)的原理_第1张图片
一旦你以这种格式存储完图片信息,下一步就是让神经网络理解这种排序与模式。(表征像素的数值是以特定的方式排序的)

那么如何帮助神经网络识别图像?

假设我们尝试使用全连接网络识别图像,应该如何做?

全连接网络可以通过平化它,把图像当作一个数组,并把像素值当作预测图像中数值的特征。明确地说,让网络理解理解下面图中发生了什么,非常的艰难。
  在这里插入图片描述
  即使人类也很难理解上图中表达的含义是数字 4。我们完全丢失了像素的空间排列。

我们能做什么呢?可以尝试从原图中提取特征,从而保留空间排序。
案例一:
这里我们使用一个权重乘以初始像素值
卷积神经网络(CNN)的原理_第2张图片
现在裸眼识别出这是「4」就变得更简单了。但把它交给全连接网络之前,还需要平整化(flatten) 它,要让我们能够保留图像的空间排列。
在这里插入图片描述
案例二:
现在我们可以看到,把图像平整化完全破坏了它的排列。我们需要想出一种方式在没有平整化的情况下把图片馈送给网络,并且还要保留空间排列特征,也就是需要馈送像素值的 2D/3D 排列。

我们可以尝试一次采用图像的两个像素值,而非一个。这能给网络很好的洞见,观察邻近像素的特征。既然一次采用两个像素,那也就需要一次采用两个权重值了。
卷积神经网络(CNN)的原理_第3张图片
希望你能注意到图像从之前的 4 列数值变成了 3 列。因为我们现在一次移用两个像素(在每次移动中像素被共享),图像变的更小了。虽然图像变小了,我们仍能在很大程度上理解这是「4」。而且,要意识到的一个重点是,我们采用的是两个连贯的水平像素,因此只会考虑水平的排列。

这是我们从图像中提取特征的一种方式。我们可以看到左边和中间部分,但右边部分看起来不那么清楚。主要是因为两个问题:

1. 图片角落左边和右边是权重相乘一次得到的。

2. 左边仍旧保留,因为权重值高;右边因为略低的权重,有些丢失。
现在我们有两个问题,需要两个解决方案。
案例三
遇到这样的问题是图像左右两角只被权重通过一次,我们需要做的是让网络像考虑其他像素一样考虑角落。我们有一个简单的方法解决这一问题:把零放在权重运动的两边。

卷积神经网络(CNN)的原理_第4张图片
你可以看到通过添加零,来自角落的信息被再训练。图像也变得更大。这可被用于我们不想要缩小图像的情况下。
案例四
这里我们试图解决的问题是右侧角落更小的权重值正在降低像素值,因此使其难以被我们识别。我们所能做的是采取多个权重值并将其结合起来。
(1,0.3) 的权重值给了我们一个输出表格
卷积神经网络(CNN)的原理_第5张图片
同时表格 (0.1,5) 的权重值也将给我们一个输出表格。
卷积神经网络(CNN)的原理_第6张图片
两张图像的结合版本将会给我们一个清晰的图片。因此,我们所做的是简单地使用多个权重而不是一个,从而再训练图像的更多信息。最终结果将是上述两张图像的一个结合版本。
案例五
我们到现在通过使用权重,试图把水平像素(horizontal pixel)结合起来。但是大多数情况下我们需要在水平和垂直方向上保持空间布局。我们采取 2D 矩阵权重,把像素在水平和垂直方向上结合起来。同样,记住已经有了水平和垂直方向的权重运动,输出会在水平和垂直方向上低一个像素。
卷积神经网络(CNN)的原理_第7张图片
所以,我们做了什么?
上面我们所做的事是试图通过使用图像的空间的安排从图像中提取特征。为了理解图像,理解像素如何安排对于一个网络极其重要。上面我们所做的也恰恰是一个卷积网络所做的。我们可以采用输入图像,定义权重矩阵,并且输入被卷积以从图像中提取特殊特征而无需损失其有关空间安排的信息。
这个方法的另一个重大好处是它可以减少图像的参数数量。正如所见,卷积图像相比于原始图像有更少的像素。

你可能感兴趣的:(卷积神经网络(CNN)的原理)