博客
关于我
2.卷积神经网络CNN结构及其模型
阅读量:165 次
发布时间:2019-02-28

本文共 2179 字,大约阅读时间需要 7 分钟。

一、卷积神经网络分为以下层次:

一般的层次为:输入层->卷积层->ReLU激励层->池化层->全连接层

各层参数的个数:

1. 数据输入层---input layer

常用数据处理方式:

    

图像里只用去均值---中心化--加减某值--目的就是把样本的中心拉回到坐标系原点上

1)227x227x3---去均值----像素相加/像素个数得到均值矩阵,每次减去矩阵-------Alexnet的方法!

2)VGG方法!----三个颜色通道均值,分别减去三个均值!

2.卷积计算层--conv layer

每个神经元---->一个filter滤波器-----窗口滑动,即filter对局部数据计算;

深度/depth----图中圆圈的个数,即神经元个数,每个圆圈代表一个滑动窗口,窗口内每个像素都有一个权重w;

步长/stride-------窗口每次滑动的像素个数;

填充值/zero-padding-----为了整除,边缘补0;

计算方法:

y = wx + b;

w即图中3x3的矩阵;b是指偏置项;

三通道分别求卷积,然后求和,得到输出的图像,所以有几个卷积核就有几个输出。

在卷积层中每个神经元连接数据窗的权重是固定的,每个神经元只关注一个特性。神经元就是图像处理中的滤波器,比如边缘检测专用的Sobel滤波器,即卷积层的每个滤波器都会有自己所关注一个图像特征,比如垂直边缘,水平边缘,颜色,纹理等等,这些所有神经元加起来就好比就是整张图像的特征提取器集合。

3.激励层---Relu layer

actvation  function---激活函数去过滤!---f()

用的多的是Relu----如艾路---(The Rectified Linear Unit/修正线性单元),它的特点是收敛快,求梯度简单,但较脆弱。

Relu---0~正无穷---输入小于0的坏的部分删除,只取正的部分;

缺点---全部数据都在小于0部分---概率小!-----leak Relu来修正!小于0部分斜率很小!放一部分进去!

4. 池化层---Pooling layer

夹在连续的卷积层之间---作用是下采样!-----压缩数据和参数的量,减小过拟合!

方法是----求均值或者求最大值!----图像一般用Max pooling!

关于池化层的理解:

1. 特征不变性,也就是我们在图像处理中经常提到的特征的尺度不变性,池化操作就是图像的resize,平时一张狗的图像被缩小了一倍我们还能认出这是一张狗的照片,这说明这张图像中仍保留着狗最重要的特征,我们一看就能判断图像中画的是一只狗,图像压缩时去掉的信息只是一些无关紧要的信息,而留下的信息则是具有尺度不变性的特征,是最能表达图像的特征。

2. 特征降维,我们知道一幅图像含有的信息是很大的,特征也很多,但是有些信息对于我们做图像任务时没有太多用途或者有重复,我们可以把这类冗余信息去除,把最重要的特征抽取出来,这也是池化操作的一大作用。

3. 在一定程度上防止过拟合,更方便优化。

5.全连接层---FC layer

两层之间所有神经元权重连接;---一般在CNN的尾部!

M是以上结构的个数 ;N是卷积层个数;

卷积层1后留下学习后的东西---轮廓,颜色等!

卷积层2----?。。。。。。解释不清楚!

二、CNN的训练算法

1)Loss函数

2)找到最小化损失函数的W和b-------SGD算法/随机梯度下降法(求W和b的偏导数-----BP算法--求导的链式法则求dW和db)

除了SGD还有---Adam........

三、优缺点

如何理解卷积神经网络中的权值共享?

就是整张图片在使用同一个卷积核内的参数,比如一个3*3*1的卷积核,这个卷积核内9个的参数被整张图共享,而不会因为图像内位置的不同而改变卷积核内的权系数。

无论图像的尺寸是多大,都可以选择固定尺寸的卷积核,LeNet中最大的卷积核只有5*5*1,而在AlexNet中最大的卷积核也不过是11*11*3。而卷积操作保证了每一个像素都有一个权系数,只是这些系数是被整个图片共享的,着大大减少了卷积核中的参数量。此外卷积操作利用了图片空间上的局部相关性,这也就是CNN与传统神经网络或机器学习的一个最大的不同点,特征的自动提取。 

CNN利器之感受野:

通俗点的解释是,特征图上的一个点对应输入图上的区域;

对感受野的理解:

结论: 随着卷积层数的逐渐增加,感受野的范围在逐渐扩大,也就是说,越靠近后面的输出,所受到的图像的像素影响的范围更加宽阔。卷积神经网络正是通过这种层层推进的方式,每一个卷基层都能学习到不同的特征,最后实现相关的识别、分类等功能的。

四、Dropout-随机失活正则化方法

约束过拟合!----Dropout-----训练时关掉一部分学习单元!

五、典型的CNN

 

AlexNet结构

ZFnet只是比上一个调了参数!

 

 

六、调优训练

w参数用别人训练好的初始化。------fine-tuning就是使用已用于其他目标、预训练好模型的权重或者部分权重,作为初始值开始训练。

那fine-tuning的具体做法是?

  • 复用相同层的权重,新定义层取随机权重初始值
  • 调大新定义层的的学习率,调小复用层学习率

 

 

参考:

 

转载地址:http://ussc.baihongyu.com/

你可能感兴趣的文章
MySQLSyntaxErrorException: Unknown error 1146和SQLSyntaxErrorException: Unknown error 1146
查看>>
Mysql_Postgresql中_geometry数据操作_st_astext_GeomFromEWKT函数_在java中转换geometry的16进制数据---PostgreSQL工作笔记007
查看>>
mysql_real_connect 参数注意
查看>>
mysql_secure_installation初始化数据库报Access denied
查看>>
MySQL_西安11月销售昨日未上架的产品_20161212
查看>>
Mysql——深入浅出InnoDB底层原理
查看>>
MySQL“被动”性能优化汇总
查看>>
MySQL、HBase 和 Elasticsearch:特点与区别详解
查看>>
MySQL、Redis高频面试题汇总
查看>>
MYSQL、SQL Server、Oracle数据库排序空值null问题及其解决办法
查看>>
mysql一个字段为空时使用另一个字段排序
查看>>
MySQL一个表A中多个字段关联了表B的ID,如何关联查询?
查看>>
MYSQL一直显示正在启动
查看>>
MySQL一站到底!华为首发MySQL进阶宝典,基础+优化+源码+架构+实战五飞
查看>>
MySQL万字总结!超详细!
查看>>
Mysql下载以及安装(新手入门,超详细)
查看>>
MySQL不会性能调优?看看这份清华架构师编写的MySQL性能优化手册吧
查看>>
MySQL不同字符集及排序规则详解:业务场景下的最佳选
查看>>
Mysql不同官方版本对比
查看>>
MySQL与Informix数据库中的同义表创建:深入解析与比较
查看>>