1.ResNet

  1. 为什么ResNet可以解决“随着网络加深,准确率不下降”的问题:答:理论上,Resnet提供了两种选择方式,也就是identity mapping 和 residual mapping,如果网络已经到达最优,继续加深网络,residual mapping将被push为0,只剩下identity mapping,这样理论上网络一直处于最优状态了,网络的性能也就不会随着深度增加而降低了。
  2. ResNet的两种设计:
  3. bottleneck design中1∗11*11∗1的作用:
    a)减少计算与参数量(约17倍)
    b)神经网络层数曾多,可以更好的拟合非线性模型
    参考:https://blog.csdn.net/lanran2/article/details/79057994

2.ResNext

核心:在一定程度上,增加cardinality 比增加深度和宽度更有效

  1. 增加cardinality好的原因?
    参考:ResNeXt的分类效果为什么比Resnet好?
  1. ResNext中引入cardinality,实际上仍然还是一个Group的概念。不同的组之间实际上是不同的subspace,而他们的确能学到更diverse的表示
  2. 这种分组的操作或许能起到网络正则化的作用。实际上,增加一个cardinality维度之后,会使得卷积核学到的关系更加稀疏。在整体数据复杂度不变的情况下,其中Network-in-Neuron的思想,会大大降低了每个sub-network的复杂度,那么其过拟合的风险相比于ResNet也将会大大降低。

3.DenseNet

核心:create short paths from early layers to later layers

  1. DenseNet 的本质:每一层的输入均来自前面所有层的输出

  2. DenseNet-BC网络结构
    DenseNet-BC 较 DenseNet 多了 bottleneck layer(B)和 Translation layer(C),接下来详细介绍一下两者的作用:

    • bottleneck layer 即 Dense Block中的1∗11*11∗1卷积,可以大大减少计算量。以 DensNet-169 中的 Dense Block(3)为例,第 32 层的输入为前 31 层输出进行concat,如果不做 bottleneck layer ,假设每层输出的channel 为 32(growth rate,文中超参),则第 32 层的输入为32 * 31 + 上一个transition layer的输出channel (合共约1000)。如果做 bottleneck layer ,1∗11*11∗1 的channel 为 128(growth rate*4),大大减少了计算量;
    • transition layer,也是用来减少计算量的。还拿 DensNet-169 中的 Dense Block(3)为例,第32层的输出为32(growth rate),concate前31层的输出及上个Dense Block的输出为此Dense Block的输出(channel也是1000左右),transition layer有个参数reduction(范围是0到1),表示将这些输出缩小到原来的多少倍,默认是0.5,这样传给下一个Dense Block的时候channel数量就会减少一半,这就是transition layer的作用。文中还用到dropout操作来随机减少分支,避免过拟合。
  3. DenseNet的优点:
    a. 减轻了梯度消失:DenseNet网络的设计相当于将每一层的input和loss直接相连。
    b. 极致利用feature达到更好的效果
    c. 一定程度上减少了参数量及防治过拟合(bottleneck layer,Translation layer以及较小的growth rate选择)
    参考:https://blog.csdn.net/u014380165/article/details/75142664

3.SENet

核心:对特征的通道之间加入类似attention机制考虑

  1. se block原理图:
    a. Squeeze:对channel进行了squeeze,通过ave pooling 将feature map([W, H, C])变为[1,1,C]。【顺着空间维度进行压缩,将每个二维的特征通道[W,H]变成一个实数,该实数某种程度上具有该通道全局的特征】
    b. Excitation:对得到的squeeze后的feature map,使用sigmoid函数进行excitation,得到每个通道的权重
    c. Reweight:根据b得到的权重与原feature map加权
  2. se block结构图:
    参考:https://blog.csdn.net/liuxiao214/article/details/81914743

ResNest网络系列相关推荐

  1. 重学网络系列之(Ping与网关)

    前言 文本已收录至我的GitHub仓库,欢迎Star:https://github.com/bin392328206/six-finger 种一棵树最好的时间是十年前,其次是现在 叨絮 网关,路由,其 ...

  2. 【轻量化网络系列(2)】MobileNetV2论文超详细解读(翻译 +学习笔记+代码实现)

    前言 上一篇我们介绍了MobileNetV1,主要是将普通Conv转换为dw和pw,但是在dw中训练出来可能会很多0,也就是depthwise部分得到卷积核会废掉,即卷积核参数大部分为0,因为权重数量 ...

  3. GAN网络系列博客(三):不受坐标限制的GAN(StyleGAN3)

    目录 1. 概述 2. 连续信号分析 2.1 等变网络层 3. 具体实现 3.1 傅里叶特征和基础简化 3.2 根据连续插值进行的步骤重建 4.实验 总结 Reference 关于StyleGAN系列 ...

  4. 第七章 深度强化学习-深度Q网络系列1(Deep Q-Networks,DQN)

    获取更多资讯,赶快关注上面的公众号吧! 文章目录 第七章 深度强化学习-深度Q网络 7.1 学习目标 7.2 深度学习和强化学习的区别 7.3 DQN原理 7.4 DQN算法 7.4.1 预处理 7. ...

  5. 【华为云技术分享】自动驾驶网络系列四:我们谈自动驾驶网络到底在谈什么?

    很多人第一次接触自动驾驶网络的概念,会理解成--华为怎么搞起汽车来了? 其实还是搞网络产品,就是网络的自动驾驶.那网络的自动驾驶是什么?这个问题,每个人都有自己的理解,接下来我将按照自己的理解来回答一 ...

  6. 【知识星球】视频分析/光流估计网络系列上线

    欢迎大家来到<知识星球>专栏,这两天有三AI知识星球会更新一些光流估计相关的网络介绍,在视频分析等任务中,光流有着举足轻重的地位. 作者&编辑 | 言有三 有三AI知识星球-网络结 ...

  7. 【教女朋友学网络系列5】之VLAN与Trunk、单臂路由

    交换机基本配置 序言 一.vlan 1.vlan概述 2.vlan的优势 3.vlan的种类 4.VLAN的范围 5.跨交换机相同VLAN通信工作过程 6.不同VLAN间通信 6.配置静态VLAN的步 ...

  8. 【教女朋友学网络系列3】之手把手教她明白交换机的基本原理

    交换机与命令 序言 一.数据链路层 1.功能 2.目的 3.位置 二.以太网MAC地址 1.作用 2.组成 三.交换机 1.工作原理 2.交换机的工作模式 3.相关概念 4.命令 1.基础命令 2.配 ...

  9. 【教女朋友学网络系列2】之进制转换及IP地址类

    关于数制转换及IP地址 序言 一.计算机的数制 1.数制: 2.数位: 3.基数: 4.位权: 二. 数制系统 1.二进制 2.十进制 3.十六进制 三.IP 1.什么是IP 2.分类 四.子网掩码 ...

最新文章

  1. 7216:Minecraft
  2. JavaScript 教程(二)
  3. 短信接口在本地调试正常_Pivotal实践:腾讯云短信小应用
  4. CSS布局奇技淫巧:各种居中
  5. 优秀学生专栏——王浩
  6. 【转】构建微服务架构的最佳实践2/3
  7. Oracle中不常用命令
  8. 周报中竟然出现学习时间,主管怎么当的
  9. Python django 安装 mysqlclient 失败
  10. Java分布式服务框架Dubbo初探(待实践)
  11. Java 正则表达式的用法和实例
  12. ipd敏捷开发_融入华为IPD软件开发流程与敏捷开发实施java课程设计
  13. ARM资源免费下载——超级全面,力荐
  14. 新萝卜家园 GhostXP SP3 电脑城装机版 V2011.07
  15. 为什么CU和DU要分离?
  16. photoshop设计精讲精练 学习笔记(二)
  17. Java 将数字金额转成中文大写
  18. 计算机处理数据几进制,计算机内部运行和处理的数据是几进制
  19. javaStruct - 通讯协议的解封包第三方库--(二)官方文档二
  20. PC移植安卓---2018/04/26

热门文章

  1. Codeforces Round #503 (by SIS, Div. 2) C. Elections
  2. SpringBoot项目报错Cannot determine embedded database driver class for database type NONE
  3. Python新式类与经典类(旧式类)的区别
  4. centOS7安装nodejs(8.4.0)(详细步骤)
  5. 线程安全和线程不安全理解
  6. c语言中文件的读写函数
  7. 【Spring 持久层】Spring 与 Mybatis 整合
  8. 【数据库系统设计】数据库安全性
  9. springboot 使用restTemplate 发送https请求 忽略ssl证书
  10. FCKeditor插件开发