CNN卷积神经网络结构及参数配置

来源:机器学习算法与自然语言处理

作者:白雪峰

转载于:https://blog.csdn.net/np4rHI455vg29y2/article/details/78958121

1、CNN例子

Yann LeCun提出的最基本和开始的CNN结构图

CNN卷积神经网络结构及参数配置

CNN卷积神经网络结构及参数配置



2、什么是CNN



2.1、什么是卷积

连续和离散卷积的定义:

CNN卷积神经网络结构及参数配置

特点:

CNN卷积神经网络结构及参数配置

2.2、离散卷积的例子

丢骰子时加起来要等于4的概率是多少?

CNN卷积神经网络结构及参数配置

二维离散的卷积

CNN卷积神经网络结构及参数配置

计算的动图如下

CNN卷积神经网络结构及参数配置

2.3、用到二维图像上

关于卷积中常用到的一些概念:神经网络的卷积是对应位相乘,现在是信号相乘。

在图像处理中,卷积通常被称作为filtering,现在也有很多著名的filtering/convolution kernels都是在图像中抓取直观特征的。

下面移动的小矩阵有两种叫法:一种叫做滤波器filter,一种叫做卷积核kernel,是相同东西的两种不同叫法。

CNN卷积神经网络结构及参数配置

CNN卷积神经网络结构及参数配置

2.4、用到神经网络中

我们其实需要学习的就是里面的线上面对应的权值,比如下面绿色的代表3*1的卷积核大小,只是这里用神经网络的结构表示出来了。

CNN卷积神经网络结构及参数配置

2.5、卷积的细节

  • filter/kernel size, number

假设神经网络的输入是6*6的图像。

CNN卷积神经网络结构及参数配置

其中每个卷积核代表提取不同的特征,多个卷积核提取的特征然后进行组合(这样更强大),一同送入到后续的结构。

下面来一个更通俗的解释:

CNN卷积神经网络结构及参数配置

每个人代表一个卷积核来进行提取不同的特征,一个人是弱小的,但是一组人就强大了,他们有着不同的知识(权重),这样类比来理解,就会好理解很多。

  • stride

使用filter扫描图片的步的大小。

CNN卷积神经网络结构及参数配置

  • zero-padding

一种不忽略边界模式的方法。

新图像要比原图像更小。

CNN卷积神经网络结构及参数配置

  • channel

CNN卷积神经网络结构及参数配置

2.6、池化(pooling)

池化层从它们的输入中子取样。

1)、Spatial pooling(也称作subsampling或者downsampling)减少每个特征映射的维度。

2)、保持最重要的信息。

max pooling例子(average pooling etc)

CNN卷积神经网络结构及参数配置

  • Pooling具有局部不变性。
  • 图像往左或者往右移动,pooling的结果是不变的。

CNN卷积神经网络结构及参数配置

2.7、flatten

CNN卷积神经网络结构及参数配置

2.8、Convolution VS Fully Connected

CNN卷积神经网络结构及参数配置

CNN卷积神经网络结构及参数配置

CNN卷积神经网络结构及参数配置

2.9、CNN的整体

CNN卷积神经网络结构及参数配置

所以从整体来看,CNN的组成:

  • Convolution(卷积层)
  • Nolinearity:e.g ReLu(非线性转化)
  • Pooling(池化)
  • FC Layers(全连接层)

CNN卷积神经网络结构及参数配置



3、为什么CNN有效



3.1、一些模式是比整幅图像更小的图像

CNN卷积神经网络结构及参数配置

3.2、一些相同的模式出现在不同的区域中

CNN卷积神经网络结构及参数配置

3.3、子采样像素不会改变对象

CNN卷积神经网络结构及参数配置

CNN卷积神经网络结构及参数配置



4、对CNN的一些其他理解



4.1、关于接受域(receptive field)

称在底层中影响上层输出单元s的单元合集为s的接受域(receptive field)。

CNN卷积神经网络结构及参数配置

处于卷积网络更深的层中的单元,它们的接受域要比处在浅层的单元的接受的域更大。如果网络还包含类似步幅卷积或者池化之类的结构特征,这种效应会加强。这意味着在卷积网络中尽管直接连接都是很稀疏的,但处在更深的层中的单元可以间接地链接到全部或者大部分输入图像。(表现性能)

CNN卷积神经网络结构及参数配置

4.2、卷积和池化作为一种无限强的先验

首先,弱先验具有较高的熵值,因此自由性较强,强先验具有较低的熵值,这样的先验在决定参数最终取值时可以起着非常积极的作用。

把卷积网络类比成全连接网络,但对于网络的权重具有无限强的先验。

  • 所有隐藏单元的权重是共享的。

  • 除了一些连续的小单元的权重外,其他的权重都是0.

  • 池化也是一个无限强的先验:每个单元都具有对少量平移的不变性。

卷积和池化可能导致欠拟合!任何其他先验类似,卷积和池化只有当先验的夹着合理且正确时才有用。如果一项任务依赖于保存精确的空间信息,那么在所有的特征上使用池化将会增大训练误差。

根据实际需求选取先验。