从LeNet到EfficientNet:CNN的演变和特点总结

简介: 从LeNet到EfficientNet:CNN的演变和特点总结

卷积神经网络:构建基块

卷积神经网络(或简称CNN)是提取“可学习特征”的常用方法。CNN在深度学习和神经网络的发展与普及中发挥了重要作用。

但是,这篇博客中,我将重点放在完整的CNN架构上,而不是只关注单个内核。我们可能无法逐一浏览CNN历史上的每个主要发展节点,但是我将尝试带您了解常见的CNN架构如何随着时间演变。您需要对什么是CNN有所了解。

image.png

卷积神经网络:概述

LeNet:一切开始的地方

LeNet是第一个将反向传播应用于实际应用的CNN架构,突然之间,深度学习不再只是一种理论。LeNet用于手写数字识别,能够轻松胜过其他所有现有方法。LeNet体系结构非常简单,只有5个层,由5 * 5卷积和2 * 2池化组成,它为更好,更复杂的模型铺平了道路。

image.png

LeNet架构

AlexNet:越深越好

AlexNet是最早在GPU上实现的CNN模型之一,该模型真正将当时不断增长的计算机计算能力与深度学习联系在一起。他们创建了一个更深,更复杂的CNN模型,该模型具有各种大小的内核(例如11 * 11、5 * 5和3 * 3),并且通道数比LeNet大得多。他们还开始使用ReLU激活代替S型或tanh激活,这有助于训练更好的模型。AlexNet不仅在2012年赢得了Imagenet分类挑战的冠军,而且以惊人的优势击败了亚军,这突然使非深度模型几乎被淘汰。

image.png

AlexNet架构

InceptionNet:多尺度特征提取

InceptionNet是CNN历史上的一大进步,它解决了多个方面的问题。首先,与现有模型相比,InceptionNet具有更深,更多的参数。为了解决训练更深层模型的问题,他们采用了在模型之间使用多个辅助分类器的思想,以防止梯度消失。但是,他们的主要主张之一是并行使用各种大小的内核,因此增加了模型的宽度而不是深度。他们提出,这样的体系结构可以帮助他们同时提取更大或更小的特征。

image.png

InceptionNet v1架构

VGG:3x3卷积的力量

尽管CNN模型的所有先前模型都使用更大的卷积核(例如AlexNet具有11 * 11卷积核),但VGG提出了将所有这些卷积核分解为3 * 3卷积核的想法。根据VGG架构,堆叠在一起的多个3 * 3卷积能够复制更大的卷积核,并且它们之间存在更多的非线性特征(就激活函数而言),甚至比具有更大卷积核的对应模型表现更好。他们甚至引入了1 * 1卷积,以进一步增加模型中存在的非线性。从那时起,VGG模型就变得非常出名,甚至在今天的各种教程中也使用了VGG模型。

image.png

VGG-16架构

ResNet:解决梯度消失

由于深度学习中一个非常普遍的问题,即消失的梯度,简单地堆叠多个CNN层以创建更深层模型的大趋势很快就停止了。简而言之,在训练CNN时,梯度从最后一层开始,需要在到达初始层之前穿过中间的每一层。这可能会导致梯度完全消失,从而难以训练模型的初始层。ResNet模型引入了残差块连接,该模型为梯度传递创建了替代路径以跳过中间层并直接到达初始层。这使人们能够训练出性能较好的极深模型。现在在现代CNN架构中具有残留连接已成为一种常见的做法。

image.png


ResNet架构

MobileNet和MobileNetV2:迈向边缘友好模型

CNN在此阶段的总体趋势是创建越来越大的模型以获得更好的性能。尽管GPU提供的计算能力的进步使他们能够做到这一点,但在机器学习世界中也出现了一系列新产品,称为边缘设备。边缘设备具有极大的内存和计算约束,但是为许多无法应用GPU的应用打开了大门。

为了创建可以与现有最新技术相媲美的更轻巧的CNN模型,提出了MobileNet。MobileNet引入了可分离卷积的概念。用更简单的术语来说,它将二维卷积内核分解为两个单独的卷积内核,即深度方向(负责收集每个单独通道的空间信息)和点方向(负责处理各个通道之间的交互)。后来,还引入了MobileNetV2,并在体系结构中进行了剩余连接和其他调整,以进一步减小模型的大小。

image.png

深度可分离2D卷积

EfficientNet:挤压和激活层

随着各种针对性能或计算效率进行改进的独特模型的出现,EfficientNet模型提出了这样的想法,即可以通过相似的体系结构解决这两个问题。他们提出了一种通用的CNN骨架架构和三个参数,即宽度,深度和分辨率。模型的宽度是指各层中存在的通道数,深度是指模型中的层数,分辨率是指模型的输入图像大小。他们声称,通过将所有这些参数保持较小,可以创建一种竞争性强但计算效率高的CNN模型。另一方面,仅通过增加这些参数的值,就可以创建更好的高精度模型。

尽管之前已经提出了“挤压”和“激活”层,但它们是第一个将这种想法引入主流CNN的。S&E层跨通道创建交互,这些交互不会改变空间信息。这可以用来降低不太重要的因素的影响。他们还介绍了新出现的Swish激活函数而不是ReLU,这是提高性能的重要因素。在各种计算资源可用性类别下,EfficientNets是目前性能最好的分类模型。

image.png

挤压和激活网络

下面是什么呢?

如今,CNN模型已在其图像分类性能以及各种其他问题(例如对象检测和分段)的传递学习能力方面进行了测试。这些问题中的一些已经被认为已经解决。重点正转向沙漏架构之类的CNN模型,它的输出图像分辨率与输入相同。但是,我在本博客中介绍的骨干结构也可以直接用于各种深度学习任务,因此,即使图像分类问题已基本解决,但该领域的发展在将来仍将具有重要意义。

参考文献

[1] LeCun, Yann, et al. “Gradient-based learning applied  to document recognition.” Proceedings of the IEEE 86.11 (1998):  2278–2324.[2] Krizhevsky, Alex, Ilya Sutskever, and Geoffrey E.  Hinton. “Imagenet classification with deep convolutional neural  networks.” Advances in neural information processing systems. 2012.[3] Simonyan, Karen, and Andrew Zisserman. “Very deep convolutional  networks for large-scale image recognition.” arXiv preprint  arXiv:1409.1556 (2014).[4] He, Kaiming, et al. “Deep residual  learning for image recognition.” Proceedings of the IEEE conference on  computer vision and pattern recognition. 2016.[5] Szegedy,  Christian, et al. “Going deeper with convolutions.” Proceedings of the  IEEE conference on computer vision and pattern recognition. 2015.[6] Howard, Andrew G., et al. “Mobilenets: Efficient convolutional neural  networks for mobile vision applications.” arXiv preprint  arXiv:1704.04861 (2017).[7] Tan, Mingxing, and Quoc V. Le.  “Efficientnet: Rethinking model scaling for convolutional neural  networks.” arXiv preprint arXiv:1905.11946 (2019).

目录
相关文章
|
机器学习/深度学习 自然语言处理 固态存储
卷积神经网络CNN入门篇——形成、演变及其应用和影响。
卷积神经网络最初是受到视觉系统的神经机制启发、针对二维形状的识别设计的一种生物物理模型,在平移情况下具有高度的不变形,在缩放和倾斜情况下也具有一定的不变形。这种生物物理模型集成了“感受野”的思想,可以看作一种特殊的多层感知器或者前馈神经网络,具有局部连接、权值共享的特点,其中大量神经元按照一定方式组织起来对视野中的交叠区域产生反应。
414 0
卷积神经网络CNN入门篇——形成、演变及其应用和影响。
|
机器学习/深度学习 计算机视觉 异构计算
CNN结构演变总结(三)设计原则
前两篇对一些经典模型和轻量化模型关于结构设计方面的一些创新进行了总结,在本文将对前面的一些结构设计的原则,作用进行总结。 本文将介绍两种提升模型的表示能力的结构或方式,模型的五条设计原则,轻量化模型的四个设计方式。
CNN结构演变总结(三)设计原则
|
机器学习/深度学习 编解码 算法
CNN结构演变总结(二)轻量化模型
上一篇介绍了经典模型中的结构演变,介绍了设计原理,作用,效果等。在本文,将对轻量化模型进行总结分析。 轻量化模型主要围绕减少计算量,减少参数,降低实际运行时间,简化底层实现方式等这几个方面,提出了深度可分离卷积,分组卷积,可调超参数降低空间分辨率和减少通道数,新的激活函数等方法,并针对一些现有的结构的实际运行时间作了分析,提出了一些结构设计原则,并根据这些原则来设计重新设计原结构。
CNN结构演变总结(二)轻量化模型
|
机器学习/深度学习 算法 数据可视化
CNN结构演变总结(一)经典模型
在本文将对这些经典模型的结构设计演变做一个总结,旨在让读者了解一些结构的设计原理,产生效果的原因。在面对一个具体任务时能够准确地选择一个合理的特征提取网络,而不是随便选择一个。在自主设计网络时,也能根据总结的原则和经验设计出合理的结构,避免随心设计。
CNN结构演变总结(一)经典模型
|
9天前
|
机器学习/深度学习
【从零开始学习深度学习】23. CNN中的多通道输入及多通道输出计算方式及1X1卷积层介绍
【从零开始学习深度学习】23. CNN中的多通道输入及多通道输出计算方式及1X1卷积层介绍
【从零开始学习深度学习】23. CNN中的多通道输入及多通道输出计算方式及1X1卷积层介绍
|
9天前
|
机器学习/深度学习 算法 计算机视觉
卷积神经网络(CNN)的工作原理深度解析
【6月更文挑战第14天】本文深度解析卷积神经网络(CNN)的工作原理。CNN由输入层、卷积层、激活函数、池化层、全连接层和输出层构成。卷积层通过滤波器提取特征,激活函数增加非线性,池化层降低维度。全连接层整合特征,输出层根据任务产生预测。CNN通过特征提取、整合、反向传播和优化进行学习。尽管存在计算量大、参数多等问题,但随着技术发展,CNN在计算机视觉领域的潜力将持续增长。
|
9天前
|
机器学习/深度学习 Shell
【从零开始学习深度学习】22. 卷积神经网络(CNN)中填充(padding)与步幅(stride)详解,填充、步幅、输入及输出之间的关系
【从零开始学习深度学习】22. 卷积神经网络(CNN)中填充(padding)与步幅(stride)详解,填充、步幅、输入及输出之间的关系
|
9天前
|
机器学习/深度学习
【从零开始学习深度学习】21. 卷积神经网络(CNN)之二维卷积层原理介绍、如何用卷积层检测物体边缘
【从零开始学习深度学习】21. 卷积神经网络(CNN)之二维卷积层原理介绍、如何用卷积层检测物体边缘
|
17天前
|
机器学习/深度学习 算法 计算机视觉
基于CNN卷积神经网络的金融数据预测matlab仿真,带GUI界面,对比BP,RBF,LSTM
这是一个基于MATLAB2022A的金融数据预测仿真项目,采用GUI界面,比较了CNN、BP、RBF和LSTM四种模型。CNN和LSTM作为深度学习技术,擅长序列数据预测,其中LSTM能有效处理长序列。BP网络通过多层非线性变换处理非线性关系,而RBF网络利用径向基函数进行函数拟合和分类。项目展示了不同模型在金融预测领域的应用和优势。
|
1月前
|
机器学习/深度学习 存储 算法
卷积神经网络(CNN)的数学原理解析
卷积神经网络(CNN)的数学原理解析
57 1
卷积神经网络(CNN)的数学原理解析

热门文章

最新文章