深度学习在图片处理中的应用是从图像分类开始的,所以我们要先从图像分类中了解深度学习的应用情况。

本文根据阅读大量的资料和视频资源,简单地总结了图像分类中所有经典的深度学习神经网络。

1、LeNet

LeNet神经网络由深度学习三大巨头之一的Yan LeCun在1998提出,他同事也是卷积神经网络CNN父。LeNet主要用来进行手写字符的识别与分类。虽然LeNet早在20世纪90年代就已经提出了,但由于当时缺乏大规模的训练数据,计算机硬件的性能也较低,因此LeNet神经网络在处理复杂问题时效果并不理想。

LeNet网络结构

由上面的网络结构可以看出,网络通过一个输入Input,首先经过一个卷积层;再经过一个下采样层;再是一个卷积层;再是一个下采样层,最后是两个全连接层,经过一个softmax输出。可以说LeNet5是世界上第一个CNN网络。

项目地址:https://github.com/YouthJourney/Deep-Learning-For-Image-Process/tree/master/TensorFlow_Classification

2、AlexNet

AlexNet网络是2012年ISLVRC 2012竞赛的冠军网络,分类准确率由传统的70%+提升到80%+。它是由Hinton和他的学生Alex设计的。也是至此,深度学习开始迅速发展。

AlexNet网络结构

由上面的网络结构图可以清楚地看到AlexNet的整个网络结构由5个卷积层和3个全连接层组成,深度总共8层。

该网络的亮点在于:

(1)首次利用GPU进行网络加速训练。

(2)使用了ReLU激活函数,而不是传统的Sigmoid激活函数以及Tanh激活函数。

(3)使用了LRN局部响应归一化。对局部神经元的活动创建竞争机制,使得其中响应比较大的值变得相对更大,并抑制其他反馈较小的神经元,增强了模型的泛化能力。

(4)在全连接层的前两层中使用了Dropout随机失活神经元操作,以减少过拟合。

项目地址:https://github.com/YouthJourney/Deep-Learning-For-Image-Process/tree/master/TensorFlow_Classification

3、VGGNet

VGG在2014年由牛津大学研究组VGG(Visual Geometry Group)提出,斩获该年ImageNet竞赛中定位任务第一名和分类任务第二名。有多种网络模型,比如VGG11、VGG13、VGG16、VGG19。

VGG16网络结构

使用比较多的是VGG16网络结构,包括13个卷积层和3个全连接层。

网络中的亮点:通过堆叠多个3×3的卷积核来代替大尺度卷积核,它的原理在于感受野相同(减少所需参数,提高训练速度)。

项目地址:https://github.com/YouthJourney/Deep-Learning-For-Image-Process/tree/master/TensorFlow_Classification

4、GoogLeNet

GoogLeNet是在2014年由Google团队提出,斩获当年ImageNet竞赛中分类任务第一名。名称中的L大写是为了致敬LeNet。

GoogLeNet网络结构

通过网络结构图可以看出网络结构图使用了一系列的Inception结构,并添加了两个辅助输出器,还有局部响应归一化处理等

Inception结构

Inception结构是并行分支结构,输入特征矩阵传入Inception结构,每个分支会得到一个输出特征矩阵,再将这些特征矩阵按深度进行拼接得到一个输出特征矩阵。注意每个分支所得的特征矩阵高和宽必须相同。

网络中的亮点:

  • 引入了Inception结构(便于融入不同尺度的特征信息)
  • 使用1×1的卷积核进行降维以及映射处理
  • 添加两个辅助分类器帮助训练
  • 丢弃全连接层,使用平均池化层(大大减少模型参数量)

项目地址:https://github.com/YouthJourney/Deep-Learning-For-Image-Process/tree/master/TensorFlow_Classification

5、ResNet

ResNet在2015年由微软实验室提出,斩获当年ImageNet竞赛中分类任务第一名,目标检测第一名。获得COCO数据集中目标检测第一名,图像分割第一名。有多种网络模型,比如ResNet18,ResNet34,ResNet50,ResNet101,ResNet152。

ResNet34网络结构

该网络由一系列残差结构组成,比如ResNet由4个残差结构组成。

网络中的亮点:

  • 超深的网络结构(已经突破1000层)
  • 提出Residual模块
  • 使用Batch Normalization加速训练(丢弃Dropout)

残差结构

普通的网络中,如果不断增加网络层数,即使做了防止梯度消失和梯度爆炸的操作,依然会出现随着网络层数的增加得到的模型效果变差。因此引入了残差结构。

①实线残差结构,主分支输出特征矩阵和截近分支输出特征矩阵shape相同,可以相加。

②虚线残差结构,为了使主分支输出特征矩阵与截近分支输出特征矩阵的shape相同,需要在截近分支加一个1×1的卷积对输入特征矩阵降维。

Batch Normalization

批标准化,目的是使我们的一批feature map满足均值为0,方差为1的分布规律。通过该方法可以加速网络的收敛并提升准确率。Batch Size尽可能设置大一点,设置小了话结果会很差,设置的越大求的均值和方差越接近整个训练集的均值和方差,得到的拟合结果越好。

项目地址:https://github.com/YouthJourney/Deep-Learning-For-Image-Process/tree/master/TensorFlow_Classification

6、MobileNet

MobileNet网络是由Google团队在2017年提出的,专注于移动端或者嵌入式设备中的轻量级CNN网络。相比传统卷积神经网络,在准确率小幅降低的前提下大大减少模型参数与运算量。(相比VGG16准确率减少了0.9%,但模型参数只有VGG的1/32)有三个版本:MobileNetV1、MobileNetV2、MobileNetV3。

MobileNetV1网络结构

网络结构由大量DW卷积和PW卷积组成

网络中的亮点:

  • Depthwise Convolution(大大减少运算量和参数数量)
  • 增加超参数α、β。

DW卷积和传统卷积的区别

DW卷积和PW卷积的区别

MobileNet V2网络

MobileNet V2网络是由Google团队在2018年提出的,相比MobileNet V1网络,准确率更高,模型更小。

MobileNet V2网络结构

网络中的亮点:

  • Inverted Residual(倒残差结构)
  • Linear BottleNecks

倒残差结构与残差结构

MobileNet V3网络

MobileNet V3网络发表于2019年,V3版本结合了V1版本的深度可分离卷积、V2版本的Inverted Residual和Linear Bottleneck、SE模块(注意力机制)。利用NAS(神经结构搜索)来搜索网络的配置和参数。

MobileNet V3-Large网络结构

网络中的亮点:

  • 更新Block(bneck)
  • 使用NAS搜索参数(Neural Architecture Search)
  • 重新设计耗时层结构

项目地址:https://github.com/YouthJourney/Deep-Learning-For-Image-Process/tree/master/TensorFlow_Classification

7、ShuffleNet

ShuffleNet网络是由旷视科技在2017年底提出的轻量级可用于移动设备的卷积神经网络。该网络的创新之处就在于使用PointWise Group Convolution还有Channel Shuffle,保证网络准确率的同时,大幅度降低了所需的计算资源。

ShuffleNet V1中的Channel Shuffle结构

ShuffleNet V1中的Block结构

ShuffleNet V2

在ShuffleNet V2中提出了FLOPs不能作为衡量目标检测模型运行速度的标准,因为MAC(Memory access cost)也是影响模型运行速度的一大因素,论文中提出四点来说明此问题,并最终加以改进得到ShuffleNet V2的网络结构以及它的性能测试指标。

ShuffleNet V2网络结构

ShuffleNet V2中的Block结构

项目地址:https://github.com/YouthJourney/Deep-Learning-For-Image-Process/tree/master/TensorFlow_Classification

参考资料: https://space.bilibili.com/18161609/dynamic

图像分类中的深度学习网络汇总相关推荐

  1. 图像超分中的深度学习网络

    图像超分中的深度学习网络 质量评估 操作通道 有监督算法 预上采样 后采样超分 逐步上采样 迭代上下采样 上采样的学习方式 残差块 递归学习 多路径学习 密集连接 通道注意力机制 其他卷积 像素递归网 ...

  2. 深度学习网络训练中出现nan的原因分析

    报错: nan:Not a Number 该错误导致的后果:造成训练准确率的断崖式下跌 错误原因分析: 1)在loss函数中出现nan 出现原因:一般是因为tf中的log函数输入了'负数'或'0'值( ...

  3. #今日论文推荐# 爱丁堡大学等首篇《移动无线网络中的深度学习》综述论文,67页pdf涵盖570篇文献阐述深度学习在移动无线网络中的应用最佳实践

    #今日论文推荐# 爱丁堡大学等首篇<移动无线网络中的深度学习>综述论文,67页pdf涵盖570篇文献阐述深度学习在移动无线网络中的应用最佳实践 移动设备的迅速普及以及移动应用和服务的日益普 ...

  4. 计算机视觉 | 面试题:06、ReLU函数在0处不可导,为什么在深度学习网络中还这么常用?

    问题 ReLU函数在0处不可导,为什么在深度学习网络中还这么常用? 问题背景 这是在阿里的机器学习岗一面的时候问的一个问题,最开始的问题是"为什么机器学习中解决回归问题的时候一般使用平方损失 ...

  5. 利用Pytorch中深度学习网络进行多分类预测(multi-class classification)

    从下面的例子可以看出,在 Pytorch 中应用深度学习结构非常容易 执行多类分类任务. 在 iris 数据集的训练表现几乎是完美的. import torch.nn as nn import tor ...

  6. 何恺明团队新作!深度学习网络架构新视角:通过相关图表达理解神经网络

    标题&作者团队 导语:恺明大神出品,必属精品.Facebook的研究员从一个新奇的角度对神经网络的表示与设计进行探索,提出了一种新颖的相关图表示方式.它有助于对现有网络架构进行更深层次的分析与 ...

  7. [转]机器学习和深度学习资料汇总【01】

    本文转自:http://blog.csdn.net/sinat_34707539/article/details/52105681 <Brief History of Machine Learn ...

  8. 《Python自然语言处理-雅兰·萨纳卡(Jalaj Thanaki)》学习笔记:09 NLU和NLG问题中的深度学习

    09 NLU和NLG问题中的深度学习 9.1 人工智能概览 9.1.1 人工智能的基础 9.1.2 人工智能的阶段 9.1.3 人工智能的种类 9.1.4 人工智能的目标和应用 9.2 NLU和NLG ...

  9. 如何利用扬声器构建深度学习网络?

    简 介: 来自于康纳尔大学的这篇研究论文给出了 一个利用物理系统实现深层网络学习和推理的框架.本文对于文章举例的三个系统不属于线性时不变系统进行分析.除了其中SHG系统比较复杂之外,其它两个系统(三极 ...

最新文章

  1. 线程安全之strtok()函数
  2. java modelmapper_java - 使用ModelMapper映射抽象类型的字段 - SO中文参考 - www.soinside.com...
  3. python-- Image 模块
  4. 四种参数传递的形式——URL,超链接,js,form表单
  5. 静态html引入js添加随机数后缀防止缓存
  6. python 日期处理_python 处理时间和日期
  7. KVM虚拟化常见问题
  8. [转载] 终于来了!TensorFlow 2.0入门指南(上篇)
  9. python 传奇服务端_传奇游戏服务器源码学习
  10. ADO.NET编程(3)在内存中对DataTable进行增/删/改操作
  11. 【数据、软件共享】年鉴,夜间灯光,土地数据(永久更新)
  12. 数据库系统概念(中文版)(第6版)pdf
  13. 一般试卷的纸张大小是多少_试卷字体多大合适 标准试卷的字体大小
  14. php 怎么使用sql server 2000,Linux下PHP支持MSSQL(SQL Server2000)
  15. Springboot官网学习(5、深入Springboot之SpringApplication【五自定义横幅】)
  16. html字两边的横线_css实现中间文字两边横线效果
  17. 2023国自然已审核,预祝8月上榜
  18. 与计算机内存容量密切相关的,与计算机内存容量密切相关的是( )。
  19. 使用Numpy创建纯色图片
  20. 聊聊我是如何拿到这么多大厂offer的

热门文章

  1. 智能手机10大未来发展趋势
  2. 二十六、图形用户界面
  3. python将pdf文件类型转换为txt、docx、excel
  4. AI警察,你不来了解一下吗?
  5. 地理信息系统专业考研 GIS专业考研 名词解释大全
  6. License for package Android SDK Build-Tools 28.0.3 not accepted【解决】
  7. 苹果手机的处理器全都是64位的吗?
  8. Android知识体系总结2020(全方面覆盖Android知识结构,面试进阶)
  9. 老鼠识别 yolo老鼠识别 深度学习老鼠识别 仓鼠识别 名厨亮灶
  10. 生成一个钉钉自动打卡的app