深度学习算法总结

版权声明:本文为博主原创文章,未经博主允许不得转载。https://blog.csdn.net/weixin_44474718/article/details/89288051

现代雏形:

LeNet(1998):现在一般指LeNet5,(输入层、卷积、池化、卷积、池化、全连接、输出共5层)
主要特征:卷积层和下采样层相结合作为网络的基本结构。所有神经元共享权值,但偏置可能不同。激活函数:软最大函数(softmax)。
原始模型:原始模型
标准模型:
标准模型

突破模型:

AlexNet(2012):普遍认为深度学习的开端是2006年,但是广泛关注从2012开始。(输入层、5个卷积(其中3个卷积进行最大池化)、3个全连接、输出层共8层)
对比LeNet的主要改进:ReLU和多个GPU(提高训练速度)、重叠池化(提高精度、缓解过拟合)、局部响应归一化(提高精度、但是会增加内存消耗和计算时间)、数据扩充和丢失数据(减少过拟合)。
在这里插入图片描述
ZFNet():AlexNet在上的改进:
使用较小的掩码以保留更多原始像素信息(将AlexNet的11x11改为7x7大小的卷积核)、只使用一个GPU。

应变模型:

SPPNet(空间金字塔池化网络-2014):在ZFNet上的基础上加了个空间金字塔,又称为SPM————————————图像分类加入spp能提高性能。
主要特征:可以处理输入图像大小不同的情况。在最后一个卷积层和第一个全连接层(因为需要固定大小/长度的输出)之间插入一个空间金字塔池化层。Ⅰ、SPP可以对任意大小的输入都能产生一个固定长度的输出、Ⅱ、使用多级大小空间窗口、Ⅲ、可以在不同尺度上提取特征并且池化。最大优点:能够用固定长度的向量表示不同尺度的空间信息。缺点:实际运行时最好还是固定尺寸大小输入???
一个SPPNet的网络结构,其中conv5是最后一个卷积层,具有256个卷积核:
在这里插入图片描述

加深模型:

VGGNet(2014):基本类型包括VGGNet-16和VGGNet-19(多了三个卷积层),增加网格的深度------------
主要特征:利用较小的卷积核来增加网格的深度。全部使用3x3的卷积核和2x2的池化核。使用ReLU激活函数。池化层全部为最大池化。
在这里插入图片描述
GoogLeNet(2014):包括V1、V2、V3、V4。增加网格的深度的同时,提出了‘Inception’模块(增加网络的宽度)
原始Inception’模块:
原始inception模块
降维inception模块V1:
在这里插入图片描述
v2:
在这里插入图片描述
v3:
在这里插入图片描述
主要特征:Inception’模块包括:摄入层并行处理层和过滤拼接层。
V1(2014):加入了9个降维Inception模块。卷积层都为ReLU激活函数。加了2个辅助分类器。
V2(201-):在V1的基础上,用两个3x3核的卷积层代替5x5核卷积层,减少了一个辅助分类器。同时引入正则化方法(batch normaliza,BN),可以减少甚至取消dropout和LRN的使用,提高精度并且加快训练速度。
V3(201-):在V2的基础上,卷积分解。将较大的卷积核nxn二维卷积拆成两个较小的一维卷积nx1和1xn。使用1个辅助分类器。
V4(201-):在V3的基础上,纯粹V4和残差V4。

跨连模型:

HighwayNet():
ResNet(residual network,残差网络,2016):解决退化问题,构造残差模块,引入跨层连接,跨2-3层。深度(50、101、152层)
WRN(wide residual network,2016):在跨层连接中增加需要训练的卷积层。
ResNeXt(2017):增加了一个新的基数维度,基数就是并行重复残差模块的个数。
FPN(feature pyramid network,2017):同时使用多尺度特征代替单一尺度特征进行目标检测。
DenseNet(densely connected convolutional network,2017):改进ResNet,引入密连模块代替残差模块。
主要特征:密连模块内部允许任意两个非相连层之间进行跨层连接。优点:缓和梯度消失、加强特征传播、促进特征重用和减少参数数量。
跨连连接:
在这里插入图片描述
CatNet(----):全连接层通过所有的卷积层和池化层通过跨层连接拼接得到。
主要特征:能够集成不同尺度的图像特征进行分类和识别。
在这里插入图片描述

区域模型:(目标检测)

R-CNN(2013.11):目标检测模型,要求在图像中确定多个可能目标的位置。
在这里插入图片描述
主要特征:采用滑动窗口来进行定位。包括:区域推荐、特征提取、区域分类三个模块。
区域推荐:采用选择性收索,其他推荐的有(目标构成度、类别无关目标推荐、受限参数最小割)
特征提取:采用卷积网络(比如AlexNet)。
区域分类:采用类别相关线性支持向量机(SVM)对所提取的特征向量打分。通过贪婪非最大抑制策略进行筛选,保留高分推荐,拒绝与某高分推荐的交并比(IoU)大于一个通过学习得到的阈值。
缺点:
训练过程阶段多:首先、然后、最后才进行边框回归学习。
训练时空费用大:提取特征需要写入硬盘。
目标检测速度慢:测试阶段,仍然需要从每幅测试图像的每个区域推荐提取特征。
SPPnet(spatial pyramid pooling network,2014):采用了“空间金字塔池化”。针对一幅图像只需要进行一次卷积操作。
主要特征:使用一次卷积代替R-CNN中对于候选区域的2000多次卷积操作,将最后提取出来的特征图划分为不同的区域,再将每一个区域的特征图进行卷积操作,将需要提取的区域在原图上的位置映射到卷积层的特征图山。因此,针对一幅图像只需要进行一次卷积操作,再将每个需要提取的区域的卷积特征输入到全连接神经网络中进行全连接操作。
缺点:经历候选框区域提取,使用CNN进行卷积操作提取特征,使用SVM进行分类,边框回归训练等多个步骤。
Fast R-CNN(2015):输入是一副完整的图像和多个区域推荐,经过卷积和最大池化得到一个共享卷积特征图。使用softmax代替SVM分类器(直接显存读取)。加入ROI层(满足输出尺寸统一、将图像的候选区域定位到目标特征中的特征区域)(加入了多任务边框回归方法)
在这里插入图片描述
主要特征:输入图像和感兴趣区域(RoI)先经过卷积池化层处理产生卷积特征图,在经过RoI池化层处理得到固定大小的特征图,之后被全连接层映射成特征向量。每个RoI都有两个输出向量:softmax概率和边框回归偏移。该结构用多任务损失进行端到端训练。
优点:检测质量更高、 训练过程统一、网络全层更新、无须硬盘存储。
缺点:依赖非常耗时的区域推荐算法提供关于目标位置的假设。
Faster R-CNN(2015):在Fast R-CNN加入了RPN(基于ZF-Net)。
在这里插入图片描述
rpn:
在这里插入图片描述
主要特征:采用区域推荐网络(Region Proposal Network,RPN),可以与检测网络共享整幅图像的卷积特征,从而产生几乎无代价的区域推荐。由两个模块组成:RPN(采用当前最流行的“注意力”机制)和使用推荐区域的Fast R-CNN检测器。
结构:
1、卷积层:卷积操作(conv+ReLU+pooling)。提取目标图像的特征图。(共享给后续的RPN和全连接层)
2、RPN(region proposal network):全卷积神经网络,主要用来提取候选框,代替前面提到的选择性收索算法。由于没有全连接层,因此可以输入任意大小的图片,而输出是特定大小的。(引入锚点anchor–具有平移不变性)
3、RoI Pooling部分:将候选区域进行相应的整理,然后计算出候选区域的特征图并送入到下一层。(输入:原始的特征、rpn的特征)
4、分类:通过全连接层和softmax函数进行分类,同时再次利用边框回归来精确对目标位置标注。
YOLO(2016):将目标检测设计为回归问题,包括对多个边框和相关类别概率的回归。

目标检测思路:

目标检测过程:
在这里插入图片描述
网络结构:
在这里插入图片描述
主要特征:在googLeNet的基础上建立(使用1x1和3x3的卷积核代替inception。简化版本:快速YOLO,只包含9个卷积层)。最后一层使用线性激活函数,其余层采用Leak ReLU 激活函数。
YOLO V1(2016):原模型,上面。
YOLO V2(2017):与 V1相比,优势和特点:①使用了块归一化;②使用了高分辨率分类器;③使用了与锚点边框的卷积;④使用了维数聚类确定5种锚点边框的先验高宽比;⑤使用了无全连接层的新网络结构;⑥使用了直接位置预测;⑦使用了细粒度特征;⑧使用了多尺度训练。(YOLO v2还有一个版本称为YOLO 9000,特指对ImageNet和COCO数据集中的9000多个类别进行目标实时检测的系统。)
YOLO V3(2018):
SSD(single shot detector,2016):新型神经网络目标检测器
YOLO和SSD对比:
在这里插入图片描述
SSD框架:
在这里插入图片描述
主要特征:不用对边框假设设置采像素或特征,也不会损失精度,但是速度要比Faster R-CNN和YOLO都要快。根本改进措施是消除边框推荐和随后的像素或特征重采样阶段,还包括使用小卷积核在边框位置预测对象的类别和偏移,使用独立预测器(滤波器)负责不同高宽比的检测,并用这些滤波器在网络后期的多个特征图中执行多尺度检测。
增加了新的辅助结构:多尺度特征图、卷积预测器、默认边框和高宽比。

分割模型:(语义分割)

FCN(fully convolutinal network,):没有全连接层的卷积网络。
在这里插入图片描述
在这里插入图片描述
主要特征:是一种没有全连接层的卷积网络[21],但除了卷积层和下采样层,另外还可以包含上采样层和反卷积层等其他具有空间平移不变形式的层。FCN的关键特征在于其所有层的计算都能够表示成某种空间平移不变的变换形式,主要用于图像的语义分割(semantic segmentation)。基于CNN的语义分割方法一般用每个像素周围的图像块作为输入进行分类训练和预测,计算效率相对较低。而FCN则直接把整幅图像作为输入、把人工标签地图(label map)作为输出,训练一个端到端的网络,可以显著提高语义分割的计算效率和预测性能。
缺点:在于缺少合适的策略来使用全局场景分类线索。
SegNet(2015) :
主要特征: SegNet和FCN思路十分相似,只是Encoder,Decoder(Upsampling)使用的技术不一致。此外SegNet的编码器部分使用的是VGG16的前13层卷积网络,每个编码器层都对应一个解码器层,最终解码器的输出被送入soft-max分类器以独立的为每个像素产生类概率。 左边是卷积提取特征,通过pooling增大感受野,同时图片变小,该过程称为Encoder,右边是反卷积(在这里反卷积与卷积没有区别)与upsampling,通过反卷积使得图像分类后特征得以重现,upsampling还原到图像原始尺寸,该过程称为Decoder,最后通过Softmax,输出不同分类的最大值,得到最终分割图。
在这里插入图片描述
DeepLab(2016):微调FCN,提出了空洞卷积层(Atrous-结果更精确)和金字塔型空洞池化层(ASPP-兼顾像素的局部关系),接着引入全连接条件随机场(Full connected CRF-分割更为精确)
在这里插入图片描述在这里插入图片描述
PSPNet(Pyramid Scene Parsing Network,2016):使用了金字塔池化模块。
在这里插入图片描述
主要特征:集成了合适的全局特征进行像素预测。PSPNet在FCN的基础上,将像素级特征扩展到专门设计的全局金字塔池化特征,通过结合局部和全局线索来提高最终预测的可靠性。

特点:在于使用了金字塔池化模块(pyramid pooling module),其总体结构如图9.9所示。金字塔池化模块在4个不同的粗细尺度上进行特征融合。最粗尺度对特征图进行全局平均池化,产生单格输出,加细尺度则把特征图分成不同子区域并形成不同位置的池化表示。在金字塔模块中,不同尺度级别的输出包含不同大小的特征图,但都采用1×1卷积层把上下文表示的维数降低为原来的1/N,其中N表示加细级别的大小。然后,低维特征图通过双线性插值进行上采样以获得相同大小的特征。最后,不同级别的特征被拼接为最终的金字塔池化全局特征。
Mask R-CNN(Pyramid Scene Parsing Network,2017):
在这里插入图片描述
主要特征:在扩展Faster R-CNN的基础上建立起来的,关键在于创建掩膜分支。掩膜分支是一个用在RoI上的小型全卷积网络,与分类和边框回归分支是平行的,能够在每一个RoI上按像素方式预测生成高质量的分割掩膜,但增加的计算量并不大。Mask R-CNN的优点是很容易在Faster R-CNN的框架上实现和训练,运行速度快,开展实验也方便。。
两种不同的头部结构:Faster R-CNN的脊柱结构为a)ResNet和b)FPN
在这里插入图片描述

特殊模型:

SiameseNet(孪生网络,2005):本质上是一种判断两个输入模式是否相似的通用框架。
在这里插入图片描述
主要特征:传统的分类模型需要确切知道每个样本的标签属于哪个类,而标签的数量通常相对较少。在类别数量特别多、标签相对少的情况下,有些类别可能根本没有标签,比如人类对第一次见到的生物物种往往是叫不出名字的。这时进行分类就可以考虑采用孪生网络(Siamese Network, SiameseNet)。孪生网络不仅能够从给定数据中学习一个相似性度量,而且还能够利用所学到的度量去比较和匹配新样本以确定类别。孪生网络的基本思想是构造一个函数将输入映射到目标空间,在目标空间通过简单的距离(例如,欧氏距离)计算相似度, 孪生网络的总体结构示意图
孪生网络在本质上是一种判断两个输入模式是否相似的通用框架,优点在于对领域知识的依赖性较低。
SqueezeNet(挤压网络,2017):简化模型结构、压缩模型参数
在这里插入图片描述
火焰模块:
在这里插入图片描述
主要特征:1)使用1×1卷积核代替3×3卷积核;
2)减少3×3卷积核的输入通道数量;
3)推后下采样,增大卷积层的激活图(activation map)。
特色:火焰模块(fire module),其结构如图所示。每个火焰模块实际上由两个卷积层组成,一个称为压缩层(squeeze layer),另一个称为扩展层(expand layer)。压缩层只有1×1大小的卷积核(记为S1×1),在经过ReLU函数变换后输入到扩展层。扩展层可以有1×1和3×3大小的两种卷积核(分别记为e1×1和e3×3),在经过ReLU函数后输入到下一层。在火焰模块中,一般要求S1×1的数量小于e1×1与e3×3的数量之和,这样有助于限制卷积核的输入通道数量。
DCGAN(2015):图片生成合成去噪去水滴等
NIN(Network In Network, 2013):增加网络的非线性能力,使上层的特征可以更复杂的被映射到下层。
主要特征:是一种非常特殊的卷积网络模型,其基本思想是使用一个微网络(micro network)卷积核来代替线性卷积核。微网络卷积核实际上是一个小型的多层感知器。与线性卷积核相比,微网络卷积核在理论上能够近似任何局部的非线性函数变换,不仅具有更高的抽象能力水平,而且可以通过反向传播算法进行训练。
在这里插入图片描述
一般网中网的结构:
在这里插入图片描述

强化学习:Q网络

DQN(deep Q-Network,2015):------

待续。。。。。

猜你喜欢

转载自blog.csdn.net/weixin_44474718/article/details/89288051