深度学习:DenseNet思想总结

news2024/9/22 21:28:42

深度学习:DenseNet思想总结

  • 前言
  • DenseNet
    • ResNet
    • Dense connection
    • Composite function
    • Pooling layers
    • Growth rate
    • Bottleneck layers
    • Compression
    • Implementation Details
  • 总结

前言

论文中提出的架构为了确保网络层之间的最大信息流,将所有层直接彼此连接。为了保持前馈特性,每个层从前面的所有层获得额外的输入,并将自己的特征映射传递到后面的所有层。该论文基于这个观察提出了以前馈的方式将每个层与其他层连接的密集卷积网络(DenseNet)。

DenseNet

ResNet

在原始的神经网络中,假设第l层的function 为 H l H_l Hl,那么第l层的output x l = H l ( x l − 1 ) x_l=H_l(x_{l-1}) xl=Hl(xl1),ResNet在网络中加入了identity mapping的机制,于是 x l = H ( x l − 1 ) + x l − 1 x_l = H(x_{l-1})+x_{l-1} xl=H(xl1)+xl1
ResNet的优势是缓解了梯度消失,让训练更稳定,但是 identity mapping 采用了add 融合的机制,可能会阻碍信息流动。

Dense connection

在这里插入图片描述

为了进一步的优化信息流动,作者提出了不同的连接形式如上图,每一层的输出都会直接传递到的后面所有网络,每一层的输入汇聚了前层所有的输出,这也是densenet的dense的由来,公式如下:
x l = H l ( [ x 0 , x 1 . . . . . . x l − 1 ] ) x_l= H_l([x_0,x_1......x_{l-1}]) xl=Hl([x0,x1......xl1])
其中跨层连接不在像ResNet采用add融合而是Concat融合,feature map

Composite function

这里作者对H()做了一个解释:这个函数分为三个操作,包括BN层,ReLU激活函数,3 * 3 Conv。

Pooling layers

在这里插入图片描述
由于跨层连接要求feature map的宽高一致,但是down- sampling在网络中也是必不可少的,所以引入了pooling layer(也叫做 transition layer)来对feature map下采样,这个网络层由 BN层 +1 * 1Conv +2 * 2 的average pooling layers。

Growth rate

这里我们定义了一个超参数k,他表示dense block中每层的channels数(也是卷积核的数量),假设dense block中input channels 为 k0,那么这个block第 l层的channels为k0+k(l-1)。k越大,代表每一层可以获得多少新的信息,block最后output的channels也就越大,于是我们把 k也叫做 growth rate。

Bottleneck layers

bottleneck 与resent的基本一致,没3 * 3 的Conv前面引入了 1 * 1的 Conv,那么我们定一个新的结构:
BN+ReLU+ 1 * 1Conv + BN +ReLU +Conv3 * 3叫做DenseNet-B。

Compression

没了进一步压缩模型,我们可以减少feature map的数量在 transition层,如果densenet block的output为 m 个feature map,那么通过transition后,channels变为theta * m,其中 theta为0到1之间的数。作者在实验中theta设置为0.5,把bottleneck+transition 叫做 DenseNet -BC。

Implementation Details

在这里插入图片描述

总结

  1. DenseNet的跨层连接为concat,ResNet为add。
  2. DenseNet提升了梯度的利用率,loss可以获得前面每一层的梯度,网络的层数更多了。
  3. DenseNet致力于特征reuse,提高网络性能。
  4. DenseNet的dense connection有正则化的作用。

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

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

相关文章

JUC面试(八)——阻塞队列

阻塞队列 队列,FIFO BlockingQueue 阻塞队列,排队拥堵,首先它是一个队列,而一个阻塞队列在数据结构中所起的作用大致如下图所示: 线程1往阻塞队列中添加元素,而线程2从阻塞队列中移除元素 当阻塞队列是空…

Java基础(程序流程控制)

程序流程控制1..顺序结构程序从上到下逐行执行,中间没有判断和跳转2.分支结构根据条件,选择性执行某段代码有if-else和switch-case两种分支需要注意根据相应的方法,来输入指定类型的值。如果不匹配则会异常:InputMisMatchExceptio…

结构型模式-桥接模式

1.概述 现在有一个需求,需要创建不同的图形,并且每个图形都有可能会有不同的颜色。我们可以利用继承的方式来设计类的关系: 我们可以发现有很多的类,假如我们再增加一个形状或再增加一种颜色,就需要创建更多的类。试…

2.5总线标准

文章目录一、引子二、总线标准1.基本概念2.总线标准(1)系统总线①ISA②EISA扩展总线③拓展(2)局部总线①VESA②PCI③AGP④PCI-E(3)设备总线①RS-232C②SCSI③PCMCIA④USB3.连接硬盘总线标准①IDE②SATA三、…

JAVA 服务内存占用太高

一、问题现象 某天,运维老哥突然找我:“你们的某 JAVA 服务内存占用太高,告警了!GC 后也没释放,内存只增不减,是不是内存泄漏了!” 然后我赶紧看了下监控,一切正常,距离上…

redis缓存问题引进

1、缓存使用 为了系统性能的提升,我们一般都会将部分数据放入缓存中,加速访问。而 db 承担数据落 盘工作。 哪些数据适合放入缓存?  即时性、数据一致性要求不高的  访问量大且更新频率不高的数据(读多,写少&…

BigDecimal BigInteger的使用

1、BigDiCemal 【问题】在项目中,我们进行计算的时候,有时候需要考虑 四舍五入,精度丢失的问题,面对这种问题,我们应该怎么处理? System.out.println(0.20.1);System.out.println(0.3-0.1);System.out.prin…

SEO中社交信号的重要性:Facebook分析

你可能认为 SEO中的社交信号是一些无用的社交账号,但它在搜索引擎优化中占有重要地位。Facebook是目前全球最大的社交媒体平台,它已经成为我们日常生活不可缺少的一部分。如何分析和利用好 Facebook,是我们学习 SEO的重中之重。在接下来的内容…

58 应用服务 hang 住, 导致服务 503 Service Unavailable

前言 这是之前 我们测试环境出现的一个问题 一个项目, 代码调整了之后, 发布到测试环境 之后, 几分钟之后 整个系统访问这个服务 出现了 "503 Service Unavailable", 然后 当时的处理方式为 临时重启服务 但是过了一会儿之后 同样的问题还是会出现, 导致 前端服务…

Functions重要部分

Functions1. Defining Functions2. Looking Up Names in Environments1. Defining Functions 赋值(Assignment)是一种简单的抽象方式:把值(values)和名称(names)联系起来。 定义函数&#xff0…

《从零开始编写一个直播服务器》 C++ 实现一个最简单的RTSP流媒体服务器

流媒体开发系列文章 文章目录流媒体开发系列文章前言一、rtsp流是什么?二、使用步骤1.服务器代码总结前言 在安防行业中,onvif协议与gb协议是两种标准,gb是国内安防行业的标准,onvif是国外的安防行业的标准,其中gb281…

AcWing 1013. 机器分配(分组背包问题与方案记录)

一、题目 二、思路 这道题其实不太容易看出背后的模型。这道题本质上是一个分组背包问题。我们将每一个公司看成一组,而在每一个组内,将不同情况下的盈利状况看作物品的价值,而得到这种利益所需的机器数目看作物品的体积。 因此&#xff0c…

SpringSession笔记

第一章、Session会话管理概述Session和Cookie回顾Session机制由于HTTP是无状态的协议,每次浏览器与服务器的交互过程就是一次对话,对话结束之后服务器不能记住你这个人。下次对话的时候服务端无法识别你是上次的人,所以需要一种机制来记录用户…

Win10 突然蓝屏安全模式进不了,没有别的电脑和装机U盘,怎么把资料临时导出来?

环境: Win 10专业版 DELL 3490 移动硬盘/普通U盘 问题描述: Win10 突然蓝屏安全模式进不了,没有别的电脑和装机U盘,怎么把资料临时导出来?目前可以进入Win RE 疑难-高级选项 解决方案: 1.先插入,移动硬盘或者普通U盘 2.多重启几次,自动修复系统失败画面,点击高…

Linux嵌入式开发——压缩与解压缩

文章目录Linux嵌入式开发——压缩与解压缩一、前期准备二、Linux下的压缩格式三、gzip压缩工具1、gzip压缩文件2、gzip压缩文件夹四、bzip2压缩工具五、tar打包工具tar参数对.tar.bz2进行压缩和解压缩压缩解压缩对.tar.gz进行压缩和解压缩压缩解压缩六、其他格式的压缩和解压缩…

Qt扫盲-网络编程概述

网络编程概述一、Qt网络编程概述二、Qt对Http,FTP应用层协议支持三、TCP通信编程支持四、UDP通信编程支持五、主机信息的获取六、网络代理七、底层管理的支持一、Qt网络编程概述 Qt Network模块提供了允许我们编写TCP/IP客户端和服务器的类。它提供了低级类来完成基…

【Java寒假打卡】JavaWeb-Session

【Java寒假打卡】JavaWeb-Session概述常用的方法HttpSession的获取HttpSession的使用概述 常用的方法 HttpSession的获取 HttpSession的使用 在第一个Servlet中获取请求的用户名获取HttpSession对象将用户名设置到共享数据中在第二个Servlet中获取HttpSession对象获取共享数据用…

java8新特性

接口中默认方法修饰为普通方法,实现接口时不需要重写方法Lambda表达式Stream流并行流原理校验当前对象是否为null当前对象为null,设置默认值 接口中默认方法修饰为普通方法Lambda表达式使用Lambda表达式 依赖于函数接口 在接口中只能够允许有一个抽象方法在函数接…

SpringCloud笔记

2023年最新笔记,全文约 3 万字,蕴含 Spring Cloud 常用组件 Nacos、OpenFeign、Seata、Sentinel 等 〇、简介 什么是Spring Cloud? ​ Spring Cloud是一系列框架的有序集合,是一种基于微服务的分布式架构技术。它利用 Spring Boot…

HBuilder的安装与试用

准备把前端框架Layui仔细学习一遍(虽然Layui已经过了最流行的时候,但是很多项目都在用它),在B站找了一套《Layui框架精讲全套视频教程》,视频作者实操Layui时用的工具很方便,从弹幕中看到说用的是HBuilder&…