umich cv-4-2 经典卷积网络架构
这节课中主要讨论了卷积神经网络的发展历史以及几种经典结构是如何构建的
AlexNet
在2012年的时候,Alexnet神经网络提出,这时网络的架构比如说各个层之间要如何排列组合,使用多少卷积层池化层,每个层又如何设置超参数其实没有什么规律,主要通过实验与试错:

但是我们通过对内容容量,可学习参数以及浮点运算次数的计算,可以看到一些有趣的规律,绝大多数的内容容量都使用在了卷积层,绝大多数的可学习的参数都在全连接层,绝大多数的浮点运算都发生在卷积层

在2013年又提出了ZFNet,其实只是一个更大的AlexNet:


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

从下图也可以看出,VGG要比Alexnet复杂许多:

GoogleNet

但是同样在2014年提出的Googlenet网络中,不再强调更大更深的神经网络,因为谷歌想要在更低要求的设备下,去追求效率,这意味着减少内存容量的使用,可学习参数的数目以及浮点运算的次数
为了实现上面的目标,googlenet做出了很多的努力
首先,在网络最开始,Googlenet采用了非常激进地下采样,使用了步长与卷积核都比较大的卷积层以及池化层,我们可以看到是直接从224维度降到了28,同时内存,参数,浮点运算也大幅下降:

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

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

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

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, 而是可以增加很多層,而每一層都可以學到一些新的更複雜的特徵。”
这就是残差网络中基本的残差块的设计思路:

我们把上图的shortcut加入卷积层,再结合之前VGG的中间结构设计,googlenet的首尾设计,刚开始激进地下采样,最后采用平均池化层与一个线性层输出结构,就得到了残差网络的设计:


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

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

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


umich cv-4-2 经典卷积网络架构的更多相关文章
- 经典卷积网络VGG,GoodLeNet,Inception
目录 ImageNet LeNet-5 LeNet-5 Demo AlexNet VGG 1*1 Convolution GoogLeNet Stack more layers? ImageNet L ...
- 论文解读丨基于局部特征保留的图卷积神经网络架构(LPD-GCN)
摘要:本文提出一种基于局部特征保留的图卷积网络架构,与最新的对比算法相比,该方法在多个数据集上的图分类性能得到大幅度提升,泛化性能也得到了改善. 本文分享自华为云社区<论文解读:基于局部特征保留 ...
- EdgeFormer: 向视觉 Transformer 学习,构建一个比 MobileViT 更好更快的卷积网络
前言 本文主要探究了轻量模型的设计.通过使用 Vision Transformer 的优势来改进卷积网络,从而获得更好的性能. 欢迎关注公众号CV技术指南,专注于计算机视觉的技术总结.最新技术跟 ...
- deeplearning.ai 卷积神经网络 Week 2 深度卷积网络:实例研究 听课笔记
1. Case study:学习经典网络的原因是它们可以被迁移到其他任务中. 1.1)几种经典的网络: a)LeNet-5(LeCun et al., 1998. Gradient-based lea ...
- CNN网络架构演进:从LeNet到DenseNet
卷积神经网络可谓是现在深度学习领域中大红大紫的网络框架,尤其在计算机视觉领域更是一枝独秀.CNN从90年代的LeNet开始,21世纪初沉寂了10年,直到12年AlexNet开始又再焕发第二春,从ZF ...
- CNN网络架构演进
卷积神经网络可谓是现在深度学习领域中大红大紫的网络框架,尤其在计算机视觉领域更是一枝独秀.CNN从90年代的LeNet开始,21世纪初沉寂了10年,直到12年AlexNet开始又再焕发第二春,从ZF ...
- 语义分割--全卷积网络FCN详解
语义分割--全卷积网络FCN详解 1.FCN概述 CNN做图像分类甚至做目标检测的效果已经被证明并广泛应用,图像语义分割本质上也可以认为是稠密的目标识别(需要预测每个像素点的类别). 传统的基于C ...
- 五大经典卷积神经网络介绍:LeNet / AlexNet / GoogLeNet / VGGNet/ ResNet
欢迎大家关注我们的网站和系列教程:http://www.tensorflownews.com/,学习更多的机器学习.深度学习的知识! LeNet / AlexNet / GoogLeNet / VGG ...
- 怎样设计最优的卷积神经网络架构?| NAS原理剖析
虽然,深度学习在近几年发展迅速.但是,关于如何才能设计出最优的卷积神经网络架构这个问题仍在处于探索阶段. 其中一大部分原因是因为当前那些取得成功的神经网络的架构设计原理仍然是一个黑盒.虽然我们有着关于 ...
- 【论文阅读】ConvNeXt:A ConvNet for the 2020s 新时代卷积网络
一.ConvNext Highlight 核心宗旨:基于ResNet-50的结构,参考Swin-Transformer的思想进行现代化改造,知道卷机模型超过trans-based方法的SOTA效果. ...
随机推荐
- UnrecognizedPropertyException: Unrecognized field 解决
转载请注明出处: 在项目得不同环境上对接外部的服务接口,且存在不同版本间可能有字段不同得问题,遇到这种问题在使用jackson解析时,如果格式化得字符串与定义得java类不能完全对应时,就会报错:Un ...
- Sentieon实战:NGS肿瘤变异检测流程
肿瘤基因突变检测是NGS的一个重要应用,其分析难点主要在于低频变异的准确性.不同于遗传病检测,肿瘤样本类型多样,测序方法和参数复杂,且缺乏对应各种场景的公共标准真集.再加上常用开源软件经常遇到的准确性 ...
- 配置k8s拉取Harbor镜像
创建Secret # 认证名称为:docker-harbor-registry kubectl create secret docker-registry docker-harbor-registry ...
- Pandas: 获取dataframe中的值,并转换为列表
解决方案 效果
- 2023牛客暑期多校训练营5 ABCDEGHI
比赛链接 A 题解 知识点:莫队,树状数组. 区间询问显然可以离线莫队,考虑端点移动对答案的影响. 不妨先考虑右端点右移一个位置,对答案的改变.假设右端点右移后在 \(r\) ,我们先要知道 \([l ...
- 一些不错的VSCode设置和插件
设置 同步设置 我们做的各项设置,不希望再到其他机器的时候还得再重新配置一次.VSCode中我们可以登陆微软账号或者GitHub账号,登陆后我们可以开启同步设置.开启设置同步,根据提示登陆即可. 允许 ...
- 2023CISCN华中赛区re
2023CISCN华中赛区re 当时出的题 misc3-babyandroid 找so文件,加密过程也不复杂 每三个一组进行加密 这里就是先每个减去65 然后 大概是 y1=(31x1)%26+65 ...
- Programming abstractions in C阅读笔记:p139-p143
<Programming Abstractions In C>学习第55天,p139-p140,总结如下: 一.技术总结 1.文件I/O操作 文件I/O操作可以分为一下这些步骤: (1)声 ...
- iOS MDM HeadFirst
引言 Apple MDM (Mobile Device Management) 字面理解就是一种管理移动设备的方式,覆盖 iOS 5 及更高版本的 iPhone/iPod touch/iPad.Mac ...
- 解读Redis常见命令
Redis数据结构介绍 Redis是一个key-value的数据库,key一般是String类型,不过value的类型多种多样: 贴心小建议:命令不要死记,学会查询就好啦 Redis为了方便我们学习, ...