梯度下降法原理和步骤_梯度下降法和正规方程_梯度下降法流程

简 介: 这是在CSDN上2021-11-19发布的一篇深度学习的卷积神经网,内容整理的精简,移动,现在将其进行转载,并发布在公众号“”中。深度学习-卷积神经网络(CNN)[1] :

关键词: CNN

01 基本原理

卷积神经网络的基本结构大致包括:卷积层、激活函数、池化层、全连接层、输出层等。

梯度下降法和正规方程_梯度下降法流程_梯度下降法原理和步骤

▲ 图1.1 CNN的基本结构

梯度下降法和正规方程_梯度下降法原理和步骤_梯度下降法流程

▲ 图1.2 CNN 的基本结构

一、卷积层1、二维卷积

给定二维的图像作为输入,二维卷积核,卷积运算可以表示为:$Sleft( {i,j} right) = left( {I * K} right)left( {i,j} right) = sum{} {sum{} {Ileft( {i – m,j – n} right) cdot Kleft( {m,n} right)} }$

卷积运算中的卷积核需要进行上下翻转和左右翻转:

如果忽略卷积核的左右翻转,对于实数卷积实际上与互相换运算是一致的:

梯度下降法原理和步骤_梯度下降法和正规方程_梯度下降法流程

▲ 图1.1.1 二维卷积 运算示意图

2、卷积步长

卷积步长,也就是每次卷积核移动的步长。

下图显示了卷积步长分别为1,2两种情况下的输出结果。从中可以看到,当步长大于1之后,相当于从原来的的步长为1的情况下结果进行降采样。

梯度下降法流程_梯度下降法和正规方程_梯度下降法原理和步骤

▲ 图1.1.2 卷积步长分别为1,2两种情况下输出的结果

3、卷积模式

根据结果是否要求卷积核与原始图像完全重合,部分重合以及结果尺寸的要求,卷积模式包括有三种:

下面显示了三种卷积模式对应的情况。实际上可以通过对于原始图像补零()然后通过模式获得前面的Full,Same两种模式的卷积结果。

梯度下降法流程_梯度下降法和正规方程_梯度下降法原理和步骤

▲ 图1.1.3 三种卷积模式示意图

4、数据填充(1)边缘填充

数据填充,也称为。如果有一个尺寸为的图像,使用尺寸为卷积核进行卷积操作,在进行卷积之前对于原图像周围填充层数据,可以影响卷积输出结果尺寸。

下面就是对于原始的图像周围进行1层的填充,可以将模式卷积结果尺寸增加1。

梯度下降法和正规方程_梯度下降法流程_梯度下降法原理和步骤

▲ 图1.1.4 对于原始的图像周围进行1层的填充,可以将模式卷积结果尺寸增加1

▲ 图1.1.5 边缘填充,步长为2的卷积

(2)膨胀填充

对于数据的填充也可以使用数据上采样填充的方式。这种方式主要应用在转置卷积(反卷积中)。

梯度下降法和正规方程_梯度下降法流程_梯度下降法原理和步骤

▲ 图1.1.6 转置卷积对于数据膨胀填充

5、感受野

感受野:卷积神经网络每一层输出的特征图()上的像素点在输 入图片上映射的区域大小,即特征图上的一个点对应输入图上的区 域。

下图反映了经过几层卷积之后,卷积结果所对应前几层的图像数据范围。

梯度下降法和正规方程_梯度下降法流程_梯度下降法原理和步骤

▲ 图1.1.7 经过几层卷积之后,卷积结果所对应前几层的图像数据范围

计算感受野的大小,可以从后往前逐层计算:

● 公式中:

Si:第i层步长,

Ki:第i层卷积核大小, Size

感受野的大小除了与卷积核的尺寸、卷积层数,还取决与卷积是否采用空洞卷积( )有关系:

梯度下降法和正规方程_梯度下降法流程_梯度下降法原理和步骤

▲ 图1.1.8 卷积核进行膨胀之后,进行空洞卷积可以扩大视野的范围

梯度下降法和正规方程_梯度下降法流程_梯度下降法原理和步骤

▲ 图1.1.9 空洞卷积尺寸放大两倍的情况

6、卷积深度

卷积层的深度(卷积核个数):一个卷积层通常包含多个尺寸一致的卷积核。如果在CNN网络结构中,一层的卷积核的个数决定了后面结果的层数,也是结果的厚度。

梯度下降法流程_梯度下降法原理和步骤_梯度下降法和正规方程

▲ 图1.1.10 多个卷积核形成输出结果的深度(厚度)

7、卷积核尺寸

卷积核的大小一般为奇数奇数 1×1,3×3,5×5,7×7都是最常见的。这是为什么呢?为什么没有偶数偶数?

(1)更容易

在卷积时,我们有时候需要卷积前后的尺寸不变。这时候我们就需要用到。假设图像的大小,也就是被卷积对象的大小为,卷积核大小为,的幅度设为时,卷积后的输出就为,即卷积输出为,保证了卷积前后尺寸不变。但是如果是偶数的话,就不是整数了。

(2)更容易找到卷积锚点

在CNN中,进行卷积操作时一般会以卷积核模块的一个位置为基准进行滑动,这个基准通常就是卷积核模块的中心。若卷积核为奇数,卷积锚点很好找,自然就是卷积模块中心,但如果卷积核是偶数,这时候就没有办法确定了,让谁是锚点似乎都不怎么好。

梯度下降法原理和步骤_梯度下降法流程_梯度下降法和正规方程

▲ , LeNET CNN的结构示意图

二、激活函数

激活函数是用来加入非线性因素,提高网络表达能力,卷积神经网络中最常用的是ReLU,使用较少。

梯度下降法原理和步骤_梯度下降法流程_梯度下降法和正规方程

▲ 图1.2.1 常见到的激活函数

梯度下降法和正规方程_梯度下降法流程_梯度下降法原理和步骤

▲ 图1.2.2 激活函数表达式以及对应的微分函数

1、ReLU函数

ReLU函数的优点:

ReLU函数的缺点:

2、 ReLU

PReLU函数的优点:

PReLU函数的缺点:

3、ELU函数

ELU函数的优点:

ELU函数的缺点:

CNN在卷积层尽量不要使用和Tanh,将导致梯度消失。首先选用ReLU,使用较小的学习率,以免造成神经元死亡的情况。

如果ReLU失效,考虑使用Leaky ReLU、PReLU、ELU或者,此时一般情况都可以解决

4、特征图三、池化层

池化操作使用某位置相邻输出的总体统计特征作为该位置 的输出,常用最大池化 (max-)和均值池化(- ) 。

池化层不包含需要训练学习的参数,仅需指定池化操作的核大小、操作步幅以及池化类型。

梯度下降法和正规方程_梯度下降法流程_梯度下降法原理和步骤

▲ 图1.3.1 最大值池化一是均值池化示意图

池化的作用:

四、全连接与输出层

输出层:

梯度下降法和正规方程_梯度下降法流程_梯度下降法原理和步骤

五、CNN的训练1、网络训练基本步骤

CNN的训练,也称神经网络的学习算法与经典BP网络是一样的,都属于随机梯度下降(SGD: ),也称增量梯度下降,实验中用于优化可微分目标函数的迭代算法。

注:卷积核个数、卷积核尺寸、网络架构这些参数,是在 Step 1 之前就已经固定的,且不会在训练过程中改变——只有卷 积核矩阵和神经元权重会更新。

2、网络等效为BP网络

和多层神经网络一样,卷积神经网络中的参数训练也是使用误差反向传播算法,关于池化层的训练,需要再提一下,是将池化层改为多层神经网络的形式:

梯度下降法原理和步骤_梯度下降法流程_梯度下降法和正规方程

▲ 图1.5.1 神经网络中池化层对应着多层神经网络

梯度下降法原理和步骤_梯度下降法流程_梯度下降法和正规方程

▲ 图1.5.2 卷积层对应的多层神经网络的形式

梯度下降法原理和步骤_梯度下降法流程_梯度下降法和正规方程

▲ 图1.5.3 卷积层对应的多层神经网络形式

3、每层特征图尺寸

● 其中:

[]:是向下取整符号,用于结果不是整数时向下取整

02 经典CNN

梯度下降法原理和步骤_梯度下降法和正规方程_梯度下降法流程

▲ 图2.1 CNN发展脉络

一、LeNet-51、简介

LeNet-5由LeCun等人提出于1998年提出,主要进行手写数字识别和英文字母识别。经典的卷积神经网络,LeNet虽小,各模块齐全,是学习 CNN的基础。

参考:

Y. LeCun, L. , Y. , and P. . -based to . of the IEEE, 1998.

2、网络结构

梯度下降法和正规方程_梯度下降法流程_梯度下降法原理和步骤

▲ 图2.1.1 LeNet-5网络结构

$y_i = sum{} {left( {x – j – w_{ij} } right)2 } $

二、、简介

由的学生Alex 于2012年提出,获得 LSVRC-2012(物体识别挑战赛)的冠军,1000个类别120万幅高清图像(Error: 26.2%(2011) →15.3%(2012)),通过确定了CNN在计算机视觉领域的王者地位。

参考:A. , I. , and G. . with deep . In NIPS, 2012.

2、网络结构

可分为8层(池化层未单独算作一层),包括5个卷 积层以及3个全连接层:

梯度下降法原理和步骤_梯度下降法和正规方程_梯度下降法流程

▲ 图2.2.1 网络结构

三、、简介

由牛津大学和公司提出:

参考:K. and A. . Very deep for large-scale image . In ICLR, 2015.

比较常用的是VGG-16,结构规整,具有很强的拓展性。相较于,VGG-16网络模型中的卷积层均使用 3 ∗ 3 333∗3 的 卷积核,且均为步长为1的same卷积,池化层均使用 2 ∗ 2 222∗2 的 池化核,步长为2。

2、网络结构

梯度下降法和正规方程_梯度下降法原理和步骤_梯度下降法流程

▲ 图2.3.1 网络结构

四、 Net1、简介

Net 是公司2014年提出,获得 LSVRC-2014冠军。文章提出获得高质量模型最保险的做法就是增加模型的深度(层数)或者是其宽度(层核或者神经元数),采用了22层网络。

四个版本所对应的论文及中的Top-5错误率:

2、网络结构

梯度下降法原理和步骤_梯度下降法和正规方程_梯度下降法流程

▲ 图2.4.1 Net网络结构

五、、简介

( ),又叫做残差神经网 络,是由微软研究院的何凯明等人2015年提出,获得 2015比赛冠军,获得最佳论文奖。

随着卷积网络层数的增加,误差的逆传播过程中存在的梯 度消失和梯度爆炸问题同样也会导致模型的训练难以进行,甚至会出现随着网络深度的加深,模型在训练集上的训练误差会出现先降低再升高的现象。残差网络的引入则有助于解决梯度消失和梯度爆炸问题。

残差块:

的核心是叫做残差块( block)的小单元, 残差块可以视作在标准神经网络基础上加入了跳跃连接(Skip )。

梯度下降法流程_梯度下降法原理和步骤_梯度下降法和正规方程

▲ 图2.5.1 原链接结构示意图

梯度下降法流程_梯度下降法和正规方程_梯度下降法原理和步骤

▲ 图2.5.2 跳跃结构示意图

记:

我们有:

梯度下降法和正规方程_梯度下降法流程_梯度下降法原理和步骤

六、、简介

中,两个层之间都有直接的连接,因此该网络的直接连接个数为L(L+1)/2。

对于每一层,使用前面所有层的特征映射作为输入,并且使用其自身的特征映射作为所有后续层的输入:

梯度下降法原理和步骤_梯度下降法和正规方程_梯度下降法流程

▲ 图2.6.1 示意图

参考:Huang, G., Liu, Z., Van Der , L., & , K. Q. (2017). . In of the IEEE on and (pp. 4700- 4708).

2、网络结构

5层的稠密块示意图:

梯度下降法和正规方程_梯度下降法流程_梯度下降法原理和步骤

▲ 图2.6.2 5层的结构

可以自然地扩展到数百个层,而没有表现出优化困难。在实验中,随着参数数量的增加,在精度上产生一致的提高,而没有任何性能下降或过拟合的迹象。

优点:

※ 总  结 ※

———END———
限 时 特 惠: 本站每日持续更新海量各大内部创业教程,永久会员只需109元,全站资源免费下载 点击查看详情
站 长 微 信: nanadh666

声明:1、本内容转载于网络,版权归原作者所有!2、本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。3、本内容若侵犯到你的版权利益,请联系我们,会尽快给予删除处理!