CNN
https://blog.****.net/weixin_39568744/article/details/82250663
https://www.zhihu.com/question/52668301/answer/131573702
https://www.cnblogs.com/wj-1314/p/9593364.html
卷积层——提取边缘特征特征
MNIST既可以用全连接神经网络进行训练分类,但CNN是更优的选择,因为CNN一个厉害的地方就在于通过感受野和权值共享 减少了神经网络需要训练的参数的个数
- 局部感知:一般认为人对外界的认知是从局部到全局的,而图像的空间联系也是局部的像素联系较为紧密,而距离较远的像素相关性则较弱。因而,每个神经元其实没有必要对全局图像进行感知,只需要对局部进行感知,然后在更高层将局部的信息综合起来就得到了全局的信息
- 权值共享:使用一个卷积核组可以在整个图片上滑动,生成多个神经元,这些神经元都共享了一组权值。(但这只提取了一种特征?)故需多个卷积核组,不同的卷积核组对应不同的滤波器种类,提取不同的特征(各个卷积核组分别提取向左弯曲曲线、向右弯曲曲线、圆形.....)
从高层次角度而言卷积是如何工作的?每个过滤器可以被看成是特征标识符( feature identifiers)。这里的特征指的是例如直边缘、原色、曲线之类的东西。想一想所有图像都共有的一些最简单的特征。假设第一组过滤器是 7 x 7 x 3 的曲线检测器。(在这一节,为了易于分析,暂且忽略该过滤器的深度为 3 个单元,只考虑过滤器和图像的顶层层面。)作为曲线过滤器,它将有一个像素结构,在曲线形状旁时会产生更高的数值(切记,我们所讨论的过滤器不过是一组数值!)
左图:过滤器的像素表示;右图:曲线检测器过滤器的可视化;对比两图可以看到数值和形状的对应
回到数学角度来看这一过程。当我们将过滤器置于输入内容的左上角时,它将计算过滤器和这一区域像素值之间的点积。拿一张需要分类的照片为例,将过滤器放在它的左上角。
切记,我们要做的是将过滤器与图像的原始像素值相乘。
左图:感受野的可视化;右图:感受野的像素表示 * 过滤器的像素表示
简单来说,如果输入图像上某个形状看起来很像过滤器表示的曲线,那么所有点积加在一起将会得出一个很大的值!让我们看看移动过滤器时会发生什么。
这个值小了很多!这是因为图像的这一部分和曲线检测器过滤器不存在对应。记住,这个卷积层的输出是一个**映射(activation map)。因此,在这个带有一个过滤器卷积的例子里(当筛选值为曲线检测器),**映射将会显示出图像里最像曲线的区域。在该例子中,28 x 28 x 1 的**映射的左上角的值为 6600。高数值意味着很有可能是输入内容中的曲线**了过滤器。**地图右上角的值将会是 0,因为输入内容中没有任何东西能**过滤器(更简单地说,原始图片中的这一区域没有任何曲线)。这仅仅是一组检测右弯曲线的过滤器。还有其它检测左弯曲线或直线边缘的过滤器。过滤器越多,**映射的深度越大,我们对输入内容的了解也就越多
池化层——
- invariance(不变性),计算后不会改变原图像的特征。这种不变性包括translation(平移),rotation(旋转),scale(尺度)
- 在保留主要特征的同时,降维(减少参数),降低计算量
以数字识别为例,图片大小16x16
(1) translation invariance:
图片里有个数字1,我们需要识别出来,这个数字1可能写的偏左一点(图1),这个数字1可能偏右一点(图2),图1到图2相当于向右平移了一个单位,但是图1和图2经过max pooling之后它们都变成了相同的8x8特征矩阵,主要的特征我们捕获到了,同时又将问题的规模从16x16降到了8x8,而且具有平移不变性的特点。图中的a(或b)表示,在原始图片中的这些a(或b)位置,最终都会映射到相同的位置。
(2) rotation invariance:
下图表示汉字“一”的识别,第一张相对于x轴有倾斜角,第二张是平行于x轴,两张图片相当于做了旋转,经过多次max pooling后具有相同的特征
(3) scale invariance:
下图表示数字“0”的识别,第一张的“0”比较大,第二张的“0”进行了较小,相当于作了缩放,同样地,经过多次max pooling后具有相同的特征
全连接层
在整个卷积神经网络中起到“分类器”的作用。如果说卷积层、池化层和**函数层等操作是将原始数据映射到隐层特征空间(把原始的图片数据,转换成隐藏层的数据)的话,全连接层则起到将学到的“分布式特征表示”映射到样本标记空间的作用。
此时在进行的是传统的全连接神经网络的操作。在经过卷积—池化—卷积—池化后,此时的输入层数据已经减少了很多(但全连接层的参数个数占整个网络的80%,依然很多),可以采用全连接神经网络进行分类。