第三章 卷积神经网络-1

1.卷积神经网络的起源

1.1 神经认知机 (1980年)

日本福岛邦彦提出的一种假设的生物视觉系统的数学模型

U0层:输入图像数据。

UG层:负责图像对比度提取。

US层(简单细胞层):负责图像特征提取,如边缘、纹理、颜色等图像特征。

UC层(复杂细胞层):支持抗变形、畸变容错。

UC4层:输出识别结果。

1.2 卷积神经网络模型

卷积神经网络的基本结构

典型的卷积神经网络一般由卷积层(含激活函数)、池化层、全连接层和输出层构成,其中卷积层与池化层一般交替排列,之后接一层或者多层全连接层,最后是输出层

2.卷积层

2.1 卷积层运算和填充

2.1.1 卷积运算

卷积运算(Convolution)是数学中的常见运算,分为离散卷积连续卷积

2.2.2 二维卷积运算

给定二维的图像I作为输入,二维卷积核K, 卷积运算可表示为:

卷积核需要进行上下翻转和左右反转;K是二维的3x3矩阵

卷积神经网络中的“卷积”实际上是互相关,不是矩阵乘法运算

卷积核相当于传统计算机视觉领域中的特征算子,用于提取图像特征。

不同步长示例:当步长为1和2时

2.2.3 数据填充

如果我们有一个 n×n 的图像,使用 f×f 的卷积核进行卷积操作, 在进行卷积操作之前我们在图像周围填充p层数据,输出的维度:

卷积的模式: 在使用PyTorch等深度学习框架时,卷积层有Padding参数,有三种选择:‘Full’ 、 ‘Valid’和‘Same’ 。 ‘Full’表示需要填充,当卷积核与输入开始接触时进行卷积操作, ‘Valid’表示不需要填充, ‘Same’表示需要填充并保证输出与输入具有相同的尺寸。

2.2.4 卷积输出维度

如果我们有一个 n×n 的图像,使用 f×f 的卷积核进行卷积操作, 在进行卷积操作之前我们在图像周围填充p层数据,步幅为s。输出的维度为:

2.2 卷积神经网络的感受野

2.2.1 感受野

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

2.2.2 感受野计算

可以采用从后往前逐层计算

第i层的感受野大小和第i-1层的卷积核大小和步长有关系,同时也与第(i-1)层感受野大小有关

假设最后一层(卷积层或池化层)输出特征图感受野的大小(相对于其直 接输入而言)等于卷积核的大小

例如2个卷积层,第1层3x3卷积核,stride是2,第2层2x2卷积核

RF2=2;RF1=(2-1)*2+3=5;即输出在输入图片上的感受野为5x5

例如稍微复杂点的网络:

2.3 单通道卷积和多通道卷积

通道(Channel):一般指的图像的颜色通道。

单通道图像:一般指的灰度图像 。

多通道图像:一般指的基于RGB的图像,有R、G、B三个 通道。

特征图(Feature map):经卷积和激活函数处理后的图像。

2.3.1 单通道卷积:单通道图像的卷积

2.3.2 多通道卷积:多通道图像的卷积

多卷积核多通道卷积(卷积计算):求和+偏置

2.4 卷积层的作用

卷积层的深度指的是卷积核个数

浅层卷积层:提取的是图像基本特征,如边缘、方向和纹理等特征。

深层卷积层:提取的是图像高阶特征,出现了高层语义模式, 如 “车轮” 、 “人脸”等特征。

3.激活函数

激活函数的引入,增强了人工神经网络的非线性表达能力 ,从而提高了模型的学习能力。

在人工神经网络发展的初期,Sigmoid激活函数起到了十分 重要的作用,但随着人工神经网络层数的增加以及反向传播算法的使用,会产生梯度消失问题。

在卷积神经网络中,为了缓解梯度消失问题,常用的激活函数有ReLU、PReLU、ERU和Maxout

3.1 Sigmoid激活函数的定义

Sigmoid激活函数存在“梯度饱和效应”问题,即Sigmoid激活函数两端梯度都趋于0,因此在使用误差反向传播算法进行网络训练时,该区域的误差无法传递到前一层,从而导致网络训练失败

3.2 Tanh激活函数的定义

Tanh激活函数同样存在“梯度饱和效应”问题,即Tanh激活函数两端梯度也都趋于0,因此在使用误差反向传播算法进行网络训练时,该区域的误差也无法传递到前一层,从而导致网络训练失败

3.3 ReLU激活函数的定义

与Sigmoid激活函数相比,ReLU在x≥0部分消除了“梯度饱和效应” ,且计算更简单,速度更快。

但ReLU本身也存在缺陷,如果输入为负值,其梯度等于0,导致 “神经元死亡” ,将无法进行权重更新,进而无法完成网络训练。

即便如此,ReLU仍然是当前深度学习领域中最为常用的激活函数之一。

3.4 PReLU激活函数的定义

其中α是一个需要学习的参数,当指定α=0.01时,又称为Leakly ReLU,当α通过高斯分布随机产生时,又称为随机化的ReLU (Randomized ReLU,RReLU)

PReLU的优点是比Sigmoid激活函数收敛快解决了ReLU 激活函数的“神经元死亡”问题。

PReLU激活函数的缺点是需要再学习一个参数α,工作量变大。

3.5 ELU激活函数的定义

ELU激活函数的优点是处理含有噪声的数据有优势,与Sigmoid激活函数相比更容易收敛。

ELU激活函数的缺点是计算量较大,与ReLU激活函数相比,收敛速度较慢。

3.6 Maxout激活函数的定义

Maxout函数增加一层神经网络,定义:

Maxout函数的优点:能够缓解梯度消失;规避了ReLU神经元死亡的缺点

Maxout函数的缺点:增加了参数和计算量

3.7 卷积神经网络中激活函数选择原则

CNN在卷积层尽量不要使用Sigmoid和Tanh,将导致梯度消失。

首先选用ReLU,使用较小的学习率,以免造成神经元死亡的情况。

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

4.池化层

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

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

4.1 池化的作用

对输入对象进行“降采样(Downsampling)”操作,一定程度上提高了模型的容错能力

保证了当输入出现少量平移时,输出近似不变,增强了网络对输入图像中的小变形、扭曲、平移的鲁棒性(输入里的微小扭曲不会改变池化输出)

池化核的指定相当于在空间范围内对特征图的特征进行了维度约减, 同时缩小了下一层输入的特征图尺寸,进而在一定程度上减少了网络的参数个数和计算量

5.全连接层

全连接层一般由一到多层的全连接神经网络组成

对卷积层和池化层输出的特征 图(二维)进行降维

将学到的特征表示映射到样本标记空间的作用

可以将不同的区域特征合并为一个完整的特征

6.输出层

对于分类问题:使用Softmax函数

对于回归问题:使用线性函数

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

组学之心

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值