【学习】DenseNet

news2025/1/18 17:16:35

DenseNet介绍

  • DenseNet模型的基本思路与ResNet一致,但它建立的是前面所有层与后面层的密集连接(即相加变连结),它的名称也是由此而来。
  • DenseNet的另一大特色是通过特征在通道上的连接来实现特征重用。这些特点让DenseNet的参数量和计算成本都变得更少了(相对ResNet),效果也更好了。
  • ResNet解决了深层网络梯度消失问题,它是从深度方向研究的。宽度方向是GoogleNet的Inception。而DenseNet是从feature入手,通过对feature的极致利用能达到更好的效果和减少参数。
  • DenseNet斩获CVPR 2017的最佳论文奖。

DenseNet网络结构

在这里插入图片描述
在这里插入图片描述
其网络结构中,于ResNet最主要的区别是:

  • Resnet中,这一层的输入 等于 上一层的输入+经过卷积的输入,表达为: y=F(x) + x ,其中F(x)是x经过卷积操作后的输出。
  • DenseNet中,这一层的输入 等于 前面所有层的输出进行concatenation,即为通道层面进行拼接,通道拼接后做卷积等操作便可以提取特征。输入表达为:y=[x0,x1,x2] ,其中x1是x0经过Dense Block输出的结果。

DenseNet优缺点

1、优点
(1)相比ResNet拥有更少的参数数量
参数减少,计算效率更高,效果更好(相较于其他网络)

(2)传播与预测都保留了低层次的特征
在以前的卷积神经网络中,最终输出只会利用最高层次的特征。而DenseNet实现特征重用,同时利用低层次和高层次的特征。

(3)旁路加强了特征的重用,导致直接的监督
因为每一层都建立起了与前面层的连接,误差信号可以很容易地传播到较早的层,所以较早的层可以从最终分类层获得直接的监督。

(4)网络更易于训练,并具有一定的正则化效果
(网上资料都有说这一句,但是我不太清楚他是怎么体现正则化效果的)

(5)缓解了梯度消失/爆炸和网络退化的问题
特征重用实现了梯度的提前传播,也至少保留了前面网络的能力,不至于变弱(最少也是个恒等变换)

缺点
由于需要进行多次Concatnate操作,数据需要被复制多次,显存容易增加得很快,需要一定的显存优化技术。因此在训练过程中,训练的时间要比Resnet作为backbone长很多。所以相对而言,ResNet更常用。

并且ResNet更加的简洁,变体也多,更加成熟,因此后来更多使用的是ResNet,但是DenseNet的思想贡献也是如今很常见的。

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

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

相关文章

C# CallerMemberName、CallerFilePath、CallerLineNumber

CallerMemberName:调用某个方法的主方法名称 CallerFilePath:调用某个方法的主方法所在的类文件地址 CallerLineNumber:调用这个方法所在的行号 用这三个附加属性,需要设置默认值。

推荐5款极具效率的实用工具软件

​ 每次分享实用的软件,都会给人一种踏实和喜悦的感觉,这也是我热衷于搜集和推荐高效工具软件的原因。 1.个人日记软件——EDiary ​ EDiary是一款功能丰富的个人日记软件,用户可以在不联网的状态下使用,保护隐私。它支持日记、记事本、日历、事件提醒…

QT----云服务器部署Mysql,Navicat连接1698 -Access denied for user ‘root‘@‘‘

阿里云有活动,白嫖了一年的新加坡轻量级服务器,有点卡,有时候要开梯子 白嫖300元优惠券 目录 1 安装启动Mysql服务2 更改连接权限2.1 Navicat连接报错1698 -Access denied for user root 3 qt连接云服务器数据库 1 安装启动Mysql服务 我使用…

Docker-部署若依项目

文章目录 后端一、搭建局域网二、redis安装测试 三、MySQL安装四、后端项目放入位置及使用Dockerfile自定义镜像后端项目放入位置 前端配置检查各个端口是否启动nginx部署 首先得先把内部的文件给删除清空 docker images–查看有哪些文件 docker rmi -f ID–删除ID 后端 一、…

linux 安装OpenRestry

一、OpenRestry官网 openRestry中文官网 openRestry英文官网 二、OpenRestry搭建 可以参考官方提供的网址进行搭建:OpenRestry安装官网 ​ 三、开始安装 1、安装依赖库 yum install libtermcap-devel ncurses-devel libevent-devel readline-devel pcre-deve…

Docker 创建容器并指定时区

目录 1. 通过环境变量设置时区(推荐)2. 挂载宿主机的时区文件到容器中3. 总结 要在 Docker 容器中指定时区,可以通过两种方式来实现: 1. 通过环境变量设置时区(推荐) 在 Docker 运行时,可以通…

简析:老阳分享的视频号带货蓝海项目前景如何?

随着社交媒体的快速发展,视频号带货已经成为电商领域的一大热点。近期,知名网红老阳分享了自己的视频号带货项目,引发了广泛关注。本文将从视频号前景、注意事项等方面,分析老阳分享的视频号带货项目前景如何。 首先,从…

三维GIS的业务导向

的确,目前三维GIS以做特效居多,酷炫、亮眼,从二维转到三维,第一眼就给人眼前一亮的感觉,就凭这一项,很多客户就会买单,GIS的客户以政府、科研院所、特种行业为主,买过一次单后&#…

10年架构师和CTO经验总结:从程序员到CTO

在这个不断变化的技术环境中,软件架构的重要性愈发凸显。然而作为一个职业,软 件架构师的地位却不断受到业内外的挑战。在20世纪90年代互联网技术发展初期,软件架 构师是备受推崇的职位。在相对简单的技术诉求下,他们的决策直接决…

【网络】:再谈传输层(UDP)

传输层 一.再谈端口号二.UDP 一.再谈端口号 端口号(Port)标识了一个主机上进行通信的不同的应用程序。 在TCP/IP协议中, 用 “源IP”, “源端口号”, “目的IP”, “目的端口号”, “协议号” 这样一个五元组来标识一个通信(可以通过netstat -n查看); 1.端口号划分 0 - 1023:…

【python 1】----Pytest基础知识

定义 用于编写和执行Python测试全功能测试框架(工具),是一个第三方库 安装 pip insatll pytest 安装pytest --version 校验 pytest的组成构成 不写调用语句也可以执行函数内容 在用例运行语句里面: -s:指的是开启与终端的…

有一点好看的wordpress外贸独立站模板

手机配件wordpress外贸网站模板 充电器、移动电源、手机膜、手机电池、手机壳、手机转接头等手机配件wordpress外贸网站模板。 https://www.jianzhanpress.com/?p3809 车载电器wordpress外贸网站模板 车载吸尘器、空气净化器、行车记录仪、车载充电器、车载影音导航等车载电…

el-table 插入单选并进行校验

<template><div><el-form :model"list" ref"ruleForm"><el-table :data"list.tableData" style"width: 100%"><el-table-column prop"time" label"日期" width"180"><…

[pdf]DDD领域驱动设计批评-幻灯片合集(一)共190页

DDD领域驱动设计批评文集 做强化自测题获得“软件方法建模师”称号 《软件方法》各章合集 DDD领域驱动设计浮夸&#xff0c;Eric Evans开了个坏头 领域驱动设计伪创新 之 聚合根 哪些中文资料上有领域模型案例 领域驱动设计割裂历史&#xff0c;哪里有详细一些的真实历史 软件…

Hive Thrift Server

hive-site.xml配置文件 <property><name>hive.server2.thrift.bind.host</name><value>node1</value> </property>hive.server2.thrift.bind.host: This property determines the host address to which the HiveServer2 Thrift service …

可视化拖拽式小程序源码系统 带完整的安装代码包以及搭建教程

信息技术的快速发展&#xff0c;小程序已成为企业、个人开发者以及各类机构推广品牌、提供服务的重要载体。然而&#xff0c;对于许多非专业开发者来说&#xff0c;编写小程序源码往往是一个复杂且耗时的过程。小编给大家分享一款可视化拖拽式小程序源码系统&#xff0c;旨在帮…

Docker-自定义镜像

目录 1 前言 2 构建java应用的步骤及镜像结构图 2.1 构建步骤 2.2 镜像结构图 3 Dockerfile常用指令 4 Dockerfile的内容举例 4.1 一般形式 4.2 一般形式的优化 5 构建镜像 5.1 指令 5.2 实操 5.2.1 加载jdk镜像(基础镜像) 5.2.2 构建我们的镜像 5.2.3 使用我们的…

MySQL:数据库中有哪些锁

1、全局锁 加上全局锁后整个数据库就处于只读状态了&#xff0c;这时其他线程执行以下操作&#xff0c;都会被阻塞&#xff1a; 对数据的增删改操作&#xff0c;比如 insert、delete、update等语句&#xff1b;对表结构的更改操作&#xff0c;比如 alter table、drop table 等…

shell脚本一键部署docker

Docker介绍 Docker 是一个开源的平台&#xff0c;用于开发、交付和运行应用程序。它利用容器化技术&#xff0c;可以帮助开发人员更轻松地打包应用程序及其依赖项&#xff0c;并将其部署到任何环境中&#xff0c;无论是开发工作站、数据中心还是云中。以下是 Docker 的一些关键…

mini-spring|基于JDK和Cglib动态代理,实现AOP核心功能

AOP 的核心技术实现主要是动态代理的使用 那么我们就需要先来实现一个可以代理方法的 Proxy&#xff0c;其实代理方法主要是使用到方法拦截器类处理方法的调用 MethodInterceptor#invoke&#xff0c;而不是直接使用 invoke 方法中的入参 Method method 进行 method.invoke(targ…