CNN

(从理论到实践,手把手教你,

感谢文章:http://www.sohu.com/a/139112707_114877

1.CNN框架:(端到端)

原始图(input 图)——卷积和池化输出的是Feature Map——光栅化——多层感知机预测(全连接,分类器)——output

光栅化目的:

光栅化后得到的是一个一维的向量

为了与传统的多层感知机全连接,最后一个池化层S(完成对原始数据的特征提取)后——S层的特征数据向量化,连接到响应的分类器

分类器如:

SoftMax、BP网络、SVM、等

2.卷积神经网络CNN的结构一般包含这几个层:

● 输入层:用于数据的输入

● 卷积层:使用卷积核进行特征提取和特征映射

● 激励层:由于卷积也是一种线性运算,因此需要增加非线性映射

● 池化层:进行下采样,对特征图稀疏处理,减少数据运算量。

● 全连接层:通常在CNN的尾部进行重新拟合,减少特征信息的损失

● 输出层:用于输出结果

当然中间还可以使用一些其他的功能层:

● 归一化层(Batch Normalization):在CNN中对特征的归一化

● 切分层:对某些(图片)数据的进行分区域的单独学习

● 融合层:对独立进行特征学习的分支进行融合


3.注意:

3.1输入层

1.全连接输入的是一维向量,CNN保留了图片本身的结构


3.2卷积层

作用:使得原信号特征增强,并降低噪音(如,用增强边缘的卷积去处理图像,处理后,边缘特征增强)

局部感知*参数共享*多核*下采样*多层卷积(层数多,提取的特征越全局化)

1.局部感受野和权值共享:

局部?(特征的局部):颜色局部,文理局部,形状局部 ×

局部正确的理解:

假设输入的是一个 28×28 的的二维神经元,我们定义5×5 的 一个 local receptive fields(感受视野),

即 隐藏层的神经元与输入层的5×5个神经元相连,这个5*5的区域就称之为Local Receptive Fields


作用:减少了神经网络需训练参数的个数

定义:一个点用其周围的点像素值加权平均代替

意义:加权叠加

作用:消除噪声,特征增强

实用:平滑

注意:滤波(尺寸不变)和卷积的区别

2.Feature Map

定义: 一张图(矩阵)经过卷积核(kernal)卷积运算之后得到的一张新的图(矩阵)。
角度:(同一层)一张图片多种角度的描述。
具体: 用多种不同的卷积核对图像进行卷积Filteri,得到不同核上的响应,作为图像的特征。
下层核:主要是一些简单的边缘检测器(simple cell);
上层核:主要是一些简单核的叠加(complex cell)
自底向上一般是核的数量在逐渐变多(例外:Alexnet),主要靠经验。
如:
同一层:
Fliter1 的w1,b1 运算后提取的是 形状边缘的特征: feature map1
Fliter2 的w2,b2 运算后提取的是 颜色深浅的特征: feature map2
下一层:
Fliter3 的w3,b3 运算后提取的是 直线形状的特征: feature map3 
Fliter4 的w4,b4 运算后提取的是 弧线形状的特征: feature map4 
Fliter5 的w5,b5 运算后提取的是 红色深浅的特征: feature map5
Fliter6 的w6,b6 运算后提取的是 绿色深浅的特征: feature map6


3.3.池化:

方式:

mean-pooling和max-pooling

作用:降维,还能改善过拟合

3和4都是特征提取


3.4.全连接:

相当于一个分类器(多层感知机)

全局:在全连接层对之前的所有局部特征进行综合


4.注意:

4.1训练

训练开始,卷积层的滤波器是完全随机,不会对任何特征激活(不能检测任何特征)。所以,反馈修改参数等,达到CNN最优化的检测特定模式。如,定义损失函数L,让L反馈给整个网络,修改参数,让Loss最小(使得L变化收敛“碗”)。在训练CNN时,实际上实在训练一系列滤波器,这些滤波器对特定模式有高的激活,以达到CNN分类/检测的目的。

                      训练过程需要修改的参数:

定义:参数调优能识别特定的特征,这个过程叫做训练

不需要人为的修改:卷积核初始化是随机的,是一个自学习的过程,向最优发展。

需要人为的修改:卷积核的个数,步长等




猜你喜欢

转载自blog.csdn.net/zhaoshuling1109/article/details/78796901
CNN