【深度学习】常用网络总结

常用深度网络总结,包含背景、创新点、表现、文章代码资源等 适用于机器学习、深度网络、计算机视觉的道友..

自己手打总结文档,囿于能力,挂一漏万,如有笔误请大家指正~

Name

Year

Background

Novel

Performance

Refer

LeNet

1994

CNN模型鼻祖

  1. 卷积结构
  2. 参数共享
  3. 池化层
  1. 用于手写体字符识别的非常高效的卷积神经网络。
  2. 卷积神经网络充分利用图像的结构信息。
  3. 卷积层的参数较少,由局部连接和共享权重所决定。

GitHub - WZMIAOMIAO/deep-learning-for-image-processing: deep learning for image processing including classification and object-detection etc.

https://ieeexplore.ieee.org/document/5265772

~

AlexNet

2012

ImageNet top

现实高分辨图像分类

  1. 非线性激活函数ReLU
  2. 双GPU加速
  1. 首次使用了GPU进行网络加速训练。
  2. 使用了ReLU激活函数,而不是传统的Sigmoid激活函数以及Tanh激活函数。
  3. 使用了LRN局部响应归一化。
  4. 在全连接层的前两层中使用了Droupout随机失活神经元操作,以减少过拟合。

http://www.cs.toronto.edu/~fritz/absps/imagenet.pdf

https://github.com/WZMIAOMIAO/deep-learning-for-image-processing

~

VGG

2014

Imagenet top

卷积核尺寸大讨论

小卷积核(3x3)叠加代替较大卷积核,减少参数同时多层非线性映射,增加网络的拟合/表达能力

  1. 通过增加深度能有效地提升性能;
  2. VGG16是最佳的模型,只有3x3卷积与2x2池化,简洁优美训练
  3. 时间过长,调参难度大
  4. 需要的存储容量大,不利于部署

https://arxiv.org/abs/1409.1556

https://github.com/bubbliiiing/classification-pytorch

~

U-net

2015

MICCAI

分割图像

骨干网络

小样本,边缘分割不准

  1. 边界像素使用了镜像操作
  2. 加权边界损失
  3. 平滑形变数据增强
  1. U-Net网络支持少量的训练模型
  2. 像素点进行分割,获得更高的分割准确率。

https://arxiv.org/pdf/1505.04597v1.pdf

GitHub - milesial/Pytorch-UNet: PyTorch implementation of the U-Net for image semantic segmentation with high quality images

~

GoogleNet

Inception v1

2014

ILSVRC top

单一深层网络梯度消失,优化困难

  1. 串行结构(深度+宽度)转向并行结构(多分支、多尺度)
  2. split-transform-merge分割变换合并结构
  1. 感受野的大小不同,获得不同尺度特征
  2. 1*1的卷积核降维

https://arxiv.org/pdf/1409.4842.pdf

Resne是相加

incenption是concat

Inception v2

2015

Internal Covariate Shift问题

  1. 提出了Batch Normalization,加大神经网络训练深度
  2. Inception-v1中5*5的卷积用2个3*3的卷积替换
  1. 加速网络训练
  2. 防止梯度消失(把逐渐向非线性映射的两端饱和区靠拢的输入分布,强行拉回到0均值单位方差的标准正态分布,即激活函数的兴奋区,在sigmoid兴奋区梯度大,加速网络训练,防止了梯度消失)

https://arxiv.org/pdf/1502.03167.pdf

~

Inception v3

2015

  1. feature map对层的压缩过大损失大量信息
  2. 高维特征的局部处理困难
  3. 平衡网络的宽度和深度
  1. 分解为不对称的卷积核(n*n的卷积核替换成 1*n 和 n*1 的卷积核堆叠)
  2. 使用辅助分类器
  3. Pooling时扩展两倍通道数,卷积层+pooling层concat在一起
  1. 节约了大量的参数
  2. 增加一层非线性,提高模型的表达能力
  3. 可以处理更丰富的空间特征,增加特征的多样性
  4. 辅助分类器有效回传梯度,加快训练
  5. 丰富中间特征峰含义,增强中间层特征份额里能力

https://arxiv.org/pdf/1512.00567.pdf

~

Inception v4

2016

Resnet+ Inception

Inception-ResNet 多分支加上残差结构

Inception内部增加shortcut结构,融合多分支+深层结构

https://arxiv.org/pdf/1602.07261.pdf

~

Xception

2016

谷歌对InceptionV3改进模型,缓解inception卷积参数太大

  1. depthwise separable convolution深度可分离卷积代替3*3普通卷积
  2. Xception模块加入了残差结构
  1. 与传统depthwise separable convolution顺序相反,先进行1*1降维,再3*3的group卷积
  2. 参数比Inception v3更少

https://arxiv.org/abs/1610.02357

https://github.com/tensorflow/models/blob/master/research/deeplab/core/xception.py

Xception保证数据不被破坏,没有添加relu层

mobileNet添加了relu层

ResNet

18/34/50/101/152

2015

ImageNet top

网络的加深会导致梯度爆炸和梯度消失

  1. residual(残差结构)模块

1.超深的网络结构(超过1000层)。

2.提出residual(残差结构)模块。

3.使用Batch Normalization 加速训练(丢弃dropout)。

https://arxiv.org/abs/1512.03385

https://github.com/tensorflow/models/blob/master/research/slim/nets/resnet_v2.py

Resne是相加,

incenption是concat

虚线shortcut需要升维

ResNeXt

2016

CVPR

加深或加宽网络导致超参数数量的增加,增大网络难度和计算开销

  1. Resnet结构中用group卷积代替传统卷积
  2. aggregrated transformations平行堆叠相同拓扑结构的blocks代替原来 ResNet 的三层卷积的block
  1. 拓扑结构相同,超参数也减少
  2. 增加 cardinality (同拓扑结构的分支)比增加深度和宽度有效

https://arxiv.org/abs/1611.05431

https://github.com/miraclewkf/ResNeXt-PyTorch

各分支尺度拓扑结构一样,区别于incenption

DenseNet

2017

CVPR

(最佳论文)

网络层数增加,gradient vanishing和model degradation问题

  1. 提出了一个更激进的密集连接机制:即互相连接所有的层
  1. 相比ResNet拥有更少的参数数量.
  2. 旁路加强了特征的重用.
  3. 网络更易于训练,并具有一定的正则效果.
  4. 缓解了gradient vanishing和model degradation的问题

csdn - 安全中心

GitHub - liuzhuang13/DenseNet: Densely Connected Convolutional Networks, In CVPR 2017 (Best Paper Award).

后层concat层数爆炸

MobileNet v1

2017

移动设备因硬件资源和算力的限制,很难运行复杂的深度学习网络模型。

  1. 深度可分离卷积(Depthwise Separable Convolution)代替卷积
  2. 宽度因子调整调整通道数大小
  3. 分辨率因子调整输入特征图尺寸
  1. 移动终端、嵌入式设备运行神经网络模型成为可能
  2. 更小的体积,更少的计算量,更高的精度。在轻量级神经网络中拥有极大的优势

https://arxiv.org/abs/1704.04861

https://github.com/tensorflow/models/tree/master/research/slim/nets

MobileNet v2

2018

CVPR

Pw升维解决了V1网络中DW层输入时向量维度固定不变的问题

  1. 倒残差结构(先升维后降维,ReLU6激活)
  2. 线性瓶颈结构

网络层次更深了,但是模型体积更小,速度更快

https://ieeexplore.ieee.org/document/8578572

~

MobileNet v3

2019

V1和v2的改进版

  1. 轻量级的注意力Squeeze-and-excitation(SE)
  2. h-swish代替swish函数
  3. 结构通过神经架构搜索(NAS)获得
  4. 5×5大小的深度卷积代替部分3×3

减少计算量和参数量,保持模型的精度

https://arxiv.org/abs/1905.02244

~

EnfficientNet v1

2019

ICML

ImageNet top

单一模态叠加地网络性能受限,深层网络的精度回报减弱

  1. 提出了compound scaling(混合缩放)复合利用宽度、深度、分辨率
  2. NAS网络搜索结构
  3. 复合系数ϕ统一缩放网络宽度、深度和分辨率
  4. MobileNet V3主干网络
  1. 饱和值高,并且到达速度快
  2. FLOPS优化

https://arxiv.org/abs/1905.11946

~

EnfficientNet v2

2019

ICML

  1. 大图像尺寸会导致显著的内存占用
  2. DepthWise卷积不能完全利用现有的加速器
  3. EfficientNet的缩放策略不是最优解
  1. 提出了网络不同阶段的缩放策略,并且限制了网络的最大输入尺寸
  2. 自适应调整正则化参数的机制,实现了加速训练,正则化应该随着输入图像尺寸的改变而改变
  3. 引入Fused-MBConv到搜索空间中,移除不重要的搜索选项

多个基准数据集上取得了SOTA性能,且训练效率更高

http://arxiv.org/abs/1905.11946

https://github.com/Arwin-Yu/Classic-CNN-Models

~

ShuffleNet v1

2017

  1. 现有group convolution 密集的1x1 pointwise convolution,计算量大
  2. 各group卷积间缺少通信
  1. channel shuffle对group convolution之后的特征图进行重组
  2. 残差单元中的第一个1*1层用channel shuffle
  1. group越大时特征图数量增加,网络的特征提取能力增强
  2. 计算复杂度更低,而且精度更好

http://cn.arxiv.org/abs/1707.01083?context=cs.CV

ShuffleNet v2

2018

降低FLOPs的理论探讨

  1. 输入=输出通道数降低内存访问量
  2. 组数增加内存使用量
  3. 网络碎片化会降低并行度
  4. 元素级操作  占用20%算量
  1. 1x1卷积进行平衡输入和输出的通道大小;
  2. 组卷积要谨慎使用,注意分组数;
  3. 避免网络的碎片化;
  4. 减少元素级运算。
  5. channel split代替shortcut
  6. 轻量化网络中CPU最佳,GPU次佳

https://arxiv.org/pdf/1807.11164.pdf

Vision- transformer

B\L\H

2020

ImageNet1K top

注意力与视觉的浅层结合,希望仅使用注意力代替CNN模块

  1. Linear Projection of Flattened Patches(Embedding层)
  2. Transformer Encoder
  3. MLP Head, Multi-Head Attention.
  4. BatchNorm层替换成GroupNorm层
  5. 位置相似性编码
  6. stdConv2d代替传统卷积
  1. 应用于图像块序列  (sequences of image patches) 的纯 Transformer 可以很好地执行 图像分类任务
  2. transformer替代卷积成为可能

https://arxiv.org/abs/2010.11929

GitHub - google-research/vision_transformer

https://github.com/WZMIAOMIAO/deep-learning-for-image-processing/tree/master/pytorch_classification/vision_transformer

Swin- transformer

2021

ICCV best paper

图像尺度不一

resolution较大

  1. window attention,移动窗口增加效率,自注意力是在窗口内计算,降低了序列的长度
  2. shift window attention,相邻的两个窗口之间进行交互

Vision Transformer像卷积神经网络能够分成几个block做层级式的特征提取,(hierarchical) Transformer

https://arxiv.org/abs/2103.14030

自己:脑机接口+人工智领域,主攻大脑模式解码、身份认证、仿脑模型…

在读博士第3年,在最后1年,希望将代码、文档、经验、掉坑的经历分享给大家~ 做的不好请大佬们多批评、多指导~ 虚心向大伙请教!

想一起做些事情 or 奇奇怪怪点子 or 单纯批评我的,请至Rongkaizhang_bci@163.com

 

------------------------------------------------------------------------------------------------------------------------------------------

参考文章:

详解DenseNet(密集连接的卷积网络)_迷雾总会解的博客-CSDN博客_densenet

ResNet详解_qq_45649076的博客-CSDN博客_resnet

U-Net网络理解与应用_梅森姑娘的博客-CSDN博客_u-net网络优缺点

AlexNet模型详细分析_小兔崽崽!的博客-CSDN博客_alexnet模型

四、全卷积网络FCN详细讲解(超级详细哦)_会哭泣的猫的博客-CSDN博客_全卷积网络

FCN详解与pytorch简单实现(附详细代码解读)_zinc_abc的博客-CSDN博客_fcn pytorch

深度学习——VGG16模型详解_橙子吖21的博客-CSDN博客_vgg16

inception-v1,v2,v3,v4----论文笔记_Meng的博客-CSDN博客_inception论文

Xception网络结构详解与模型的搭建_binlin1209的博客-CSDN博客_xception模型

ResNeXt算法详解_AI之路的博客-CSDN博客_resnext

轻量级网络--MobileNet论文解读_DFann的博客-CSDN博客_mobilenet网络论文

轻量级神经网络MobileNet全家桶详解_雷恩Layne的博客-CSDN博客_mobilenet0.25

MobileNetV2: Inverted Residuals and Linear Bottlenecks(MobileNetV2)-论文阅读笔记_wyypersist的博客-CSDN博客_mobilenetv2论文

睿智的目标检测49——Pytorch 利用mobilenet系列(v1,v2,v3)搭建yolov4目标检测平台_Bubbliiiing的博客-CSDN博客

深度学习图像分类(十四): EifficientNet系列(V1, V2)_Arwin(Haowen Yu)的博客-CSDN博客

shuffleNet系列_佛系调参的博客-CSDN博客

Vision Transformer详解_太阳花的小绿豆的博客-CSDN博客

【机器学习】详解 Vision Transformer (ViT)_何处闻韶的博客-CSDN博客_vit位置编码

Swin Transformer原理(新手入门级理解)_时芷_的博客-CSDN博客_swin transformer

【机器学习】详解 Swin Transformer (SwinT)_何处闻韶的博客-CSDN博客_swin transformer

  • 8
    点赞
  • 23
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值