深度学习框架详解:汇总

这是初稿,还在修改中!

 

目录

一、经典的网络结构

1.1LeNet

1.2AlexNet

1.3ZF-Net

1.4VGG-Net

1.5GoogLeNet

1.6ResNet

1.7Densnet

1.8ResNext

1.9DPN

1.10随机深度(Deep networks with stochastic depth)

二、目标检测

2.1 基于候选区域的方法

2.1.1DPM

2.1.2SPP-Net

2.1.3R-CNN

2.1.4Fast R-CNN

2.1.5Faster R-CNN

2.1.6FPN

2.2基于回归的方法

2.2.1YOLO

2.2.2SSD( 小目标检测)

 

三、轻量化网络

3.1MobileNet V1&V2

3.2ShuffleNet V1&V2

3.3XCeption

四、其他有意思的网络

五、汇总

六、卷积形式

七、池化


一、经典的网络结构

1.1LeNet

(1998年):http://cuijiahua.com/blog/2018/01/dl_3.html

1.2AlexNet

(2012年):https://blog.csdn.net/guoyunfei20/article/details/78122504

采用了5层的卷积,并使用两块GPU进行训练。

1.3ZF-Net

(2013年,对AlexNet的改进):https://blog.csdn.net/qq_31531635/article/details/71104334

AlexNet的改进,改动不大,主要是引入了可视化,使用了解卷积和反池化(无法实现,只能近似)的近似对每一层进行可视化,并采用一个GPU进行训练

1.4VGG-Net

(2014年):https://blog.csdn.net/whz1861/article/details/78111606

http://blog.51cto.com/gloomyfish/2105427

1.5GoogLeNet

(2014年,v1~v4)

https://blog.csdn.net/rogerchen1983/article/details/79591769

v1:增加了网络的宽度,inception模块采用3×3和5×5以及1×1卷积与3×3最大池化,为了降低计算量,在3×3卷积和5×5卷积后加入了1×1卷积降维,3×3最大池化后加入1×1卷积降维,最后的四个输出的通道进行级联(堆叠)

v2:卷积分解:把inception模块中的5×5卷积分解成(3×3+3×3),进一步可以把3×3和5×5卷积分别分解成(1×3+3×1)和(1×3+3×1+1×3+3×1);降低特征图大小:(池化+卷积)和(卷积+池化)并行

v3:把非inception模块中的3×3和7×7卷积模块分别分解成(1×3+3×1)和(1×7+7×1)

v4:引入ResNet思想,在inception模块中引入残差

1.6ResNet

(2015年)ResNetV1:https://blog.csdn.net/lanran2/article/details/79057994

https://blog.csdn.net/rogerchen1983/article/details/79353972

引入残差,跨层链接,可以解决网络过深导致的梯度消失问题。有两个分支,分别为identity和residual,add层是使得两个分支的每个通道进行相加操作,如果通道数不等,则要把Identitfty分支进行卷积操作已达到和residual分支相同的通道数。

ResNet V2: https://blog.csdn.net/lanran2/article/details/80247515

ResNet V2改进不大,只是在v1的基础上调整了BN的位置,并分析了5中BN和RELU的位置放置问题

1.7Densnet

(2017年CVPR):https://blog.csdn.net/u014380165/article/details/75142664/

每一层的输出都和每一层的输入连接,比ResNet来的更加彻底

1.8ResNext

https://blog.csdn.net/u014380165/article/details/71667916

1.9DPN

https://blog.csdn.net/u014380165/article/details/75676216

1.10随机深度(Deep networks with stochastic depth)

深度学习模型之——Stochastic depth(随机深度)

 

常见的网络结构:https://blog.csdn.net/xygl2009/article/details/77624449

二、目标检测

2.1 基于候选区域的方法

2.1.1DPM

2010年,传统方法:https://blog.csdn.net/qq_14845119/article/details/52625426

2.1.2SPP-Net

( 空间金字塔池化,实现了网络支持任意图片大小的输入)

(2015)https://blog.csdn.net/v1_vivian/article/details/73275259

 

下面的汇总:https://www.cnblogs.com/skyfsm/p/6806246.html

2.1.3R-CNN

2014

流程 :

1、先在图像上确定2000个候选框(使用选择性搜索),

2、把这2000个候选框进行规整到相同的储存后输入Conv提取空间特征,

3、对候选框中提取出的特征,使用分类器判别是否属于一个特定类

4、 对于属于某一特征的候选框,用回归器进一步调整其位置

2.1.4Fast R-CNN

2015,在R-CNN上,对整副图片进行卷积,而不是每个候选框,简化了运算; 引入了SPP-Net的思想(此处称为ROI-pooling),对候选框进行维度的固定,二不是简单的规整,这样使得网络能够支持任意图片大小的输入。

流程:

1. 在图像中确定约1000-2000个候选框 (使用选择性搜索)

2. 对整张图片输进CNN,得到feature map

3. 找到每个候选框在feature map上的映射patch,将此patch作为每个候选框的卷积特征输入到SPP layer和之后的层

4. 对候选框中提取出的特征,使用分类器判别是否属于一个特定类

5. 对于属于某一特征的候选框,用回归器进一步调整其位置

2.1.5Faster R-CNN

2016,在Fast  R-CNN的基础上引入了RPN(Region Proposal Network,区域候选网络)

流程:

1. 对整张图片输进CNN,得到feature map

2. 卷积特征输入到RPN,得到候选框的特征信息

3. 对候选框中提取出的特征,使用分类器判别是否属于一个特定类

4. 对于属于某一特征的候选框,用回归器进一步调整其位置

参考链接:https://blog.csdn.net/lk123400/article/details/54343550/
  

2.1.6FPN

(Feature Pyramid Networks for Object Detection,2017CVPR,多尺度的目标检测,对小目标的检测效果好)

https://blog.csdn.net/WZZ18191171661/article/details/79494534

 

2.2基于回归的方法

 

2.2.1YOLO

汇总:https://blog.csdn.net/yujianmin1990/article/details/80212687

v1: https://blog.csdn.net/hrsstudy/article/details/70305791

思想:把图片分成S×S(s=7)个网格,每个网格负责预测B(B=2)个类别,共有有C (C=20)个类别,输出向量为S×S×(B*5+C):其中的5为(x,y,w,h,confidence),后面假C是因为每一个栅格还要预测C个 conditional class probability(条件类别概率):Pr(Classi|Object)。即在一个栅格包含一个Object的前提下,它属于某个类的概率。我们只为每个栅格预测一组(C个)类概率,而不考虑框B的数量。

最后输出有S*S*B个框,用NMS(非极大值抑制)选出最终的结果。

说明:坐标x,y代表了预测的bounding box的中心与栅格边界的相对值。
坐标w,h代表了预测的bounding box的width、height相对于整幅图像width,height的比例。
confidence就是预测的bounding box和ground truth box的IOU值。

网络结构:先在ImageNet1000上做分类训练作为预训练(前20层 + mean-pooling + full-connect),以便能够保证网络对物体的正确特征的提取能力。然后在PASCAL VOC上做目标检测(pre-train前20层 + 4 Conv + 2 full-connect)。Yolo-v1更多借鉴了GoogLeNet的结构(含有大量的Inception结构,详细见)。
  实际标注的box的长宽用图像的长宽做归一化,所以预测长宽值时范围在[0,1]内;预测中心位置,也是计算偏差比例tx,从而计算位置x_{pred}=(t_{x}*width)-x_{cell}l。注意,所有ReLU函数都使用Leaky ReLU。

v2:https://www.cnblogs.com/makefile/p/YOLOv3.html

补充资料:http://www.360doc.com/content/17/0810/10/10408243_678094588.shtml

相对与V1,做了如下改进:

(1)优化了预测项

(2)细粒度特征:借鉴了ResNet的思想,引入了残差,能更好的拥有细粒度特征

(3)简化了网络,使用了BN

(4)改进了训练方法:采用了多尺度。

(5)用聚类选择所用anchor-box

v3:https://blog.csdn.net/gzq0723/article/details/79936613

改进:

(1)多尺度预测,借用了FPN的思想,这里有三个尺度;

(2)更好的基础分类网络和分类器:不使用softmax作为分类,而是使用多个logistic分类器代替,分类损失采用binary cross-entropy loss网络放ResNet101,但速度更快。

2.2.2SSD( 小目标检测)

https://www.cnblogs.com/fariver/p/7347197.html

https://blog.csdn.net/neu_chenguangq/article/details/79057655

2.2.3

2.2.4

 

 

三、轻量化网络

3.1MobileNet V1&V2

MobileNet V1:采用了deep-wise卷积来降低卷积的参数和计算复杂度。结构为:3×3(Deepwise Conv)+BN+RELU+1×1(Conv)+BN+RELU,为了进步优化,引入了宽度因子(在卷积通道乘上一个系数0.75,0.5,0.25)和分辨率因子(在尺寸上乘以一个系数)

MobileNet V2:在v1的基础上引入ResNet的residual block,不同于ResNet中的先降维再升维,这里是先升维后降维,一次称为Inverted Residual Block。

3.2ShuffleNet V1&V2

ShuffleNet V1:组卷积(group convolution)+通道重排(channel shuffle)

ShuffleNet V2:

3.3XCeption

四、其他有意思的网络

4.1FCN(全卷积网络,语义分割)

 

UNet

语义分割(semantic segmentation) 常用神经网络介绍对比-FCN SegNet U-net DeconvNet

PspNet

深度学习之PSPnet用于语义分割

Mask R-CNN

Mask R-CNN详解

https://www.cnblogs.com/gujianhan/p/6030639.html

https://blog.csdn.net/u012759136/article/details/52434826#t9

4.2GAN(生成对抗网络)

 

五、汇总

https://blog.csdn.net/Sakura55/article/details/81559881

https://blog.csdn.net/cyh153296/article/details/80900842

 

六、卷积形式

卷积 | 深度可分离卷积、分组卷积、空洞卷积、转置卷积(反卷积)

toeplitz 托普利兹矩阵

https://baike.baidu.com/item/%E6%89%98%E6%99%AE%E5%88%A9%E5%85%B9%E7%9F%A9%E9%98%B5/5735426?fr=aladdin

 

七、池化

1) mean-pooling,即对邻域内特征点只求平均,对背景保留更好;

2) max-pooling,即对邻域内特征点取最大,对纹理提取更好;

source:http://www.knowsky.com/965914.html

https://blog.csdn.net/u010402786/article/details/51541465

谷歌镜像网站:

https://plus.likeso.ml/

https://rain.likeso.ml/

你可能感兴趣的:(深度学习框架详解:汇总)