CNN家族的族谱!

news2024/11/25 21:17:09

没有过时的技术,只是看什么样的应用场景,某些场景下,老技术也能焕发光彩!

发展历程

在这里插入图片描述

CNN思想起源——喵星人的视觉系统

在这里插入图片描述20世纪60年代左右,加拿大神经科学家David H. Hubel和Torsten Wisesel发现了猫的视觉中枢里存在感受野、双目视觉和其他功能结构,这一发现标志着神经网络结构首次在大脑视觉系统中被发现。因其在视觉系统中信息处理方面的杰出贡献,他们在1981年获得了诺贝尔生理学或医学奖。

1、CNN开山鼻祖–LeNet

LeNet神经网络由深度学习三巨头之一的Yan LeCun提出,他同时也是卷积神经网络 (CNN,Convolutional Neural Networks)之父。1998年,LeCun把Neocogniron的精华提取出来,再结合BP(BackPropagation)算法,提出了卷积神经网络算法LeNet-5,也是LeNet系列中效果最佳的版本。LeNet主要用来进行手写字符的识别与分类,并在美国的银行中投入了使用。LeNet的实现确立了CNN的结构,现在神经网络基本以此为基础。

当时受限于无合适的加速硬件,导致LeNet还不如传统机器学习算法,即手工设计特征的算子:SIFT,HOG,LBP以及SVM,它们以原理清晰性,模型可解释,数据需求小,计算需求小等优势深受欢迎。

通用GPU在2001年才开始兴起,在2006年深度学习理论被提出后 ,卷积神经网络的表征学习能力得到了关注,并随着数值计算设备的更新得到发展。

2、AlexNet一炮而红

在这里插入图片描述2012 年,Alex与 Hinton 推出了 AlexNet,并在当年的 ILSVRC(ImageNet Large-Scale Visual Recognition Challenge)中以超过第二名10.9个百分点的绝对优势一举夺冠,引起了许多学者对深度学习的研究,使深度学习重回历史舞台。因此,2012年也被称为深度学习近代史的开局之年。

AlexNet是LeNet的一个更深和更广的版本,可以用来学习更复杂的对象。

主要特点:

  1. 非线性激活函数:ReLU,解决了训练过程中梯度消失问题,加速了训练收敛;
  2. 防止过拟合的方法:Dropout,Data augmentation,减缓模型的过拟合
  3. 大数据训练:百万级ImageNet图像数据
  4. 其他:GPU实现,LRN归一化层的使用(当时他们用了两张 GTX 580 3GB GPU,仍然训练了5~6天时间)

3、VGG使用重复元素的网络

在这里插入图片描述2014 年,牛津大学计算机视觉组(Visual Geometry Group, VGG)提出了 VGG 模型(相关系列包括VGG-11/VGG-13/VGG-16/VGG-19,主要区别是网络深度不同),并在当年的 ImageNet Challenge 上获得图像分类任务第二名、定位(Localization)任务第一名。

主要特点:结构非常简洁,整个网络都使用了同样大小的卷积核尺寸(3x3)和最大池化尺寸(2x2),多个3X3卷积序列可以模拟更大的接收场的效果。同时验证了不断加深网络结构可以提升性能。

4、NIN网络中的网络

在这里插入图片描述2014年,新加坡国立大学(NUS)的颜水成老师的团队提出了Network in Network(NiN)。

LeNet、AlexNet 和 VGG 在设计上的共同之处是:先以由卷积层构成的模块充分抽取空间特征,再以由全连接层构成的模块来输出分类结果。其中,AlexNet 和 VGG 对 LeNet 的改进主要在于如何对这两个模块加宽和加深。

而NIN提出了另外个思路,即串联多个由卷积层和“全连接”层构成的小网络来构建个深层网络,核心思想是CNN原来的结构是完全可变的。

它的思想很简单但是很有效,使用1x1卷积给一个卷积层的特征提供了更多的组合性。

每个卷积之后使用空间MLP层,以便在另一层之前更好地组合特征,而没有使用原始像素作为下一层的输入。可以有效地使用非常少的参数,在这些特征的所有像素之间共享。

5、GoogLeNet/Inception含并行连接的网络

在这里插入图片描述2014年,谷歌的Christian Szegedy提出了一种全新的深度学习结构GoogLeNet(名字中的L选择大写是为了致敬LeNet网络)。

Inception的核心思想是将channel分成若干个不同感受野大小的通道,除了能获得不同的感受野,Inception还能大幅的降低参数数量。

GoogLeNet系列包含Inception v1到v4,采用了Inception模块,其中大量采用了1X1的卷积核,主要作用是对数据进行降维,引入更多的非线性,提高泛化能力,因为卷积后要经过ReLU激活函数。

该网络获得2014年ImageNet图像分类冠军。

6、ResNet残差网络

在这里插入图片描述2015年,国人作者何凯明提出的残差网络。

特点是容易优化,并且能够通过增加深度来提高准确率。其内部的残差块使用了跳跃连接,缓解了在深度神经网络中增加深度带来的梯度消失问题 。

在此之前,深度学习因为网络无法继续有效加深而陷入发展停滞,可以说ResNet救活了深度学习。

7、Xception一种极端的Inception

在这里插入图片描述2016年,Google 利用 Depthwise Separable Convolution 对 Inception V3 进行了改进,并结合 Residual Connection 设计了新的网络:Xception(Xception取义自Extreme Inception,即Xception是一种极端的Inception)。

8、DenseNet稠密连接网络

在这里插入图片描述
2016 年,DenseNet 横空出世。与 ResNet、Inception Net 不同,DenseNet 即没从网络的深度入手,也没从网络的宽度入手,而是对每层的 FeatureMap 进行特征复用,以此缓解梯度消失问题,加强网络中特征的传递,有效对特征进行复用,并在提高网络的表现效果的同时减少了网络的参数量。

9、MobileNet轻量化CNN

在这里插入图片描述
2017年左右,神经网络模型轻量化已经逐渐引起人们的关注,常见的手段分为两种:设计轻量化网络模型以及对已经训练好的复杂网络进行压缩(比如:降低精度、剪枝等等)。此时,Google 提出了一个轻量化模型:MobileNet(应用于移动端和嵌入式),成为后续人们常使用的 Baseline Model。

MobileNet的基本单元是深度级可分离卷积(depthwise separable convolution),其实这种结构之前已经被使用在Inception模型中。深度级可分离卷积其实是一种可分解卷积操作(factorized convolutions),其将一个标准卷积分解为两个更小的操作:逐深度(depthwise convolution)和逐点(pointwise convolution),因此减小了参数量,对应也减小了总计算量。深度可分离卷积的总计算量变小了,但深度可分离卷积的层数变多了。

10、ShuffleNet轻量化CNN

在这里插入图片描述
ShuffleNet是旷视科技提出的一种高效的移动端CNN模型,其和MobileNet和SqueezeNet等一样主要是想应用在移动端。

ShffuleNet的作者利用 Group Convolution和Depthwise Separable Convolution 结合,提出Pointwise Group Convolution以避免大量 Convoltuion,并利用Channel Shuffle 缓解由 Group Convolution 带来的副作用,并在 Residual Block 的基础上进行网络结构设计,使得网络的计算量减少的同时,仍能保持较高的性能。

总结

CNN(卷积神经网络)是以卷积为核心的一大类网络,而上述介绍的LeNet、AlexNet、VGG、GoogLeNet等网络就属于CNN。

1.卷积核方面:
大卷积核用多个小卷积核代替;
单一尺寸卷积核用多尺寸卷积核代替;
固定形状卷积核趋于使用可变形卷积核;
使用1X1卷积核。
2.卷积层通道方面:
标准卷积用depthwise卷积代替;
使用分组卷积;
分组卷积前使用channel shuffle;
通道加权计算。
3.卷积层连接方面:
使用skip connection,让模型更深;
densely connection,使每一层都融合上其它层的特征输出(DenseNet)

欢迎大家补充和指正!!!

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.coloradmin.cn/o/1587927.html

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈,一经查实,立即删除!

相关文章

SAP_ABAP_MM_PO审批_队列实践SMQ1

SAP ABAP 顾问(开发工程师)能力模型-CSDN博客文章浏览阅读1k次。目标:基于对SAP abap 顾问能力模型的梳理,给一年左右经验的abaper 快速成长为三年经验提供超级燃料!https://blog.csdn.net/java_zhong1990/article/det…

Python - 深度学习系列32 - glm2接口部署实践

说明 前阵子,已经对glm2的接口部署做了镜像化。本次的目的是: 1 测试在隔了一阵子(忘记)的情况下,快速部署时是否有障碍,是不是足够方便2 在算网机环境下,能否快速的实现部署。仅考虑文件方式…

策略模式【行为模式C++】

1.概述 策略模式是一种行为设计模式, 它能让你定义一系列算法, 并将每种算法分别放入独立的类中, 以使算法的对象能够相互替换。 策略模式通常应用于需要多种算法进行操作的场景,如排序、搜索、数据压缩等。在这些情况下&#x…

D-LinkNAS 远程命令执行漏洞(CVE-2024-3273)RCE漏

声明: 本文仅用于技术交流,请勿用于非法用途 由于传播、利用此文所提供的信息而造成的任何直接或者间接的后果及损失,均由使用者本人负责,文章作者不为此承担任何责任。 简介 D-LinkNAS是由D-Link公司制造的网络附加存储设备。…

有趣的css - 动态雷达扫描

大家好,我是 Just,这里是「设计师工作日常」,今天分享的是使用 css 实现一个动态的雷达扫描,快学起来吧! 《有趣的css》系列最新实例通过公众号「设计师工作日常」发布。 目录 整体效果核心代码html 代码css 部分代码…

产品推荐 | 瑞苏盈科基于立体帧捕捉和视频处理应用的火星Mars EB1开发板

01 产品概述 火星Mars EB1底板是为火星Mars系列FPGA和SoC核心板设计的通用底板,非常适用于立体帧捕捉和视频处理应用,可以为构建基于FPGA的定制化硬件系统提供一个良好的基础和开端。 02 核心亮点 ■ 与所有火星Mars系列FPGA和SoC核心板兼容 ■ 适用…

2024mathorcup数学建模C题思路分析-物流网络分拣中心货量预测及人员排班

# 1 赛题 C 题 物流网络分拣中心货量预测及人员排班 电商物流网络在订单履约中由多个环节组成,图 ’ 是一个简化的物流 网络示意图。其中,分拣中心作为网络的中间环节,需要将包裹按照不同 流向进行分拣并发往下一个场地,最终使包裹…

FME学习之旅---day23

我们付出一些成本,时间的或者其他,最终总能收获一些什么。 教程:地理数据库入门 FME 支持读取和写入不同的地理数据库格式;这包括文件地理数据库、个人地理数据库和 ArcSDE 地理数据库。支持矢量和栅格数据类型。在本教程中,我们…

Understanding Flink

Flink 下载: mkdir ~/flink && cd ~/flinkwget --no-check-certificate https://archive.apache.org/dist/flink/flink-1.15.3/flink-1.15.3-bin-scala_2.12.tgz wget --no-check-certificate https://repo1.maven.org/maven2/com/ververica/flink-sql-co…

PHP+MySQL组合开发 易企秀H5场景源码系统 带完整的安装代码包以及搭建教程

在数字化时代,企业对于宣传与推广的需求日益增长,而H5页面作为一种轻量级、跨平台的宣传方式,深受企业青睐。为了满足企业对于H5页面制作的需求,我们基于PHPMySQL组合开发了一套易企秀H5场景源码系统,并提供了完整的安…

PTA(题目集一 题目 代码 C++ 注解)

目录 题目一: 代码: 题目二: 代码: 题目三: 代码: 题目四: 代码: 题目五: 代码: 题目六: 代码: 题目七: 代…

VM虚拟机Linux系统Redhat7.4版本进行网络配置

日常中自己搭建的虚拟机一般用到两种网络方式,第一种是仅主机模式、还有一种是NAT模式。 1、仅主机模式:可以和自己本地电脑,或者虚拟机和虚拟机之间进行网络通信,相当于一个局域网,是不能连接外网的。 2、NAT模式&a…

Leetcode刷题之消失的数字(C语言版)

Leetcode刷题之消失的数字(C语言版) 一、题目描述二、题目解析 一、题目描述 数组nums包含从0到n的所有整数,但其中缺了一个。请编写代码找出那个缺失的整数。你有办法在O(n)时间内完成吗? 注意:本题相对书上原题稍作…

BIM信息如何整合到可视化大屏中,告诉你步骤。

BIM(Building Information Modeling)是一种数字化建筑信息模型技术,可以将建筑物的设计、施工和运营过程进行集成和管理。将BIM整合到可视化大屏中可以提供更直观、全面的建筑信息展示和分析。 BIM(建筑信息模型)可以通…

SFP光模块和媒体转换器的区别

SFP光模块和媒体转换器都是光电转换设备。它们是否可以互换使用?它们之间有什么区别? SFP光模块与媒体转换器:它们是什么? SFP模块是一种可热插拔的光模块,用于连接网络交换机。它可以将电信号转换为光信号&#xff…

Doris 内网安装部署,基于 CentOS 7

实测 CentOS 7.6 和 7.9都可用,CentOS安装包为:标准安装盘DVD版,如果系统安装的是精简版,需要挂载DVD版或者自行下载依赖。 参考文档 快速开始 - Apache Doris Doris 下载地址:2.1.1 ( Latest ) -> x64 ( avx2 )…

spring.rabbitmq.listener.simple.default-requeue-rejected = false 和放入死信队列的区别

目录 一、场景 二、使用 spring.rabbitmq.listener.simple.default-requeue-rejected false 2.1 特点 三、 放入死信队列 四、两种区别 一、场景 当我们使用RabbitMq的时候,我们如果业务中有异常,很有可能造成死循环,因为 在RabbitMQ和…

TSINGSEE青犀边缘计算AI智能分析网关V4客流统计算法的配置步骤及使用

TSINGSEE青犀AI智能分析网关V4内置了近40种AI算法模型,支持对接入的视频图像进行人、车、物、行为、烟火等实时检测分析,上报识别结果,并能进行语音告警播放。硬件支持RTSP、GB28181协议、以及厂家私有协议接入,可兼容市面上常见的…

Netty学习——实战篇1 BIO、NIO入门demo 备注

1 BIO 实战代码 Slf4j public class BIOServer {public static void main(String[] args) throws IOException {//1 创建线程池ExecutorService threadPool Executors.newCachedThreadPool();//2 创建ServerSocketServerSocket serverSocket new ServerSocket(8000);log.in…

java下载网络上的文件、图片保存到本地 FileUtils

java下载网络上的文件、图片保存到本地 FileUtils 1. 引入FileUtils依赖2. 实现代码3. 输出结果 1. 引入FileUtils依赖 <!--FileUtils依赖--> <!-- https://mvnrepository.com/artifact/commons-io/commons-io --> <dependency><groupId>commons-io&l…