当前位置:网站首页>深度学习之 10 卷积神经网络3
深度学习之 10 卷积神经网络3
2022-08-04 03:53:00 【水w】
本文是接着上一篇深度学习之 10 卷积神经网络2_水w的博客-CSDN博客
目录
1 参数学习
设计和学习一个神经网络:
Step 1:设计网络的结构:卷积层,池化层,全连接层Step 2:设定超参数 hyper-paramenters卷积层的层数,每个卷积层中卷积核的尺寸、卷积核的个数、卷积操作的步长、 是否padding、训练时的学习率、batch size等如果超参数设置不合理会导致过拟合或者欠拟合!!* 超参定义了关于模型的更高层次的概念,如复杂度或学习能力(容量)* 超参数是在开始学习过程之前设置的,而不是通过训练得到的参数数据* 通常情况下,需要对超参数进行优化,选择一组最优超参数,以提高学习的性能和效果。 (通过验证集配置超参数)Step 3:参数学习 基于大量样本数据,通过误差逆传播算法进行参数学习 (有监督学习)* 在卷积神经网络中,主要有两种不同功能的神经层:卷积层和池化层* 参数为卷积核以及偏置,因此只需要计算卷积层中参数的梯度* 在全连接前馈神经网络中,梯度主要通过每一层的误差项𝛿进行反向传播,由此可以计算每层参数的梯度* 和全连接前馈网络类似,卷积网络也可以通过误差反向传播算法来进行参数学习
2 回顾:卷积神经网络
3 其他卷积方式
(1)普通卷积
(2)转置卷积
一般可通过卷积操作来实现高维特征到低维特征的转换* 比如在一维卷积中,一个5维的输入特征,经过一个大小为3 的卷积核,其输出为3维特征* 如果设置步长大于1,可以进一步降低输出特征的维数。但在一些任务中,我们需要将低维特征映射到高维特征,并且依然希望通过卷积操作来实现 * 转置卷积卷积操作其实可以写为仿射变换的形式仿射变换(Affine Transformation)可以实现高维到低维的转换,也可以实现低维到高维的转换:
卷积操作也可以写成仿射变换的形式
从仿射变换的角度来看两个卷积操作也是形式上的转置关系我们将低维特征映射到高维特征的卷积操作称为转置卷积, 也称为反卷积(Deconvolution)。在卷积网络中,卷积层的前向计算和反向传播也是一种转置关系。
我们可以通过增加卷积操作的步长𝑆>1 来实现对输入特征的下采样操作,大幅降低特征维数我们也可以通过减少转置卷积的步长𝑆<1来实现上采样操作,大幅提高特征维数步长𝑆<1 的转置卷积也称为微步卷积(Fractionally-Strided Convolution)卷积操作的步长为𝑆,则其对应的转置卷积的步长为1𝑆为了实现微步卷积,我们可以在输入特征之间插入 𝑆 − 1 个0来间接地使其移动速度变慢
(3)空洞卷积
Q : 正向传播过程中如何增加输出单元的感受野?① 增加卷积核的大小;② 增加卷积层数;比如两层3 × 3 的卷积可以近似一层5 × 5 卷积的效果;③ 加入池化操作;Q : 这些操作会带来什么问题?① 前两种方式会增加参数数量② 第三种方式会丢失一些信息
空洞卷积(Atrous Convolution)是一种不增加参数数量,同时增加输出单元感受野的方法也称为膨胀卷积(Dilated Convolution)空洞卷积通过给卷积核插入“空洞”来变相地增加其感受野的范围如果在卷积核的每两个元素之间插入 𝐷 − 1 个空洞,卷积核的有效大小为其中𝐷 称为膨胀率(Dilation Rate)。当𝐷 = 1 时卷积核为普通的卷积核。
eg:左图中,原有的数据7x7是不变的,把一个3x3的卷积核对应到5x5的区域上,那么我的这个3x3卷积核中 的9个参数,形成这样的间隔式,使得这9个点的数据是有间隔的。----膨胀率
3x3的卷积核的覆盖范围变大,但是9个参数(信息)没变。起到以3x3的卷积核覆盖7x7的区域的作用。
当一个图片里包含的信息没有那么多时, 这种情况下,我们就可以通过空洞卷积来减少参数量,达到相同的效果。
4 典型网络简介
演化脉络
(1)LeNet 1998
LeNet-5 [LeCun et al., 1998] 虽然提出的时间比较早,但它是一个非常成功的神经网络模型。基于LeNet-5 的手写数字识别系统在20世纪90年代被美国很多银行使用,用来识别支票上面的手写数字。LeNet-5 的网络结构如图所示。最早的深度卷积神经网络模型,用于字符识别。网络具有如下特点:* 卷积神经网络使用三个层作为一个系列: 卷积,池化,非线性* 使用卷积提取空间特征* 使用映射到空间均值的下采样(subsampling)* 双曲线(tanh)或S型(sigmoid)形式的非线性激活* 多层神经网络(MLP)作为最后的分类器LeNet提供了利用卷积层堆叠进行特征提取的框架,开启了深度卷积神经网络的发展。
解释:
简单来说,例如对于C3层第0张特征图,其每一个节点与S2层的第0、1、2共3张特征图的5x5个节点相连接。对于C3层第1张特征图,其每一个节点与S2层的第1、2、3共3张特征图的5x5个节点相连接。
对于C3层第10张特征图,其每一个节点与S2层的第0、1、4、5共4张特征图的5x5个节点相连接。
最后只有一个卷积核覆盖率全部的6个通道。
(2)AlexNet 2012
* 大数据训练:百万级ImageNet图像数据* 防止过拟合:Dropout, 数据增强* 分Group实现双GPU并行,局部响应归一化(LRN)层* 包括5个卷积层、3个池化层、3个全连接层* 非线性激活函数:ReLUAlexNet在LeNet基础上进行了更宽更深的网络设计,首次在CNN中引入了ReLU、Dropout 和Local Response Norm (LRN)等技巧。网络的技术特点如下:*使用ReLU(Rectified Linear Units)作为CNN的激活函数,并验证其效果在较深的网络超过了Sigmoid,成功解决了Sigmoid在网络较深时的梯度消失问题,提高了网络的训练速率。*为避免过拟合,训练时使用Dropout随机忽略一部分神经元。*使用重叠的最大池化(max pooling)。最大池化可以避免平均池化的模糊化效果,而采用重叠技巧可以提升特征的丰富性。* 提出了LRN(局部响应归一化)层,在ReLU后进行归一化处理,对局部神经元的活动创建竞争机制,使得其中响应比较大的值变得相对更大,并抑制其他反馈较小的神经元,增强了模型的泛化能力。* 利用GPU强大的并行计算能力加速网络训练过程,并采用GPU分块训练的方式解决显存对网络规模的限制。* 数据增强:利用随机裁剪和翻转镜像操作增加训练数据量,降低过拟合。
(3)Inception网络
2014 ILSVRC winner (22层)• 参数:GoogLeNet (4M) vs AlexNet (60M)• 错误率:6.7%• Inception网络是由有多个Inception模块和少量的汇聚层堆叠而成。• Inception 网络有多个版本,其中最早的Inception v1 版本就是非常著名的GoogLeNet [Szegedy et al., 2015]。GoogLeNet 不写为GoogleNet,是为了向LeNet 致敬。GoogLeNet 赢得了2014 年ImageNet 图像分类竞赛的冠军。
Inception module 包含四个分支:
* Shortcut短连接分支:将前一层输入通过1×1卷积,最大的作用就是减少维度数(降维),将原始的数据进行融合;* 多尺度滤波分支:输入通过1×1卷积来降维之后分别连接卷积核大小为3和5的卷积;* 池化分支:相继连接3×3 pooling和1×1卷积;改变通道数: 𝑾 × 𝑯 × 𝑪 → 𝑾 × 𝑯 × 𝑪′
Inception module 优点:
*减少网络参数,降低运算量上一层的输出为100x100x128,经过具有256个通道的5x5卷积层之后(stride=1,pad=2),输出数据为100x100x256,其中,卷积层的参数为(不考虑偏置):128x5x5x256= 819200而假如上一层输出先经过具有32个通道的1x1卷积层,再经过具有256个输出的5x5卷积层,那么输出数据仍为100x100x256,但卷积参数量已经减少大约减少了4倍:128x1x1x32 + 32x5x5x256= 204800因此,1×1卷积的作用之一是通过降维减少网络开销。*多尺度、多层次滤波* 多尺度:对输入特征图像分别在3×3和5×5的卷积核上滤波,提高了所学特征的多样性,增强了网络对不同尺度的鲁棒性。* 多层次:通过1×1卷积把具有高度相关性的不同通道的滤波结果进行组合,构建出合理的稀疏结构。因此,1×1卷积的另一作用是对低层滤波结果进行有效的组合。
Inception模块 v1:GoogLeNet
Inception模块 v3
(4)残差网络
问题:是否可以通过简单的层数堆叠学习更好的网络?* 梯度消失和爆炸:随着网络的加深,在网络中反向传播的梯度会随着连乘变得不稳定,变得特别大或者特别小。 => 通过Normalized initialization 和 Batch normalization得到解决。* 网络退化(degradation): 随着网络的加深,准确率首先达到饱和,然后快速退化。 => 在训练集上的错误率同样增加,因此并非受过拟合的影响。56层的网络不见得就比20层的网络好,因为50层网络太难训练了。
简单的层数堆叠不能提升网络性能,如何利用网络加深带来的优势?
引入残差学习
* 实验表明,通过添加恒等映射不能提高网络准确率,因此,网络对恒等映射的逼近存在困难。* 相比于恒等映射,网络对恒等映射附近扰动的学习更加简单。-->残差学习
为什么是残差?
* 非常深的残差网络能够很容易的优化。
* 深度残差网络能够容易地从增加的深度中得到精度收益,同时比先前的网络产生了更好的效果。
残差映射
优点:* 没有带来额外的参数和计算开销。* 便于和具有相同结构的“平常”网络进行对比。
3)更深的残差结构
普通的网络,18层比34层的网络要表现好一点。34层的差一些,而且跳动性比较大,不稳定性很高。添加残差之后,34层的网络误差会进一步降低,结果更好一些。
边栏推荐
- Shell 函数
- Significant differences between Oracle and Postgresql in PLSQL transaction rollback
- 帮助企业实现数字化转型成功的八项指导原则
- JVM内存和垃圾回收-07.堆
- STM8S project creation (STVD creation) --- use COSMIC to create a C language project
- 移动端响应式适配的方法
- 6-port full Gigabit Layer 2 network managed industrial Ethernet switch Gigabit 2 optical 4 electrical fiber self-healing ERPS ring network switch
- pnpm 是凭什么对 npm 和 yarn 降维打击的
- Postgresql source code (66) insert on conflict grammar introduction and kernel execution process analysis
- 2 Gigabit Optical + 6 Gigabit Electric Rail Type Managed Industrial Ethernet Switch Supports X-Ring Redundant Ring One-key Ring Switch
猜你喜欢
Introduction to mq application scenarios
【MD5】采用MD5+盐的加密方式完成注册用户和登录账号
Functions, recursion and simple dom operations
new Date将字符串转化成日期格式 兼容IE,ie8如何通过new Date将字符串转化成日期格式,js中如何进行字符串替换, replace() 方法详解
学会iframe并用其解决跨域问题
汇编语言之栈
2 Gigabit Optical + 6 Gigabit Electric Rail Type Managed Industrial Ethernet Switch Supports X-Ring Redundant Ring One-key Ring Switch
MySQL query optimization and tuning
数组相关 内容 解析
SQL injection in #, - +, - % 20, % 23 is what mean?
随机推荐
LeetCode每日一题(2285. Maximum Total Importance of Roads)
"Introduction to nlp + actual combat: Chapter 8: Using Pytorch to realize handwritten digit recognition"
Postgresql source code (66) insert on conflict grammar introduction and kernel execution process analysis
base address: environment variable
哎,又跟HR在小群吵了一架!
Postgresql源码(66)insert on conflict语法介绍与内核执行流程解析
一文详解DHCP原理及配置
PHP高级开发案例(1):使用MYSQL语句跨表查询无法导出全部记录的解决方案
new Date将字符串转化成日期格式 兼容IE,ie8如何通过new Date将字符串转化成日期格式,js中如何进行字符串替换, replace() 方法详解
目标检测-中篇
The general SQL injection flow (sample attached)
The video of machine learning to learn [update]
Reproduce 20-character short domain name bypass
Architecture of the actual combat camp module three operations
2022年最新海南建筑八大员(材料员)模拟考试试题及答案
6-port full Gigabit Layer 2 network managed industrial Ethernet switch Gigabit 2 optical 4 electrical fiber self-healing ERPS ring network switch
函数,递归以及dom简单操作
如果禁用了安全启动,GNOME 就会发出警告
FFmpeg —— 通过修改yuv,将视频转为黑白并输出(附源码)
本周四晚19:00知识赋能第4期直播丨OpenHarmony智能家居项目之设备控制实现