2012到2020主要的CNN架构总结

简介: 2012到2020主要的CNN架构总结

卷积神经网络(CNN或ConvNet)是理解图像内容的最佳学习算法之一,并且在图像分割,分类,检测和检索相关任务中表现出出色的表现。 有许多公司,例如Google,Microsoft,AT&T,NEC和Facebook,已经建立了活跃的研究小组来探索CNN的新架构。

640.png

什么是CNN?

CNN被设计用于图像识别任务,最初是用于手写数字识别的挑战(Fukushima 1980,LeCun 1989)。CNN的基本设计目标是创建一个网络,其中网络早期层的神经元将提取局部视觉特征,而后期层的神经元将这些特征组合起来以形成高阶特征。

640.png

在几乎每个CNN中,您都会看到三种主要的图层类型。

卷积层

卷积层由一组过滤器(也称为内核)组成,这些过滤器在输入数据上滑动。

每个内核都有一个宽度,一个高度和一个宽度×高度权重,用于从输入数据中提取特征。

在训练时,内核中的权重使用随机值进行初始化,并将根据训练集进行学习

池化层

池化层(或下采样层)用于减少特征图的维数,从而从特征图中保存最相关的信息。

在池化层中,过滤器会在输入数据上滑动并应用池化操作(最大,最小,平均)。

最大池是文献中使用最多的。

全连接层

是由三种类型的层组成的多层感知器:输入层,隐藏层和输出层。

输入层接收CNN生成的要素。

隐藏层是一系列具有权重的神经元,将在训练步骤中学习。一个MLP由一个或多个隐藏层组成。

输出层也是神经元序列。但是,它具有不同的激活函数。例如softmax函数用于生成问题范围内每个类别的概率。

主要CNN架构

多年来,已经开发出CNN架构的变体,从而在深度学习领域取得了惊人的进步。LeNet是CNN的第一个成功应用,由Yann Lecun在1990年代开发。最著名的是LeNet体系结构,该体系结构用于读取邮政编码,数字等。最新的工作称为LeNet-5,它是一个5层的CNN,其在独立字符识别中的准确度达到99.2%。

640.png

在本文中,我们将讨论每个机器学习工程师都应该知道的十大CNN架构。

AlexNet

2012年,Alex Krizhevsky以84.6%¹的测试准确度赢得了ImageNet大规模视觉识别挑战赛的冠军。Krizhevskyus使用GPU训练AlexNet,从而可以更快地训练CNN模型,并引起了人们的兴趣,并开始了基于CNN的新工作。

设计中使用五个卷积层,最大池层,ReLU作为激活函数,三个全卷积层和dropout。

VGG-16

牛津的模型以92.7%的精确度赢得了2013年的ImageNet竞赛²。

它使用一堆卷积层进行嵌套,在最小的几层中插入了具有小的接收场的卷积层,而只有少数几层具有大的接收场。

VGG-19

该模型与VGG-16类似,但是深度达到了19层。

Google Net

Google的网络以93.3%的准确度赢得了2014年ImageNet竞赛。

它由22层和一个新引入的构建模块(称为inception )组成。所以该网络也被称作inception net

Inception

Inception网络是CNN分类器发展的重要里程碑。在CNN诞生之前,它只是将堆叠的卷积层越来越深,希望获得更好的性能。它使用三种不同大小的滤波器(1x1、3x3、5x5)对输入执行卷积。

ResNet

微软的模型以96.4%的准确度赢得了2016年ImageNet竞赛。

由于引入了残差块及更深的层数(152层),因此众所周知。其余的块通过引入跳过连接来解决如何训练一个更深的网络结构的问题。有人已经通过残差块达到了1000层的网络深度。

Shuffile Net

它是一种极其高效的CNN架构,专为具有10–150 MFLOP(每秒兆浮点运算)的计算能力的移动设备而设计。

在保持准确性的同时,利用逐点分组卷积和通道混洗来降低计算成本。与Image Net分类上的Mobile Net系统相比,它获得了更低的top-1错误。

Squeeze Net

对于相同精度的AlexNet,SqueezeNet可以快三倍,而小500倍。

压缩(squeeze)模块仅包含1x1过滤器,这意味着它的工作方式类似于在同一位置的特征点上工作的完全连接图层。顾名思义,其好处之一就是减少了特征图的深度。减小厚度意味着压缩后下一层中只需要3x3卷积核进行计算。它提高了速度,因为3x3卷积核的计算量是1x1的卷积核的9倍。

Dense Net

DenseNet以前馈方式将每一层连接到其他每一层。它具有L层L(L + 1)/ 2个直接连接。对于每一层,将所有其他层的特征图用作输入,并将其特征图用作所有后续层的输入。DenseNets具有几个引人注目的优势:它们减轻了消失梯度的问题,增强了特征传播,鼓励了特征重用,并大大减少了参数数量。

ENet

Efficient  Net能够实时执行像素级语义分割。ENet速度提高了18倍,所需的FLOP(每秒浮点运算)减少了75倍,参数减少了79倍,并提供了与现有模型相似或更高的精度。Enet是语义分割中最快的模型。


目录
相关文章
|
10天前
|
机器学习/深度学习 测试技术 Ruby
YOLOv5改进 | 主干篇 | 反向残差块网络EMO一种轻量级的CNN架构(附完整代码 + 修改教程)
YOLOv5改进 | 主干篇 | 反向残差块网络EMO一种轻量级的CNN架构(附完整代码 + 修改教程)
154 2
|
10天前
|
机器学习/深度学习 人工智能 自然语言处理
一文介绍CNN/RNN/GAN/Transformer等架构 !!
一文介绍CNN/RNN/GAN/Transformer等架构 !!
36 4
|
11月前
|
机器学习/深度学习 自然语言处理 算法
图解CNN十大算法架构
图解CNN十大算法架构
107 0
|
机器学习/深度学习 编解码 测试技术
解决CNN固有缺陷, CCNN凭借单一架构,实现多项SOTA
解决CNN固有缺陷, CCNN凭借单一架构,实现多项SOTA
123 0
|
机器学习/深度学习 人工智能 编解码
7 Papers & Radios | DeepMind伪代码详解Transformer;连续CNN架构实现多SOTA
7 Papers & Radios | DeepMind伪代码详解Transformer;连续CNN架构实现多SOTA
131 0
|
机器学习/深度学习 编解码 数据可视化
一文梳理视觉Transformer架构进展:与CNN相比,ViT赢在哪儿?(2)
一文梳理视觉Transformer架构进展:与CNN相比,ViT赢在哪儿?
224 0
|
机器学习/深度学习 人工智能 编解码
一文梳理视觉Transformer架构进展:与CNN相比,ViT赢在哪儿?(1)
一文梳理视觉Transformer架构进展:与CNN相比,ViT赢在哪儿?
374 0
|
Web App开发 存储 缓存
「web浏览器」从一张进程截图说起,总结了一波Chrome架构知识点
本文从一张进程截图说起,总结了一波Chrome架构知识点。
243 0
|
SQL 分布式计算 前端开发
架构组件&查询处理流程--笔记总结 | 学习笔记
快速学习 架构组件&查询处理流程--笔记总结
68 0
|
存储 前端开发 数据管理
淘宝安卓端搜索架构升级总结
推荐语:这篇文章图文并茂地介绍了淘宝搜索滚动容器的技术演进过程,结合代码讲解页面结构划分、数据处理、交互效果,还包含了对逻辑抽象、功能拓展的思考,最后总结了可复用的架构。非常具有实践意义,推荐阅读学习! ——大淘宝技术终端开发工程师 门柳
301 0
淘宝安卓端搜索架构升级总结

热门文章

最新文章