版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
第10章深度学习基础卷积神经网络复旦大学赵卫东博士wdzhao@.cn赵卫东
复旦大学•深度学习是一种利用复杂结构的多个处理层来实现对数据进行高层次抽象的算法,是机器学习的一个重要分支。传统的BP算法仅有几层网络,需要手工指定特征且易出现局部最优问题,而深度学习引入了概率生成模型,可自动地从训练集提取特征,解决了手工特征考虑不周的问题,而且初始化了神经网络权重,采用反向传播算法进行训练,与BP算法相比取得了很好的效果。本章主要介绍了深度学习相关的概念和主流框架,重点介绍卷
积神经网络和循环神经网络的结构以及常见应用。章节介绍赵卫东
复旦大学深度学习的由来赵卫东
复旦大学赵卫东
复旦大学赵卫东
复旦大学赵卫东
复旦大学
神经元所影响的刺激区域称为神经元的感受野
(receptivefield),不同神经元感受野的大小和性质
都不同。
加拿大神经生理学家David
Hunter
Hubel和瑞典神经科
学家Torsten
NilsWiesel在20世纪50年代和60年代开始研究视觉机制:将图像投射到屏幕上,将测量神经元活动的电线插入猫的大脑,通过固定猫的头部来控制视网膜上的成像,测试生物细胞对线条、直角、边缘线等图形的反应。
研究结构:有些细胞对某些处在一个角度上的线条、垂直线条、直角或者明显的边缘线,都有特别的反应。要引起这个细胞反应,直线的朝向只能落在一个很小的角度范围里(该细胞的感受野内)。感受野——人脑与视觉感知机制(1)赵卫东
复旦大学赵卫东
复旦大学赵卫东
复旦大学
s+t
=n赵卫东
复旦大学
感受野就是视觉感受区域的大小。在卷积神经网络中,感受野是CNN中的某一层输出结果的一个元素对应输入层的一个映射,即featuremap上的一个点所对应的输入
图上的区域。
获取特征卷积神经网络中的感受野赵卫东
复旦大学感受野示例赵卫东
复旦大学不同方向的卷积(1)赵卫东
复旦大学不同方向的卷积(2)赵卫东
复旦大学Sigmoid
赵卫东
复旦大学□□□□□□□□□□卷积核与权重需要学习的网络参数仅仅训练一小部分全连接的权值参数就有可能达到和原来网络相近甚至超过原来网络的性能(一种正则化)
卷积可以获得特征
多次卷积可以获得不同层次的特征
共享权重减少网络参数卷积与共享权重赵卫东
复旦大学赵卫东
复旦大学多通道卷积(1)多通道卷积(2)赵卫东
复旦大学
最大池化更多保留图的纹理特征和局部特征。
平均池化更多保留图的背景信息和全局特征。
GemPooling:介于平均池化和最大池化之间卷积神经网络计算—池化赵卫东
复旦大学subsampling
池化核大小与步长未必相等。
池化层没有需要学习的参数
池化后的特征图大小计算方法类似卷积操作步长与池化赵卫东
复旦大学卷积神经网络计算—Padding
各方向的填充不一定对称赵卫东
复旦大学卷积神经网络中的输入输出计算n-图像大小,f-滤波器大小,n_c-图像中通道数,p-是否使用填充,s-使用的步幅,n_f-滤波器个数。输出矩阵的尺寸——考虑到填充宽度和步幅赵卫东
复旦大学当n_in=n_out:多通道情况:彩色图的卷积
2D卷积赵卫东
复旦大学无padding参考:/a-comprehensive-introduction-to-different-types-of-convolutions-in-deep-learning-669281e582153D卷积赵卫东
复旦大学将
2×2
的输入上采样成
5×5
的输出•
卷积的逆操作•
通过在输入特征图填充,实现更大的特征图输出•
转置卷积并不能复现原卷积的输入特征图•
用于图像分割、图像生成转置(反)卷积将
2×2
的输入上采样成
4×4
的输出赵卫东
复旦大学•空洞卷积在不增加参数的情况下,可以扩大感受野的范围•获取
long-rangedinformation,不利于小物体的检测和语义分割空洞卷积(1)感受野:3X3感受野:5X5感受野:7X7赵卫东
复旦大学•空洞卷积可以增大感受野,但是可以不改变图像输出特征图的尺寸•
感受野的改变可以有助于获取了多尺度信息,避免下采样造成信息损失假设空洞卷积的卷积核大小为k,空洞数为
d
,则其等效卷积核大小
k,例如
3×3
的卷积核则
k=3空洞卷积(2)
一维普通卷积(a
、b)和空洞卷积(c),黑色的圆表示填充部分赵卫东
复旦大学•
可分卷积是将一个卷积分解为两个单独的运算。•
节省成本,但并非所有的核都能分成两个更小的核,因此很少使用。可分卷积赵卫东
复旦大学•Depthwise卷积的一个卷积核负责一个通道,一个通道只被一个卷积核卷积。常规卷积
depthwise卷积Depthwise
卷积赵卫东
复旦大学•Pointwise卷积就是卷积核为1x1的卷积,也叫点卷积。Pointwise
卷积赵卫东
复旦大学常见的卷积神经网络模型赵卫东
复旦大学n
1998年,LeCun提出LeNet,并成功应用于美国手写数字识别。测试误差
小于1%。n
卷积层、pooling层、全连接层,这些都是现代CNN网络的基本组件。n
mnist包含6万张训练集图像和1万张测试集图像,其大小均为28*28,按照图像内容的不同分为手写数字0-9。LeNet框架
深度神经网络的本质是非线性回归分析赵卫东
复旦大学LeCun赵卫东
复旦大学赵卫东
复旦大学赵卫东
复旦大学赵卫东
复旦大学
卷积层之间一般用最大池化,最后输出层一般用平均池化,使特征更加紧凑,并有位移不变性赵卫东
复旦大学赵卫东
复旦大学赵卫东
复旦大学赵卫东
复旦大学赵卫东
复旦大学
全连接层之间可以看做1X1的卷积赵卫东
复旦大学赵卫东
复旦大学赵卫东
复旦大学赵卫东
复旦大学人脸识别赵卫东
复旦大学人脸表情识别(1)赵卫东
复旦大学人脸表情识别(2)赵卫东
复旦大学人脸特征点检测赵卫东
复旦大学性别和年龄检测赵卫东
复旦大学•数据增强根据当前已知的图像数据集生成更多的训练图像,是利用多种能够生成可信图像的随机变换来
增加原始图像数量。•数据增强是在未改变原始图像特征内容的基础上对图像数量的扩充,从而避免图像不足而导致的模型过拟
合、泛化性差等缺陷,在小型图像数据集训练时是必要的。防止过拟合—数据增强(1)赵卫东
复旦大学•为了增加数据量,丰富数据多样性,提高模型的泛化能力,也可以有效缓解模型过拟合的情况,提高模型泛化能力。对于图像分类,数据增强一般不会改变标签。•旋转、缩放、平移、裁剪、改变视角、遮挡某局部区域,不改变图片的类别标签防止过拟合—数据增强(2)赵卫东
复旦大学图像遮挡Grid
Mask化能力。•实质上相当一种正则化,防止模型记忆训练数据和过拟合。CutMix防止过拟合—数据增强(3)•不可能为模型在推理中的每个真实场景捕捉一个图像,调整现有的训练数据可以使模型有更强的泛Randomimagecroppingand
patching
(RICAP)赵卫东
复旦大学Randomerasing随机缩放裁剪畸变防止过拟合—数据增强(3)赵卫东
复旦大学YOLOv4中数据增强技术马赛克数据增强防止过拟合—数据增强(4)自动数据增强AutoAugment赵卫东
复旦大学
图像去噪是指滤除图像中的干扰信息,保留有用信息。常见去噪方法包括非局部平均过
滤算法、高斯滤波算法和卷积神经网络(AutoEncoder、超分辨率图像重建)等。数据去噪赵卫东
复旦大学n
DNNs是以概率p舍弃部分神经元,其它神经元以概率1-p被保留,舍
去的神经元的输出都被设置为零。n
丢弃法Dropout在实践中能很好工作是因为其在训练阶段阻止神经元
的共适应防止过拟合—Dropout赵卫东
复旦大学
进一步加速收敛,因此学习率可
以适当增大,加快训练速度。
可以不用Dropout或用较低的
Dropout。
在模型训练时,采用梯度下降法
对最优参数进行搜索时,输入特
征分布对模型性能的影响很大。
当不同输入特征的取值分布范围
差异较大,会导致在参数空间上
寻找最优参数时,产生较大偏差。
内部协变量偏移效应(Internal
CovariateShift)
当BatchSize过小时,BNBatchNormalization层的均值和标准差
计算与整个数据集的实际统计数
据相差过大,归一化效果不佳。Batch
Normalization
赵卫东
复旦大学Layer
Normalization
LayerNormalization
(LN)对在相同时
间步的神经元的
输入求其均值与
标准差。LN在实
现归一化过程中
与
Batchsize
是
无关联的。H代表同一序列的隐藏神经元数赵卫东
复旦大学
重新清洗数据:
导致过拟合的一个原因也有可能是数据不纯导致的,
如果
出现了过拟合也可以重新清洗数据。防止过拟合—重新清洗数据赵卫东
复旦大学
相对熵(KL散度):同一个随机变量
x有两个单独的概率分布
P(x)和
Q(x),使用KL散度(Kullback-Leiblerdivergence)
衡量这两个分布的差异。损失函数(1)赵卫东
复旦大学
交叉熵:
JS散度度量了两个概率分布的相似度,基于
KL散度的变体,解决了
KL
散度非对称的问题。
对于同一个随机变量
x有两个单独的概率分布
P1和
P2:损失函数(2)赵卫东
复旦大学基于深度神经网络的股票预测赵卫东
复旦大学统计窗口内涨跌次数作为窗口的标记:窗内涨多跌少,则标记为1;反之标记为-1基于卷积的股票预测-数据预处理将股票走势预测转化为分类问题数据预处理:加窗(window)o每个窗口为一条样本赵卫东
复旦大学…通常的做法:按照图片的处理方法基于卷积的股票预测传统的卷积核赵卫东
复旦大学3453.7
3454.5
3456.83465.33455.63462.53453.73454.63463.2基于卷积的股票预测-卷积和池化设计3465.33465.63462.53463.23453.33453.73454.6
3453.7
3454.5
3456.8
3455.3
3454.6
3454.5
3454.2
3453.9
3454.7
3454.6
3453.5
3453.7
3453.9
3455.2
3454.9
3454.7-6.37
-6.49
-6.46
-7.16
-7.55
-7.72
-7.84
-7.79
-7.47
-7.25
-7.06
-6.83
-6.6
-6.37
-6.05
-5.75
-5.53
-5.29
-5.013463.2
3453.7
3454.646389246712951058552603691763542391399354578377523281430232o卷积核设计o通道设计1xm池化赵卫东
复旦大学卷积核1xn
L相似指标作为不同通道4653453462464533463574553583465.33455.63462.53463.23453.73454.63453.73454.53456.8基于卷积的股票预测-通道设计
维通道365.3355.6362.4343.2345.8345.3453.7354.9345.4赵卫东
复旦大学普通通道优化空间:o
增加信息量(大数据方面)o
调整网络结构o
实际交易风险控制o数据条数6000+o训练Epoch:10次o
网络层数:5层基于卷积的股票预测效果赵卫东
复旦大学CNN结构演化(1)赵卫东
复旦大学Group
convolution赵卫东
复旦大学•AlexNet是最早的现代神经网络,AlexNet证明了CNN在复杂模型下的有效性,使用GPU使得训练在可接受的时间范围内得到结果,推动了有监督深度学
习的发展。AlexNet概述赵卫东
复旦大学AlexNet网络结构赵卫东
复旦大学AlexNet网络结构赵卫东
复旦大学赵卫东
复旦大学•AlexNet有八个带权层,前五个是卷积层,剩下三层是全连接层。第一个卷积层利用96个大小为11X11X3、步长为4个像素的核,对大小为224X224X3的输入图像进行卷积。第二个卷积层接收第一个卷积层输出为输入,用5X5X48的核对其进行滤波。第三、四、五个卷积层彼此相连,中间没有池化层。第二、四、五个卷积层的核只连接到前一个卷积层也位于同一GPU中的那些核映射上。第三个卷积层的核被连接到第二个卷积层中的所有核映射上。全连接层中的神经元被连接到前一层中所有的神经元上。响应归一化层跟在第一、第二个卷积层后面。最大化池化层跟在响应归一化层以及
第五个卷积层之后。ReLU非线性应用于每个卷积层及全连接层的输出。AlexNet的组成赵卫东
复旦大学–
采用非线性激活函数ReLU,比饱和函数训练更快,而且保留非线性表达能力,可以训练更
深层的网络–
采用数据增强和Dropout防止过拟合,数据增强采用图像平移和翻转来生成更多的训练图像
,
Dropout降低了神经元之间互适应关系,被迫学习更为鲁棒的特征–
采用GPU实现,采用并行化的GPU进行训练,在每个GPU中放置一半核,GPU间的通讯只在
某些层进行,采用交叉验证,精确地调整通信量,直到它的计算量可接AlexNet的优点•
AlexNet的优势在于:赵卫东
复旦大学AlexNet结构分析赵卫东
复旦大学AlexNet结构分析赵卫东
复旦大学AlexNet结构分析赵卫东
复旦大学AlexNet的应用赵卫东
复旦大学VGG16网络结构赵卫东
复旦大学VGG16网络结构赵卫东
复旦大学赵卫东
复旦大学赵卫东
复旦大学VGG19网络结构赵卫东
复旦大学赵卫东
复旦大学 动物识别
VGG16
赵卫东
复旦大学•
GoogleNet使用了一种网中网的结构,即原来的结点也
是一个网络。用了Inception之后整个网络结构的宽度和深度都可扩大,能够带来较大的性能提升。主要思想是普通卷积层只做一次卷积得到一组特征映射。最后的全连接层被替换为一个全局平均池化层,直接通过Softmax来计算loss。C.Szegedy
et
alGoinadeeoerwith
convolutions
CVPR
2015GoogleNet1st
in
2014
ILSVRC22
layers赵卫东
复旦大学
深监督网络(DeepSupervision
Network,
DSN)是在深度神经网络的某些中间隐藏层加辅助的分类器,对主网络进行监督,解决网络训练梯度消失和收敛速度过慢等问题,判断隐藏层特征图质量
好坏。深监督网络赵卫东
复旦大学•GoogleNet使用了一种名为Inception的结构,既保持网络结构的稀疏性,又不降低模型的计算性能
。Inceptionv1结构对前一层网络的综合采用不同大小的卷积核提取特征,并结合最大化池化进行特征融合。•
不同尺度特征的融合•Depthwise卷积减少参数
在保证网络性能的情况下极大幅度的节约计算成本假设网络有28*28*192的输入,使用32个5*5*192的卷积核对其进
行卷积,那么输出为28*28*32,对于输出中的每一个元素值都要
执行5*5*192次计算,卷积的计算量为:28*28*32*5*5*192=120422400。看看1x1卷积。先用16个1*1*192的卷积核对输入进行卷积,输出
尺寸为28*28*16,再用32个5*5*16的卷积核对其进行卷积,输出
为28*28*32。经历两次卷积同样得到28*28*32的输出,第一次卷
积计算量:
28*28*16*192=2408448,第二次卷积计算量28*28*32*5*5*16=10035200,两次卷积合计计算量约为120万GoogleNet
1*1卷积层的存在是为了跨通道信息整合赵卫东
复旦大学
Inception
v1的网络,将1x1
,3x3
,5x5的conv和3x3
的pooling,堆叠在一起,增加了网络的width,增
加了网络对尺度的适应性,有效的减少了参数。
左侧的第一张图是InceptionV1的原始版本,
在上一
层的所有输出上来做卷积,那5×5的卷积核所需的
计算量就会很大,会造成特征图厚度过大。左侧第
二张图是InceptionV1成熟的版本,在3x3前,5x5前
,
max
pooling后分别加上了1x1的卷积核来降低特
征图厚度。GoogleNet卷积组(1)Inception
v1赵卫东
复旦大学
InceptionV2加入了BN层,减少了InternalCovariateShift,使每一层
的输出都规范化到一个N(0,
1)的高
斯。
InceptionV2学习VGG用2个3x3的
conv替代inception模块中的5x5
,
既降低了参数数量,加速计算。GoogleNet卷积组(2)Inception
v2赵卫东
复旦大学
除了用2个3x3的conv替代inception模块中的5x5,还可以使用1×3和3×1两种来代替3×3的卷积核。这种结构在前几层效果不太好,但对特征图大小为12~20的中间层效果明显。GoogleNet卷积组(3)Inception
v2模块赵卫东
复旦大学
Inceptionv3一个最重要的改进是分解,将7x7分解成两个一维的卷积(1x7,7x1),3x3也是一样(1x3,3x1),可以加速计算,又将1个conv拆成2个conv,使得网络深度进一步增加,增加了网络的非线性。还有网络输入从224x224变为了299x299
,更加精细设计了35x35/17x17/8x8的模块。GoogleNet卷积组(4)Inception
v3赵卫东
复旦大学
InceptionV4的stem部分用于对进入Inception模
块前的数据进行预处理。stem部分是多次卷
积和2次pooling
,pooling采用了Inception-v3
里提到的卷积+pooling并行的结构。接下来有三个主要的Inception模块和Reduction模块,称为
A
、B和
C,和
Inceptionv2(或
v3)变体非常相似。
Inceptionv4
引入了专用的「缩减块」被用于
改变网格的宽度和高度。
缩减块
A(从
35x35
到
17x17
的尺寸缩减)和
缩减块
B(从
17x17
到
8x8
的尺寸缩减)。
Inceptionv4在Inception模块基础上结合了
residual模块。GoogleNet卷积组(5)Inceptionv4
stem赵卫东
复旦大学输入特征图大小35*35输入特征图大小17*17
输入特征图大小8*8GoogleNet卷积组(6)Inception
v4模块赵卫东
复旦大学赵卫东
复旦大学深度残差网络的出现使得更深的
网络能够得到更好的训练。原理
是第N层的网络由N-1层的网络经过H变换得到,并在此基础上直接连接到上一层的网络,使得
梯度能够得到更好的传播。残差
网络是用残差来重构网络的映射,用于解决继续增加层数后训练
误差变得更大的问题,核心在于把输入x再次引入到结果,将x经
过网络映射为F(x)+x,学习起来
会更简单,能更加方便逼近映射。维度匹配的shortcut连接为实线(输入和输出有相同的通道数),反之为虚线。维度不匹配时,同等映射有两
种可选方案:全0填充和1x1卷积。深度残差网络(1)瓶颈(bottleneck)结构用于
很深的网络(超过50层)F(x)=H(x)-xRes
Net18赵卫东
复旦大学••r
skip
orshortcut
深层网络的性能怎么才能不比浅层网络的性能差?
引入大量identity恒等映射(偏导数为1)
,可以把网络
的loss传递给浅层,减少了梯度消失
使用了残差结构,因为导数包含了恒等项,
仍然能够有
效的反向传播。
实现不同分辨率特征的组合。深度残差网络(2)赵卫东
复旦大学深度残差网络(2)常用的ResNet有5种常用深度:18
,34
,50
,101
,152层赵卫东
复旦大学赵卫东
复旦大学赵卫东
复旦大学
随机深度
ResNet,缓解梯度消失和加速训练。类似dropout,以一定概率随机将residual模块失活(直接由短路分支输出,而不经过有参数的分支
)
。ResNet卷积网络变种赵卫东
复旦大学新的卷积网络不断出现赵卫东
复旦大学引入分组卷积(2017年)ResNeXt赵卫东
复旦大学
框架常见网络:DarkNet19
、DarkNet53,用于目标检测Yolov2,v3
DarkNet53基本采用了全卷积网络
DarkNet53用步长为2的卷积操作替代了池化层
DarkNet53添加了
Residual,避免发生梯度消失DarkNet赵卫东
复旦大学DarkNet19DarkNet53稠密块(Dense
Block)某层输入是由所有之前卷积块的特征图组成
大幅度减少了网络的参数量,又在一定的程度上缓解了梯度消失的问题。
1×1卷积可以用于降维:将一个输入像素及其所有通道映射到一个输出像素DenseNet卷积神经网络(1)DenselyConnected
Convolutional
Networks.
CVPR2017
,
/pdf/1608.06993.pdf赵卫东
复旦大学
DenseNet是一个高效的、以更少的通道数、更低的计算代价,获得比ResNet更好的性能。
Dense模块中任意两层之间均有shortcut连接。DenseNet卷积神经网络(2)赵卫东
复旦大学DenseNet卷积神经网络(3)赵卫东
复旦大学 SENet
是ILSVRC2017比赛得到冠军的卷积神经网络。
采用挤压和激活块来使网络能够执行动态通道特征重新校准。
SE
模块对卷积得到的特征图进行挤压(Squeeze
)
操作,
得到全局特征后对其进行激活(
Excitation)
操作,学习各
个通道(Channel)之间的关系以及不同通道(Channel)
的权重,最后乘以原来的特征图得到最终特征。SENet卷积神经网络(1)Squeeze-and-Excitation
Networks.CVPR,2017,/pdf/1709.01507v4.pdf SE
模块时在不同通道上做自注意力(self-attention)
——通道注意力机制操作。赵卫东
复旦大学
挤压Sequeeze:进行全局平均池化,得到1*1*C大
小的特征图(全局感受野)。
激活Excitation:使用全连接神经网络,对挤压(
Squeeze)之后的结果分别使用
ReLu
以及
SigmoidSENet卷积神经网络(2)
SENet
是ILSVRC2017比赛得到冠军的卷积神经网络。
Se模块可以嵌入到Inception
、ResNet等多种卷积神经网络。
特征重新标定:使用激活得到的结果作为权重,
乘以输入特征。Squeeze-and-Excitation
Networks.CVPR,2017,/pdf/1709.01507v4.pdf激活函数做非线性变换。赵卫东
复旦大学SENet卷积神经网络(3)Squeeze-and-Excitation
Networks.CVPR,2017,/pdf/1709.01507v4.pdf赵卫东
复旦大学
SEnet网络结构
EfficientNet
是一种
2019年提出的卷积神经网络,可以同时兼顾模型的速度和精度,设置合理的网络深度、网络
宽度和图像分辨率系数(d,r,w)组合。
EfficientNet:Rethinking
ModelScalingforConvolutional
Neural
Networks
,2019
,ICML,
https://arxiv.org/pdf/1905.11946.pdfEfficientNetv1卷积神经网络(1)赵卫东
复旦大学SE模块
卷积神经网络SENet
Swish
激活函数针对FLOPs与参数量采用NAS搜索得到EfficientNet-B0,然后通过复合尺度
缩放得到了更大版本的模型EfficientNetB1-B7倒置残差(Inverted
Residual
Block)模块:
首先用
1x1卷积进行加宽,然后使用
3x3
Depthwise卷积,
然后使用
1x1卷积来减少通道数,以便输入
和输出可
以相加。EfficientNetv1卷积神经网络(2)赵卫东
复旦大学
EfficientNet
v2卷积神经网络:训练速度更快、参数量更少
采用了训练感知NAS搜索与缩放技术对训练速度与参数量进行联合优化
采用了Fused-MBConv
逐步增加输入图像大小,并自适应地调整正则化因子dropout、数据增广、
mixup等
NAS
Search
:MBConv和Fused-MBConv等卷积操作、网络层数、核尺寸等参数组合EfficientNetv2卷积神经网络赵卫东
复旦大学Eff
cie
ntNe
tv2-s典型卷积神经网络算法准确度(1)computational
cost
accuracy
▲赵卫东
复旦大学Accuracy
(precision@1)accuracy
▲典型卷积神经网络算法准确度赵卫东
复旦大学accuracy
典型卷积神经网络算法参数量和Flops赵卫东
复旦大学
Mobilenetv1是Google于2017年发布的网络架构
充分利用移动设备和嵌入式应用的有限的资源,
有效地最大化模型的准确性
Mobilenetv1核心是把卷积拆分为
Depthwise+Pointwise两部分MobileNetv1网络(1)Depthwise
普通卷积:3x3
Conv+BN+ReLU
Mobilenet卷积:3x3
Depthwise
Conv+BN+ReLU和
1x1
Pointwise
Conv+BN+ReLUMobileNetv1网络(2)Pointwise特征MobileNet
v1(3)赵卫东
复旦大学MobileNetv2赵卫东
复旦大学
问题:ResNeXt和MobileNet等轻量级网络都使用了分组卷积(GroupConv),期中1x1pointwise
卷积需要计算量相当大。如果采用分组卷积,则某个通道的输出仅来自一小部分输入通道。
ShuffleNet
网络采用了channelshuffle
,对分组之后的特征重组。ShuffleNet
v1网络(1)ShuffleNet:An
Extremely
Efficient
Convolutional
Neural
Networkfor
Mobile
Devices
/abs/1707.01083MobileNet网络
ShuffleNet
v1网络赵卫东
复旦大学ShuffleNet
v1网络MobileNet网络ShuffleNet
v1网络(2)
ShuffleNetv1网络结构参数赵卫东
复旦大学改进点
利用channelsplit对输入通道对半分。
利用channelsplit替换了group操作。
将shuffle移到了concat之后。
去掉Elementwise(Add)改成concat。ShuffleNetV2:Practical
Guidelinesfor
EfficientCNNArchitecture
Design
https://arxiv.org/abs/1807.11164ShuffleNet
v2网络(1)
ShuffleNetv2网络提出了新的block设计.赵卫东
复旦大学ShuffleNet
v2网络(2)
ShuffleNetv2网络结构参数赵卫东
复旦大学常用卷积神经网络的分类准确度赵卫东
复旦大学基于卷积的文本处理赵卫东
复旦大学基于双卷积的文本处理赵卫东
复旦大学深度卷积推荐算法赵卫东
复旦大学第10章深度学习基础目标检测复旦大学赵卫东博士wdzhao@.cn赵卫东
复旦大学•RCNN,Fast-RCNN,Faster-RCNN,
MaskRCNN•
YOLOv1-v5•
典型应用案例目录赵卫东
复旦大学几个容易混淆的概念
语义分割:对于一张图像,分割出所有的目标(包括背景),但不区分同一类别的不同个体。
实例分割:将图像中除背景之外的所有目标分割出来,并且可
以区分同一类别下的不同个体。
全景分割:在实例分割的基础上,还可以分割出背景目标。测、
语义分割、
实
例分割、全景分割赵卫东
复旦大学图像分类、目标检目标检测算法(1)赵卫东
复旦大学目标检测算法(2)
姿态估计、目标检测、目标追踪、关键点检测赵卫东
复旦大学人脸特征关键点识别•目标检测是将目标从图像中提取出来。•运动目标检测是从不断变化的序列图像中进行目标检测,分为静态背景下的
运动检测和动态背景下的运动检测。•
两种主要的思路:–
依赖于目标的先验知识,需要提前为运动目标建模,然后在图像序列中实时找到匹配的目标,–
不依赖于先验知识,直接从图像序列中检测到运动目标,并进行目标识别,最终跟踪感兴趣的
运动目标。–
在目标检测和追踪需要注意运动目标的表示,例如对其视觉特征进行建模,并采用相似性度量
来对帧图像进行匹配,在追踪过程中需要处理大量冗余信息,采用搜索算法缩小比较范围。•目前跟踪分类主要基于主动轮廓的跟踪、基于特征、区域、模型的跟踪等。赵卫东
复旦大学目标检测•
目标检测性能评价指标–交并比:IOU–
平均精度均值:mAP–
速度:FPS赵卫东
复旦大学目标检测的性能评价•物体检测是通过IoU来进行精准度评价的。使用两个区域的交集区域除以两个
区域的并集区域。•一般IoU的值越大,表示物体预测越准确。交集并集比赵卫东
复旦大学•mAP是目标检测中度量识别精度的指标。多个类别物体检测中,每一个类别
都可以根据查全率和查准率绘制一条P-R曲线,横坐标为查全率,纵坐标为
查准率,AP就是该曲线下的面积,mAP是多个类别AP的平均值。
•Q表示目标检测的类别集合,Avep(q)是计算类别下物体的平均准确率。
mAP的取值范围在[0,1]之间。赵卫东
复旦大学mAP•感兴趣区域是目标检测的一个概念,表示系统感兴趣的区域,在Fast-RCNN
等模型中都有ROI(
regionof
interest)处理的模块,ROI的提取能够在消除一
些噪声的同时减少后续图像处理的数据量,是较常用的方法。赵卫东
复旦大学感兴趣区域目标检测与识别SPPNET fast-RCNN
faster-RCNN回归方法的深度
学习目标检测基于候选区域的
目标检测传统目标检测RCNNYOLOR-CNN->SPPNet->FastR-CNN
->Faster
R-CNN
->
Mask
R-CNN赵卫东
复旦大学滑动窗口赵卫东
复旦大学•
Region
proposals•
CNN:卷积神经网络R-CNN:RegionwithCNNfeatures
将检测问题转换成为region
proposals的分类问题•SelectiveSearch:选择性搜索•Warp:图像Region变换•Supervised
pre-training:有监督预训练也称迁移学习•IOU:交并比IOU=(A∩B)/(A∪B)•NMS:非极大值抑制•DPM:使用判别训练的部件模型进行目标检测赵卫东
复旦大学基本概念R-CNN:Region
with
CNN
features赵卫东
复旦大学用SGD训练CNNImageNet
1000
(N+1)classification
layer(N:目标类数目)CNN架构不变候选区域的目标检测(R-CNN)selectivesearchWarpclass-specific
linearSVMs给出每类概率IOU:交并比NMS:非极大值抑制PASCALVOC上的检测率从35.1%提升到53.7%
赵卫东
复旦大学先生成候选区域再检测,降低信息冗余程度,从而提高检测速度。
基于227x2271.
区域提名:通过SelectiveSearch从原始图片提取2000个左右区域候选框;2.
区域归一化:把所有侯选框缩放成固定大小(227×227)Warp;3.通过CNN网络提取特征(在特征层的基础上添加两个全连接层);4.使用SVM结合NMS(非极大值抑制)获得区域边框(BBox)5.用DPM中类似的线性回归方法精修(Refine)边框位置。赵卫东
复旦大学•Selective
Search需要考虑的几个问题:•适应不同尺度(Capture
All
Scales):穷举搜索(Exhaustive
Selective)通过改变窗口大小
来适应物体的不同尺度,选择搜索(Selective
Search)同样无法避免这个问题。算法采用
了图像分割(Image
Segmentation)和层次算法(Hierarchical
Algorithm)有效地解决了这
个问题。•多样化(Diversification):单一的策略无法应对多种类别的图像。使用颜色(color)、纹
理(texture)、大小(size)等多种策略对分割好的区域进行合并。•效率(Fast
to
Compute)颜色(RGB、灰度、HSV
)、纹理(texture)、大小、吻合情况的相似度SelectiveSearchforObject
Recognition赵卫东
复旦大学•图像分割(Image
Segmentation)的主要目的也就是将图像(image)分割成若干个特定的、具
有独特性质的区域(region),然后从中提取出感兴趣的目标(object)。•图像(image)的图(graph)表示;Spanning
Tree)。把图像中的每一个像素点看成一个顶点vi
∈
V(node或vertex),像素点之间的关系对(可以
自己定义其具体关系,一般来说是指相邻关系)构成图的一条边ei
∈
E,这样就构建好了一个图
G
=
(V,E)。•最小生成树(Minimun
)将图像表达成图之后,将每个节点(像素点)看成单一的区域,
然后进行合并。使用最小生成
树方法合并像素点,然后构成一个个区域。相似的区域在一个分支(Branch)上面(有一条最边图像分割连接),大大减少了图的边数。图像分割是进行目标检测和分类的基础。赵卫东
复旦大学•将各个Region的大小变换
到CNN
的输入尺寸•变换:Scale:(B)
Isotropically各向同性地(C)anisotropically各向异性地Warp:各向异性缩放+16pixelsObject
proposal
转换(Warp)Warpingwithcontextpadding(P=16)向四周
均匀
扩充
Scale无上下文紧密区域Warp变换Region的原始大小无附加(p=0)赵卫东
复旦大学训练:1.预训练:训练集:ILSVRC
2012;输出:
1000维类别标号;
学习率:0.01提取的特征为4096维,送入一个4096->1000的全连接(fc)层进行分类
•2.调优训练训练集:
PASCAL
VOC
2007;学习率:
0.001输入:
227x227的正负样本(正:
32,负:
96;包括所有类别)
输出:
21维(20类+背景)
;同样使用上述网络,最后一层换成4096->21的全连接网络正负样本的选取:
IOU>0.5,标记为positive,否则标记为negativeSVM分类器输入:
4096*N或者21*N赵卫东
复旦大学CNN训练及特征提取•训练特定类别的SVM分类器•训练SVM的正负样本:作者同样是使用IoU阈值的方法,计算每一个regionproposal与标准框的IoU
,这次的阈值为0.3(实验结果),大于这个阈值的作
为正样本,否则为负样本。•
Hard
negative
mining一般来说训练一个SVM分类器,需要正负两个样本,训练集图片中作为正样本很少,但是随机产生用于训练的负样本可能远远大于正样本,这样训练出来的SVM效果并不好,所以利用Hard
negative
mining方法,从负样本中选取出一些有
代表性的负样本,使得分类器的训练结果更好。正:标注样本+IOU>0.5负:不包含正样本区域•输入:CNN提取的区域特征•输出:每个候选区域特征的概率输出赵卫东
复旦大学训练SVM分类器•
针对各个类别(N):–
CNN生成每个Region
proposal固定长度的特征向量–
SVMs分类器计算每个Region特征向量的Score–
每个Region(区域)的Score排序–
NMS:选取概率最大的区域,计算与其他区域的IOU;如果IOU大于给定阈值(经验值0.3),丢弃该区域;
同样的过程依次遍历所有剩余的Region。•用各个类指定的回归模型来细化框的位置赵卫东
复旦大学获取每个类别的Bounding
box(BBox)例如:定位一个车辆,算法就找出了若干方框需要判别哪些矩形框是没用的。•
非极大值抑制:先假设有6个矩形框,根据分类器分类概率做排序,从小到大分别属于车辆的概率分别为A
、B
、C、D
、E
、F。•(1)从最大概率矩形框F开始,分别判断A~E与F的重叠度IOU是否大于某个设定的阈值;•(2)假设B
、D与F的重叠度超过阈值,那么就扔掉B
、D;并标记第一个矩形框F,是我们保留下
来的。•(3)从剩下的矩形框A
、C
、E中,选择概率最大的E,然后判断E与A
、C的重叠度,重叠度大于一
定的阈值,那么就扔掉;并标记E是我们保留下来的第二个矩形框。•就这样一直重复,找到所有被保留下来的矩形框。NMS:非极大值抑制(1)赵卫东
复旦大学NMS:非极大值抑制(2)赵卫东
复旦大学•IOU表示了bounding
box
与
groundtruth
的重叠度,如图所示:•矩形框A
、B的重合度IOU计算公
式:IOU=(A∩B)/(A∪B)或IOU=SI/(SA+SB-SI)•考察一个候选框和当前图像上所有标定框重叠面积最大的一个。如果重叠比例大于设定阈值,则认为此候选框为此标定的类别;否则认为此候选框为背景。IOU交并比赵卫东
复旦大学•例如:左图自行车的左轮,如果我们只用rootfilter检测出来的区域,即红色区域,那么前轮会被切掉一部分,但是如果能综合partfilter检测出来的bounding
box就能得到更加确的
bounding
box如右图。使用最小二乘(LeastSquare)线性回归模型。位置精修•根据最后输出的feature进一步做了regression
,
采用的是之前在DPM检测中的
用的Linear
regression
model赵卫东
复旦大学回归器对每一类目标,使用一个线性回归器进行精修。
正则项
λ=10000。输入:CNN网络pool5层的4096维特征输出:xy方向的缩放和平移W=[x,y,w,h]。训练样本:判定为本类的候选框中,和真值重叠面积大于0.6的候选框。其中*可以是:x,y,w,h,(x,y)是目标中心相对位置,
w,h是变换后的宽度和高度缩放比例的对数值赵卫东
复旦大学l
虽然R-CNN在ILSVRC
2013数据集上的mAP由Overfeat的24.3%提
升到了31.4%,第一次有了质的改变。但R-CNN有很多缺点:
重复计算:
R-CNN虽然不再是穷举,但依然有两千个左右的候
选框,这些候选框都需要进行CNN操作,计算量依然很大,其
中有不少其实是重复计算;每个候选框都要一个线性回归器精
修。
SVM模型:还是线性模型,在标注数据不缺的时候显然不是最
好的选择;
训练测试分为多步:区域提名、特征提取、分类、回归都是断
开的训练的过程,中间数据还需要单独保存;训练的空间和时
间代价很高
GPU上处理一张图片需要13秒,CPU上则需要53秒。赵卫东
复旦大学R-CNN的缺点剪裁(Crop)和缩放(Warp)在很大程度上会丢失图片原有的信息,导致训练效果不好Cropping
maylosssome
informationaboutthe
object•截取的区域未涵盖整个目标Warpping
maychangetheobject’sappearance•
缩放带来图像的扭曲全连接层是需要固定大小的输入赵卫东
复旦大学SPP-Net:
Motivation先卷积后生成区域,不仅减少存储量而且加快了训练速度。
SPP-Net
在SPP
layer中每一个pooling的filter会
根据输入调整大小,而SPP的输出则
是固定维数的向量,然后给到全连
接FC层。
SPPNet只需要计算一次卷积赵卫东
复旦大学SPP-Net:
Motivation•SPP(spatial
pyramid
pooling)层放到卷积层的后面•SPP-Net将任意大小的图像池化生成固定长度的图像表示•CNN的卷积层不需要固定尺寸的图像,而全连接层是需要固定大小输入的赵卫东
复旦大学•Step
2,
Foreach
proposal,walkingthe
image
pyramid
and
find
a
project
versionthat
hasa
numberof
pixels
closestto
224x224.
(Forscalinginvariance
intraining.)•Step
3,findthe
corresponding
FeatMap
in
Conv5and
use
SPP
layer
to
pool
itto
afix
size.SPP-Net:Trainingfor
Detection(2)•Step4,
While
getting
all
the
proposals’feature,fine-tunethe
FC
layeronly.•Step
5,Trainthe
class-specified
SVM赵卫东
复旦大学
SPP是BOW的扩展,将图像从精细空间划分到粗糙空间,之后将局部特征聚集。在CNN成为主流之前
,
SPP在检测和分类的应用比较广泛。
SPP的优点:1)任意尺寸输入,固定大小输出;2)层多;3)可对任意尺度提取的特征进行池化。赵卫东
复旦大学
的优点
SPP-NetSPP-Net速度提升•
Speed:64x
fasterthan
R-
CNN
usingone
scale,
and
24xfaster
usingfive-scale
paramid.•
mAP:
+1.2
mAPvs
R-CNN赵卫东
复旦大学3.训练sppnet只微调全连阶层(检测除了语义信息还需要位置信息,多层pooling操作导致位
置信息模糊)赵卫东
复旦大学SPP-Net:不足1.训练分多阶段,并不是端到端的训练过程2.训练花费过大的硬盘开销和时间Conv
layersFC
layersSVMregressorstoreFast
R-CNN在分类的同时,对
Bbox进行回归。JOINTTRAINING!!特征提取和分类
放在一个网络之
中,联合训练多任务损失函数(multi-task
loss)RossGirshick,FastR-CNN,Arxivtechreport赵卫东
复旦大学poolinglayerROI多任务损失函数:第一项是分类损失函数,第二项是定位损失函数,k是类别索引,R个ROI的损失值取平均,k*是实际类别Fast
R-CNN边框回归:Asmooth
L1losswhich
is
less
sensitivetooutliersthan
L2
loss赵卫东
复旦大学
对全连接层参数矩阵做了一个SVD分解,mAP几乎不怎么降(0.3%),但速度
提速30%
数据增量:水平翻转
将VOC2012的数据也作为拓展数据加入到finetune的数据中,结果VOC07的mAP
从66.9到了70.0赵卫东
复旦大学Fast
R-CNN技巧Fast
RCNN和RCNN相比,训练时间从84小时减少为9.5小时,测
试时间从47秒减少为0.32秒。在PASCALVOC2007上的准确率相差无几,约在66%-67%之间
网络末端同步训练的分类和位置调整,提升准确度
使用多尺度的图像金字塔,性能几乎没有提高
倍增训练数据,能够有2%-3%的准确度提升
网络直接输出各类概率(softmax),比SVM分类器性能略好
更多候选窗不能提升性能赵卫东
复旦大学Fast
R-CNN
结论1.
Region
proposal耗时(提region
proposal2~3s,而提特征分
类只需0.32s),大部分时间用来提Region
proposal2.伪端到端训练(region
proposal使用selectivesearch先提取出
来,占用磁盘存储)
Faster-RCNNFast
R-CNN
的不足卷积网络直接产生候选区域RPN本质为滑动窗口赵卫东
复旦大学Faster-RCNN赵卫东
复旦大学Faster-RCNN赵卫东
复旦大学
SPP
Net
,Fast
R-CNN
,Faster
CNN等都使用最后一层特征图进行预测Faster
R-CNN
Conv
Layer
:特征提取网络,共享用于后续的RPN和全连接层。
Region
Proposal
Network
:RPN网络用于生成区域候选框(region
proposals)。
RoI
Pooling
:
收集输入的feature
maps和proposals,得到固定尺寸的proposalfeature
maps
,用于最后的分类和回归。
Classifier
:利用proposal
feature
maps计算proposal的类别,同时再次boundingbox
regression获得检测框最终的精确位置。赵卫东
复旦大学加入一个提取边缘的神经网络
利用主干卷积网络提取特征
对特征图的每个点创建锚(anchor),默认
9种边框,其长宽比分别是1:1,1:2,2:1
使用卷积子网络提取其所在窗口的特征,输
出给分类(对应目标和背景2个类别)与回
归卷积子网络
Faster
R-CNN算法输出层预测Anchor
Box的
偏移值与置信度,而不是候选框的坐标值,
这样使神经网络学习更容易。Faster
R-CNN赵卫东
复旦大学区域提名网络(RPN)产生候选
框anchor:每个anchor以当前滑动窗口中心为中心,并对应一种尺度和长宽比例如:3个尺度和三个长宽比对于每个位置就有k=9个anchor
分类层的输出特征为(32,32,(9*2));窗口回归层
则输出每一个位置上9个
候选区域对应窗口应该平
移缩放的参数,因此窗口
回归层的输出特征为(32,32,(9*4))。128x128
、256x256
、512x512赵卫东1:2复、旦1大:1、学2:1K个区域提名是目标/非目标的估计概率即k个box的
坐标偏移平移不变性Faster
R-CNN为每个anchor分配一个二进制标签(是/否目标)
任意与ground
truth有大于0.7的IoU交叠的
anchor赋值为1
选取ground
truth的IoU最大的anchor赋值为1
分配负样本给与所有ground
truth包围盒的
IoU比率都低于0.3的anchor
一个groundtruth包围盒可能分配正样本给多个
anchor
Faster
R-CNN只是用RPN种的全连接来为每一
个box预测offset(坐标的偏移量或精修量)
以及置信度(得分)Faster
R-CNN每个卷积特征映射大约2000个anchor赵卫东
复旦大学其中:i是一个mini-batch中anchor的索引;Pi是anchori是目标的预测概率;groundtruth标签Pi*
就是1,如果anchor为负,Pi*就是0;ti是一个向量,表示预测的包围盒的4个参数化坐标;ti*
是与正anchor对应的groundtruth的坐标向量。Ncls
:mini-batch的大小(256)Nreg
:anchor位置的数量(大约2400)
λ=10分类损失函数:
LCS(p,p⃞)=-log[pip:+(1-p:)(1-p:)l
位置损失函数:
L
reo(tr,ti)—R(ti-ti)其中R=
Faster
R-CNN意味着只有正anchor
(
Pi*=1)才有回归损失平衡权重λ归一化对一个图像的损失函数:赵卫东
复旦大学Faster
R-CNN缺点:1.无法达到实时2.预先获取候选区域,在对每个proposal分类计算量比较大赵卫东
复旦大学简单网络目标检测速度达到17fps,在PASCALVOC上准确率为59.9%;复杂网络达到5fps,准确率
78.8%•用2的fast—RCNN重新初始化RPN,固定卷积层微调•固定2中fast-RCNN卷积层,用3中RPN提取候选微调•Imagenet上预训练模型初始化网络参数,微调RPN网络•使用1中网络提取候选区域训练fast-RCNN4321多阶段方法赵卫东
复旦大学单阶段方法赵卫东
复旦大学从两阶段到单阶段赵卫东
复旦大学
每个boundingbox要预测(x,y,w,h)和confidence
共5个值
每个网格还要预测一个类别信息,记为C类(1)输入一个图像,首先将图像划分成SxS的网格(2)对于每个网格,我们都预测B个边框(包括每个边框是目标的置信度以及每个边框区域在多个类别上的概率)(3)根据上一步可以预测出SxSxB个目标窗口,然后根据阈值去除可能性比较低的目标窗口,最后NMS去除冗余窗口即可。输出就是SxSx
(5*B+C)的一个tensor赵卫东
复旦大学YOLOv1算法YOLO的核心思想:
将物体检测作为回归问题求解
利用整张图作为网络的输入,直接在输出层回归boundingbox的位置和boundingbox所属的类别。均匀地在
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 除尘工岗位试题及答案
- 传染病试题及答案判断
- 出征仪式面试题及答案
- 护理实践中的心理学
- 护理沟通与人文关怀技巧
- 护理护理评价培训计划表
- 护理风险应对的紧急护理预案制定
- 护理课件下载资源分享站
- 护理副高考试护理实践能力提升
- 护理机理在临床中的应用
- 2025年人教版小学六年级下册奥林匹克数学竞赛测试卷(附参考答案)
- 国际疾病诊断编码库ICD-11(带疾病科室分类)
- 拒食槟榔主题班会
- 消防紧急疏散应急预案
- 企业团购行业报告
- 研究生心理健康教育专题讲座
- 废品回收合同范本
- 工程全过程造价咨询服务方案(技术标)
- 地下室临时照明及方案
- 华西临床医学院学生综合素质测评办法(非官方版)
- 国家开放大学2022春《1340古代小说戏曲专题》期末考试真题及答案-开放本科
评论
0/150
提交评论