CNN综述文章《What Do We Understand About Convolutional Networks》part 3

2024-02-05 02:59

本文主要是介绍CNN综述文章《What Do We Understand About Convolutional Networks》part 3,希望对大家解决编程问题提供一定的参考价值,需要的开发者们随着小编来一起学习吧!

文章目录

  • 《What Do We Understand About Convolutional Networks》-part 3
    • Chapter 2 Multilayer Networks
      • 2.2空间卷积网络
        • 2.2.1ConvNet发展过程中的关键架构
          • · AlexNet
          • · VGG
          • · GoogLeNe
          • · ResNet
          • · DenseNet
        • 2.2.2 ConvNet 不变性
          • · 数据增强
          • · 空间变化网络
          • · Deformable ConvNet和Active ConvNet
        • 2.2.3 ConvNet 定位
          • · FCN
          • · 区域卷积神经网络
            • R-CNN
            • SPP-Net
            • Fast R-CNN
            • Faster R-CNN (RPN+Fast R-CNN)

《What Do We Understand About Convolutional Networks》-part 3

CNN综述文章《What Do We Understand About Convolutional Networks?》2.2部分总结

Chapter 2 Multilayer Networks

本章简要概述了计算机视觉中使用的最著名的多层体系结构。本章的目的是为本文其余部分的详细介绍和目前人们对卷积网络在视觉信息处理上的详细应用打下基础。

2.2空间卷积网络

从理论上讲,卷积网络可以应用于任意维度的数据。 借助大规模数据集和功能强大的计算机进行训练,在各种应用中使用ConvNets的研究数量激增。 本节描述了最杰出的2D ConvNet体系结构,这些体系结构在2.1.3节中描述的原始LeNet基础上引入了新组件。

2.2.1ConvNet发展过程中的关键架构
· AlexNet

重新引起人们对ConvNet体系结构兴趣的Krishevsky的AlexNet。AlexNet打破了ImageNet数据集上的识别记录。它共8层,5卷积层,3全连接层,在两个不同的GPU上并行训练。
图片7.png
AlexNet成功的关键有四点:
(1)AlexNet使用ReLU代替饱和非线性函数(例如Sigmoids),后者在以前的ConvNet体系结构中使用过(例如LeNet )。ReLU的使用减少了梯度消失的问题,并加快训练。
(2)AlexNet首次使用Dropout,随机删除(即设置为零)给定百分比的图层参数。此技术允许在每次训练略有不同的体系结构,并人为地减少每要学习的参数,最终可以帮助打破单元之间的相关性,从而避免过度拟合。
(3)依靠数据增强来提高网络学习能力。例如,通过随机移动和翻转训练图像扩充训练集。
(4)依靠几种技术来使训练过程收敛得更快,例如使用momentum和随时间降低学习率。

· VGG

更深层的网络可以获得更好的结果,这首先在深层VGG-Net 中得到了证明。 VGG-Net遵循AlexNet引入的标准实践,通过简单堆叠更多的层来增加深度。

VGG-Net的新颖之处在于使用了较小的filters(即整个网络中的3×3filters,而不是AlexNet中使用的11×11filters),增加深度而不会显着增加数量网络需要学习的参数。
图片8.png

· GoogLeNe

后来提出了一种更深的体系结构,通常称为GoogLeNet,具有22层,是第一个运用简单堆叠卷积和池化层策略的网络。 尽管比VGG-Net更深,但GoogLeNet所需的参数要少得多,这要归功于使用的inception模块。
图片9.png
在一个inception模块中,不同规模的卷积和池化操作并行进行。该模块还增加了1×1conv用于降低维度,保持网络规模可管理。 堆叠许多inception model构成现在广泛使用的GoogLeNet。
图片10.png

· ResNet

紧随其后的是迄今为止最深的架构之一,ResNet残差网络,其主要贡献在于残差模块 H ( x ) = F ( x ) + x H(x) = F(x) + x H(x)=F(x)+x
图片11.png
通过使用跳跃式连接不同层的组件。 信号x的直接传播解决了反向传播过程中的梯度消失问题,从而可以训练非常深的网络。
图片12.png

· DenseNet

最近在ResNet的成功基础上建立DenseNet 。 在DenseNet中,每一层都连接到所有后续层。图片13.png
因为将一层提取的特征推到其他层,这种策略允许denseNet在每一层使用较少的过滤器,可以避免可能的冗余信息,同时减少的参数和过拟合。
图片14.png

2.2.2 ConvNet 不变性
· 数据增强

使用ConvNets的挑战之一是需要非常大的数据集来学习所有底层参数。即使是像ImageNet 这样的大型数据集,有超过一百万张图像,对于训练某些深度架构来说也太小了。应对大型数据集需求的一种方法是,通过随机翻转,旋转等来更改图像,从而人为地扩充数据集。

这些扩充的主要优点是,所得网络对于各种变化变得更加稳定。实际上,这项技术是AlexNet取得巨大成功的主要原因之一。

· 空间变化网络

STN是显着解决网络不变性问题的著名卷积网络。在任何ConvNet体系结构的任意层添加这样的模块,就可以从输入中自适应地学习各种转换,提高其不变性,从而提高其准确性。

如下图所示,STN的输入为U,输出为V,因为输入可能是中间层的feature map,所以画成了立方体(多channel),STN主要分为下述三个步骤
1.Localisation net:是一个自己定义的网络,它输入U,输出变化参数Θ,这个参数用来映射U和V的坐标关系
2.Grid generator:根据V中的坐标点和变化参数Θ,计算出U中的坐标点。这里是因为V的大小是自己先定义好的,当然可以得到V的所有坐标点.
3.Sampler:要做的是填充V,根据Grid generator得到的一系列坐标和原图U来填充,因为计算出来的坐标可能为小数,要用另外的方法来填充,比如双线性插值。
图片15.png

· Deformable ConvNet和Active ConvNet

引入了一种灵活的卷积模块。 它向标准卷积中中添加了2D偏移。

图片16.png
(a) 所示的正常卷积规律的采样 9 个点(绿点),(b) © (d) 为可变形卷积,在正常的采样坐标上加上一个位移量(蓝色箭头),其中 © (d) 作为 (b) 的特殊情况,展示了可变形卷积可以作为尺度变换,比例变换和旋转变换的特殊情况
图片17.png
一个3X3的变形卷积 ,首先通过一个小卷积层(绿色)的输出得到可变形卷积所需要的位移量,然后将其作用在卷积核(蓝色)上,达到可变形卷积的效果

与空间变化网络交替学习子模块参数和网络权重的方法不同,Deformable network同时学习权重和偏移量,因此可以更快,更轻松地在各种体系结构中进行部署。

2.2.3 ConvNet 定位

除了简单的分类任务(例如对象识别)以外,最近,ConvNets在要求精确定位的任务(例如语义分段和对象检测)上也表现出色。

· FCN

在最成功的语义分割网络中,有所谓的完全卷积网络。 FCN对图像进行像素级的分类。

与CNN在卷积层使用全连接层得到固定长度的特征向量进行分类不同,FCN可以接受任意尺寸的输入图像,采用反卷积层对最后一个卷基层的feature map进行上采样,使它恢复到输入图像相同的尺寸,从而可以对每一个像素都产生一个预测,同时保留了原始输入图像中的空间信息,最后在上采样的特征图进行像素的分类。FCN将传统CNN中的全连接层转化成一个个的卷积层。所有的层都是卷积层,故称为全卷积网络。
图片18.**png

在上采样步骤中使用体系结构较低层的feature起着重要作用, 低层特征倾向于捕获更细粒度的细节。

· 区域卷积神经网络

对象定位方面,ConvNet框架内最早的方法之一就是区域卷积神经网络

以下参考CSDN博主「六月的雨唯你」的原创文章https://blog.csdn.net/u013187057/article/details/84023468

目标检测三阶段:
(1)区域选择:利用不同尺寸的滑动窗口框住图中的某一部分作为候选区域。
(2)特征提取:由于目标的形态多样性,光照、背景多样性等因素使得设计一个鲁棒的特征并不是那么容易,然而提取特征的好坏直接影响到分类的准确性。
(3)分类器:进行识别,比如SVM

R-CNN

流程:
(1)用selective search(选择性搜索)算法在图像中提取多个侯选框,通常是在多个尺度下选取的,每个提议区域将被标注类别
(2)把所有候选框缩放(wrap)成固定大小,并进行归一化后输入CNN(AlexNet)网络,提取特征
(3)将提取到的特征用
SVM分类
,用线性回归模型来微调边框位置与大小,其中每个支持向量机用来判断样本是否属于某一个类别
(4)非极大值值抑制(NMS)来滤除IOU较大的区域
图片19.png
图片20.png
问题:训练时间长、测试时间长、占用磁盘空间大

SPP-Net

主要贡献:
(1)结合空间金字塔池化(SPP)方法实现
CNNs的对尺度输入一般CNN需要固定的输入尺寸,因此不得不对输入数据进行crop或者warp,而这些预处理会造成数据的丢失或几何的失真。SPP-Net在卷积层和全连接层之间加入了SPP layer,此时网络的输入可以是任意尺度的,在SPP layer中每一个pooling的filter会根据输入调整大小,而SPP的输出尺度始终是固定的。
图片22.png
(2)只对原图提取一次卷积特征
在R-CNN中,每个候选框先resize到统一大小,然后分别作为CNN的输入.SPP Net只对原图进行一次卷积得到整张图的feature map,然后找到每个候选框上的映射patch,节省了大量的计算时间。
图片21.png
问题:
继承R-CNN的剩余问题:需要存储大量特征,复杂的多阶段训练
带来新的问题:SPP层之前所有conv参数不能fine-tune

Fast R-CNN

主要贡献:
(1)用ROI pooling layer替换SPP-Net中的SPP层,使得conv层参数可以进行fine-tune
(2)用softmax替代SVM分类,采用多任务损失函数(Multi-task loss),将分类loss和回归loss统一,不用再保存提取特征,减小存储压力,可以实现“end-to-end”的全参数训练
图片23.png
问题:
选择性搜索提取候选框的方法非常耗时

Faster R-CNN (RPN+Fast R-CNN)

主要贡献:
为解决Fast R-CNN的候选框提取的耗时问题,引用RPN网络(将RPN网络放在最后一个conv层后面),得到量少质优的约300个候选框。
图片24.png

这篇关于CNN综述文章《What Do We Understand About Convolutional Networks》part 3的文章就介绍到这儿,希望我们推荐的文章对编程师们有所帮助!



http://www.chinasem.cn/article/679580

相关文章

Level3 — PART 3 — 自然语言处理与文本分析

目录 自然语言处理概要 分词与词性标注 N-Gram 分词 分词及词性标注的难点 法则式分词法 全切分 FMM和BMM Bi-direction MM 优缺点 统计式分词法 N-Gram概率模型 HMM概率模型 词性标注(Part-of-Speech Tagging) HMM 文本挖掘概要 信息检索(Information Retrieval) 全文扫描 关键词

java计算机毕设课设—停车管理信息系统(附源码、文章、相关截图、部署视频)

这是什么系统? 资源获取方式在最下方 java计算机毕设课设—停车管理信息系统(附源码、文章、相关截图、部署视频) 停车管理信息系统是为了提升停车场的运营效率和管理水平而设计的综合性平台。系统涵盖用户信息管理、车位管理、收费管理、违规车辆处理等多个功能模块,旨在实现对停车场资源的高效配置和实时监控。此外,系统还提供了资讯管理和统计查询功能,帮助管理者及时发布信息并进行数据分析,为停车场的科学

MySQL record 02 part

查看已建数据库的基本信息: show CREATE DATABASE mydb; 注意,是DATABASE 不是 DATABASEs, 命令成功执行后,回显的信息有: CREATE DATABASE mydb /*!40100 DEFAULT CHARACTER SET utf8mb3 / /!80016 DEFAULT ENCRYPTION=‘N’ / CREATE DATABASE myd

深度学习实战:如何利用CNN实现人脸识别考勤系统

1. 何为CNN及其在人脸识别中的应用 卷积神经网络(CNN)是深度学习中的核心技术之一,擅长处理图像数据。CNN通过卷积层提取图像的局部特征,在人脸识别领域尤其适用。CNN的多个层次可以逐步提取面部的特征,最终实现精确的身份识别。对于考勤系统而言,CNN可以自动从摄像头捕捉的视频流中检测并识别出员工的面部。 我们在该项目中采用了 RetinaFace 模型,它基于CNN的结构实现高效、精准的

文章解读与仿真程序复现思路——电力自动化设备EI\CSCD\北大核心《考虑燃料电池和电解槽虚拟惯量支撑的电力系统优化调度方法》

本专栏栏目提供文章与程序复现思路,具体已有的论文与论文源程序可翻阅本博主免费的专栏栏目《论文与完整程序》 论文与完整源程序_电网论文源程序的博客-CSDN博客https://blog.csdn.net/liang674027206/category_12531414.html 电网论文源程序-CSDN博客电网论文源程序擅长文章解读,论文与完整源程序,等方面的知识,电网论文源程序关注python

kaggle竞赛宝典 | Mamba模型综述!

本文来源公众号“kaggle竞赛宝典”,仅用于学术分享,侵权删,干货满满。 原文链接:Mamba模型综述! 型语言模型(LLMs),成为深度学习的基石。尽管取得了令人瞩目的成就,Transformers仍面临固有的局限性,尤其是在推理时,由于注意力计算的平方复杂度,导致推理过程耗时较长。 最近,一种名为Mamba的新型架构应运而生,其灵感源自经典的状态空间模型,成为构建基础模型的有力替代方案

【Linux】萌新看过来!一篇文章带你走进Linux世界

🚀个人主页:奋斗的小羊 🚀所属专栏:Linux 很荣幸您能阅读我的文章,诚请评论指点,欢迎欢迎 ~ 目录 前言💥1、初识Linux💥1.1 什么是操作系统?💥1.2 各种操作系统对比💥1.3 现代Linux应用💥1.4 Linux常用版本 💥2、Linux 和 Windows 目录结构对比💥2.1 文件系统组织方式💥2.2

如何将卷积神经网络(CNN)应用于医学图像分析:从分类到分割和检测的实用指南

引言 在现代医疗领域,医学图像已经成为疾病诊断和治疗规划的重要工具。医学图像的类型繁多,包括但不限于X射线、CT(计算机断层扫描)、MRI(磁共振成像)和超声图像。这些图像提供了对身体内部结构的详细视图,有助于医生在进行准确诊断和制定个性化治疗方案时获取关键的信息。 1. 医学图像分析的挑战 医学图像分析面临诸多挑战,其中包括: 图像数据的复杂性:医学图像通常具有高维度和复杂的结构

多线程的系列文章

Java多线程学习(一)Java多线程入门 Java多线程学习(二)synchronized关键字(1)   Java多线程学习(二)synchronized关键字(2) Java多线程学习(三)volatile关键字 Java多线程学习(四)等待/通知(wait/notify)机制 Java多线程学习(五)线程间通信知识点补充 Java多线程学习(六)Lock锁的使用 Java多

缓存的常见问题 以及解决博客文章

1.jedispool 连 redis 高并发卡死  (子非鱼yy) https://blog.csdn.net/ztx114/article/details/78291734 2. Redis安装及主从配置 https://blog.csdn.net/ztx114/article/details/78320193 3.Spring中使用RedisTemplate操作Redis(sprin