从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入门篇——形成、演变及其应用和影响。
卷积神经网络最初是受到视觉系统的神经机制启发、针对二维形状的识别设计的一种生物物理模型,在平移情况下具有高度的不变形,在缩放和倾斜情况下也具有一定的不变形。这种生物物理模型集成了“感受野”的思想,可以看作一种特殊的多层感知器或者前馈神经网络,具有局部连接、权值共享的特点,其中大量神经元按照一定方式组织起来对视野中的交叠区域产生反应。
482 0
卷积神经网络CNN入门篇——形成、演变及其应用和影响。
|
机器学习/深度学习 计算机视觉 异构计算
CNN结构演变总结(三)设计原则
前两篇对一些经典模型和轻量化模型关于结构设计方面的一些创新进行了总结,在本文将对前面的一些结构设计的原则,作用进行总结。 本文将介绍两种提升模型的表示能力的结构或方式,模型的五条设计原则,轻量化模型的四个设计方式。
CNN结构演变总结(三)设计原则
|
机器学习/深度学习 编解码 算法
CNN结构演变总结(二)轻量化模型
上一篇介绍了经典模型中的结构演变,介绍了设计原理,作用,效果等。在本文,将对轻量化模型进行总结分析。 轻量化模型主要围绕减少计算量,减少参数,降低实际运行时间,简化底层实现方式等这几个方面,提出了深度可分离卷积,分组卷积,可调超参数降低空间分辨率和减少通道数,新的激活函数等方法,并针对一些现有的结构的实际运行时间作了分析,提出了一些结构设计原则,并根据这些原则来设计重新设计原结构。
CNN结构演变总结(二)轻量化模型
|
机器学习/深度学习 算法 数据可视化
CNN结构演变总结(一)经典模型
在本文将对这些经典模型的结构设计演变做一个总结,旨在让读者了解一些结构的设计原理,产生效果的原因。在面对一个具体任务时能够准确地选择一个合理的特征提取网络,而不是随便选择一个。在自主设计网络时,也能根据总结的原则和经验设计出合理的结构,避免随心设计。
CNN结构演变总结(一)经典模型
|
30天前
|
机器学习/深度学习 人工智能 算法框架/工具
深度学习中的卷积神经网络(CNN)及其在图像识别中的应用
【10月更文挑战第7天】本文将深入探讨卷积神经网络(CNN)的基本原理,以及它如何在图像识别领域中大放异彩。我们将从CNN的核心组件出发,逐步解析其工作原理,并通过一个实际的代码示例,展示如何利用Python和深度学习框架实现一个简单的图像分类模型。文章旨在为初学者提供一个清晰的入门路径,同时为有经验的开发者提供一些深入理解的视角。
|
2天前
|
机器学习/深度学习 计算机视觉 网络架构
为什么卷积现在不火了:CNN研究热度降温的深层原因分析
纵观近年的顶会论文和研究热点,我们不得不承认一个现实:CNN相关的研究论文正在减少,曾经的"主角"似乎正逐渐淡出研究者的视野。
22 11
为什么卷积现在不火了:CNN研究热度降温的深层原因分析
|
1天前
|
机器学习/深度学习 人工智能 算法框架/工具
深度学习中的卷积神经网络(CNN)及其在图像识别中的应用
【10月更文挑战第36天】探索卷积神经网络(CNN)的神秘面纱,揭示其在图像识别领域的威力。本文将带你了解CNN的核心概念,并通过实际代码示例,展示如何构建和训练一个简单的CNN模型。无论你是深度学习的初学者还是希望深化理解,这篇文章都将为你提供有价值的见解。
|
16天前
|
机器学习/深度学习 人工智能 自动驾驶
深度学习中的卷积神经网络(CNN)及其应用
【10月更文挑战第21天】本文旨在深入探讨深度学习领域的核心组成部分——卷积神经网络(CNN)。通过分析CNN的基本结构、工作原理以及在图像识别、语音处理等领域的广泛应用,我们不仅能够理解其背后的技术原理,还能把握其在现实世界问题解决中的强大能力。文章将用浅显的语言和生动的例子带领读者一步步走进CNN的世界,揭示这一技术如何改变我们的生活和工作方式。
|
23天前
|
机器学习/深度学习 人工智能 监控
深入理解深度学习中的卷积神经网络(CNN):从原理到实践
【10月更文挑战第14天】深入理解深度学习中的卷积神经网络(CNN):从原理到实践
70 1
|
2天前
|
机器学习/深度学习 人工智能 自动驾驶
深入解析深度学习中的卷积神经网络(CNN)
深入解析深度学习中的卷积神经网络(CNN)
9 0

热门文章

最新文章