首页 > 其他分享 >umich cv-4-2 经典卷积网络架构

umich cv-4-2 经典卷积网络架构

时间:2023-10-21 21:14:03浏览次数:43  
标签:卷积 VGG 网络 輸入 神经网络 Residual umich cv

这节课中主要讨论了卷积神经网络的发展历史以及几种经典结构是如何构建的

AlexNet

在2012年的时候,Alexnet神经网络提出,这时网络的架构比如说各个层之间要如何排列组合,使用多少卷积层池化层,每个层又如何设置超参数其实没有什么规律,主要通过实验与试错:
img
但是我们通过对内容容量,可学习参数以及浮点运算次数的计算,可以看到一些有趣的规律,绝大多数的内容容量都使用在了卷积层,绝大多数的可学习的参数都在全连接层,绝大多数的浮点运算都发生在卷积层
img
在2013年又提出了ZFNet,其实只是一个更大的AlexNet:
img
img

VGG

在2014年提出了VGG网络,VGG网络引入了有规律的设计。建立了更深层的网络,我们可以看到卷积层与池化层的超参数都是固定的,并且每次池化之后都会让卷积层通道数加倍,这样可以保证卷积层每次进行的运算数量一致
img
从下图也可以看出,VGG要比Alexnet复杂许多:
img

GoogleNet

img
但是同样在2014年提出的Googlenet网络中,不再强调更大更深的神经网络,因为谷歌想要在更低要求的设备下,去追求效率,这意味着减少内存容量的使用,可学习参数的数目以及浮点运算的次数
为了实现上面的目标,googlenet做出了很多的努力

首先,在网络最开始,Googlenet采用了非常激进地下采样,使用了步长与卷积核都比较大的卷积层以及池化层,我们可以看到是直接从224维度降到了28,同时内存,参数,浮点运算也大幅下降:
img

其次,Googlenet在网络的中间部分,多次采用了叫Inception Module的结构,我们可以看到它是采用了多个平行分支,在多个尺寸上进行卷积再聚合,那么我们怎么理解这样设计呢,可以参考这篇博文:https://zhuanlan.zhihu.com/p/32702031
简单来说,其实就相当于把传统卷积方式得到的稀疏矩阵,使用不同尺度的卷积,我们可以得到密集矩阵,把相关性强的特征聚集在一起,筛除了冗余信息:
img

然后,在神经网络的最后,不使用很大的全连接层,而是使用一个平均池化层以及一个全连接层来输出各分类分数得分,这样可以大大减少参数,内存以及浮点运算次数:
img

最后,由于神经网络层数过深,梯度传播效果不佳,可以选择在其它层数采用和最后结构一样的结构,提取输出分类分数,但是这里是batch normalization还没有提出的时候,之后我们就不需要这样做
img

ResidualNetwork

在batch normalization提出之后,我们可以很轻松地训练深层的网络使其收敛,导致神经网络的层数迅速增加,但是又出现的新的问题,发现深层神经网络反而不如浅层神经网络训练效果好,甚至出现了欠拟合的情况。

后来就有人(何大神)想出了残差网络,核心原理可以参见这篇:https://medium.com/@hupinwei/深度學習-resnet之殘差學習-f3ac36701b2f
大概是说过深的神经网络会导致出现退化的情况,有一种办法就是我们直接堆叠一层和上一层一样的结果(Identify mapping 恒等映射),更好的办法是这样做:
“讓我們先建立以下的概念:

輸入是x

學到的特徵是H(x)

我們定義一個新的名詞,叫做殘差 Residual

Residual = H(x) - x

殘差的概念很直覺吧? 就是學到的特徵和原本的輸入的差異。

既然是Residual = H(x) - x,Residual 也是X的函數,所以也寫作F(x), 那F(x) = H(x) - x

原本學習是這樣的。 x → H(x)

已經知道 F(x) = H(x) - x

所以學習也可以這樣寫:x → F(x) + x

因為H(x) = F(x) + x

用文字來說明的話,

輸入→特徵

變成:輸入→ 輸入 + 殘差

這樣有什麼好處嗎?

如果今天我們多一層,什麼都沒有學到。那殘差就是0

那多這一層,想想我們上面介紹過的,當殘差=0的時候,輸入→ 輸入,這一層就叫做恆等映射,因此,多這一層如果沒學到新的特徵,也不會讓模型退化。實際上當然不會剛好等於0, 而是可以增加很多層,而每一層都可以學到一些新的更複雜的特徵。”
这就是残差网络中基本的残差块的设计思路:
img
我们把上图的shortcut加入卷积层,再结合之前VGG的中间结构设计,googlenet的首尾设计,刚开始激进地下采样,最后采用平均池化层与一个线性层输出结构,就得到了残差网络的设计:
img
img

更进一步地,我们可以优化残差块的设计,使计算量更小:
img

我们可以总体看看不同卷积网络的复杂度比较:
img

最后提及一些其它更加高效的设计,并没有详细地讲,我也不是很懂,这里就再放一张总结图以及小哥的温馨提示:
img
img

标签:卷积,VGG,网络,輸入,神经网络,Residual,umich,cv
From: https://www.cnblogs.com/dyccyber/p/17779548.html

相关文章

  • Qt调用Opencv
    使用QtCreator调用opencv一、构建套件在构建套件之前,需正确安装VisualStudio和WindowsSDK当正确安装后,一般情况下,在QtCreator会自动识别到VS的编译器和调试器,并会自动构建好。若调试器未能自动识别,可自行找到相关的安装路径(cdb.exe文件),然后添加,自行命名好即可。图......
  • umich cv-4-1 卷积网络基本组成部分介绍
    这节课中介绍了卷积网络的基本组成部分(全连接层,激活函数,卷积层,池化层,标准化等),下节课讨论了卷积神经网络的发展历史以及几种经典结构是如何构建的卷积网络组成部分前言卷积层池化层normalization前言在之前提到的全连接神经网络中,我们直接把一个比如说32*32*3的......
  • umicv cv-summary1-全连接神经网络模块化实现
    全连接神经网络模块化实现Linear与Relu单层实现LossLayer实现多层神经网络不同梯度下降方法Dropout层今天这篇博文针对Assignment3的全连接网络作业,对前面学习的内容进行一些总结在前面的作业中我们建立神经网络的操作比较简单,也不具有模块化的特征,在A3作业中,引导我们......
  • 使用卷积神经网络训练手写数字识别模型(CNN)
    https://www.cnblogs.com/zylyehuo/效果展示目录结构README.md#BasicMNISTExamplepipinstall-rrequirements.txtpythonmain.py#CUDA_VISIBLE_DEVICES=2pythonmain.py#tospecifyGPUidtoex.2requirements.txttorchtorchvisionmain.pyfrom......
  • OpenCV4.1.0编译时提示“CV_BGR2GRAY”: 未声明的标识符
    OpenCV版本为4.1.0使用CV_BGR2GRAY时报错:“CV_BGR2GRAY”:未声明的标识符解决方法一:添加头文件:#include<opencv2/imgproc/types_c.h>解决方法二:在新版本中,CV_BGR2GRAY被COLOR_BGR2GRAY替换,只需将CV改成COLOR即可。翻译搜索复制......
  • 安防监控国标GB28181平台LiteCVR修改录像计划的等待时间较长,该如何解决?
    我国在智能视频安防监控领域相较国外起步较晚,但随着近些年互联网等技术的发展,我国在该领域迅猛发展,取得了不错的成果。有用户反馈,GB28181视频监控平台LiteCVR修改录像计划的等待时间较长。今天我们来针对这个案例做一个分析和讲解。根据反馈我们立即进行排查,发现其实修改单个通......
  • 视频监控/安防监控平台EasyCVR安防视频监控平台应用场景
    EasyCVR是一款专门用于安防视频管理的综合性软件产品。它是一款完全自主可控的软件,旨在为用户提供全方位的视频监控管理解决方案。EasyCVR具备多种功能和特点。首先,它与EasyNVR服务器无缝集成,实现了对摄像机和监控设备的统一管理。通过EasyCVR,用户可以方便地查看和管理所有连......
  • vscode远程ubuntu,python不识别opencv的函数
    将opencv-python更新到4.8版本以上https://github.com/microsoft/pylance-release/issues/4838......
  • 卷积认知
    前言博主研究生时期研究的课题有关于点云的深度学习。对于点云这一三维数据形式的深度学习研究,相关工作启发于二维图像深度学习处理,由此对于点云的特征提取也采用卷积这一形式。但在实践过程中,点云的卷积衍生出了多种方法。因此该随笔主要内容为对卷积这一概念的个人理解与梳理......
  • 什么是卷积
    参考文献:https://blog.csdn.net/zhibing_ding/article/details/125254670 不断的学习,就会有不同的认识和理解. 卷积操作的基本思想是提取输入数据的局部特征,这有助于网络捕捉图像中的空间结构和模式。卷积核是一个小的矩阵,通常是正方形的,它在输入数据上进行滑动。在每个位......