当前位置: 首页 > news >正文

【深度学习|DenseNet-121】Densely Connected Convolutional Networks内部结构和参数设置

【深度学习|DenseNet-121】Densely Connected Convolutional Networks内部结构和参数设置

【深度学习|DenseNet-121】Densely Connected Convolutional Networks内部结构和参数设置


文章目录

  • 【深度学习|DenseNet-121】Densely Connected Convolutional Networks内部结构和参数设置
    • 前言
    • 1. 网络总体结构
    • 2. 具体层次结构
      • (1) 输入层(Input Layer)
      • (2) 第一卷积层(Conv1)
      • (3) Dense Block 1 (DB1)
      • (4) Transition Layer 1 (TL1)
      • (5) Dense Block 2 (DB2)
      • (6) Transition Layer 2 (TL2)
      • (7) Dense Block 3 (DB3)
      • (8) Transition Layer 3 (TL3)
      • (9) Dense Block 4 (DB4)
      • (10) 全局平均池化层(Global Average Pooling)
      • (11) 全连接层(Fully Connected Layer)
    • 3. 参数设置
    • 4. 总结
    • 2025年计算机视觉研究进展与应用国际学术会议 (ACVRA 2025)


欢迎宝子们点赞、关注、收藏!欢迎宝子们批评指正!
祝所有的硕博生都能遇到好的导师!好的审稿人!好的同门!顺利毕业!

大多数高校硕博生毕业要求需要参加学术会议,发表EI或者SCI检索的学术论文会议论文:
可访问艾思科蓝官网,浏览即将召开的学术会议列表。会议详细信息可参考:https://ais.cn/u/mmmiUz

前言

DenseNet121 是 DenseNet(Densely Connected Convolutional Networks)架构中的一个重要版本,它采用了密集连接(dense connection)策略,其中每一层都与前面所有的层相连接。DenseNet121的“121”表示它包含121个卷积层。接下来,我将逐层详细说明 DenseNet121 的内部结构和参数设置

1. 网络总体结构

DenseNet121 的总体架构分为以下几个主要部分:

  • 卷积层(Convolutional Layer):最开始的卷积层(Conv1),用于对输入图像进行初步处理。
  • 密集块(Dense Blocks):DenseNet121 包含4个密集块,每个密集块由若干个密集单元(Dense Units)组成。每个密集单元的输出连接到后续所有单元,并且每个密集单元的输入是所有前面单元的输出。
  • 过渡层(Transition Layers):每个密集块之间会有一个过渡层,它包括一个1×1卷积层和一个2×2的平均池化层(Average Pooling)。
  • 全局平均池化层(Global Average Pooling):在最后一个密集块后使用全局平均池化。
  • 全连接层(Fully Connected Layer):全连接层用于输出预测结果。

2. 具体层次结构

(1) 输入层(Input Layer)

  • 输入尺寸通常为 224×224×3,即输入的图像大小为224x224,具有3个颜色通道(RGB)。

(2) 第一卷积层(Conv1)

  • 卷积层:1个卷积层,过滤器大小为7×7,步长为2,输出通道数为64。
  • BatchNorm:进行批归一化,减少内部协方差偏移。
  • ReLU 激活:应用ReLU激活函数。
  • 池化层:3×3最大池化,步长为2,减小空间维度。

输入的大小为 224×224×3,经过这个层之后输出 112×112×64。

(3) Dense Block 1 (DB1)

  • 层数:包含6个Dense Units
  • 每个Dense Unit:每个Dense Unit由3层组成:1×1卷积层(瓶颈层,减少通道数),3×3卷积层(标准卷积层,增加特征数量)。每个Dense Unit的输出特征图将与前面所有的输出特征图连接。

在Dense Block 1 之后,输出的特征图维度为 56×56×256。

(4) Transition Layer 1 (TL1)

  • 1×1卷积层:用于降低通道数,通常减少至128个通道。
  • 平均池化层:进行2×2平均池化,步长为2,减小空间维度。

输出的特征图维度为 28×28×128。

(5) Dense Block 2 (DB2)

  • 层数:包含12个Dense Units。
  • 每个Dense Unit:和第一个密集块相同,由1×1卷积层和3×3卷积层组成,每个单元的输出连接到所有前面的单元。

在Dense Block 2 之后,输出的特征图维度为 28×28×512。

(6) Transition Layer 2 (TL2)

  • 1×1卷积层:减少通道数,通常减少至256个通道。
  • 平均池化层:2×2平均池化,步长为2。

输出的特征图维度为 14×14×256。

(7) Dense Block 3 (DB3)

  • 层数:包含24个Dense Units。
  • 每个Dense Unit:同样是由1×1卷积和3×3卷积组成,每个单元的输出连接到前面的所有单元。

在Dense Block 3 之后,输出的特征图维度为 14×14×1024。

(8) Transition Layer 3 (TL3)

  • 1×1卷积层:将通道数减少到512。
  • 平均池化层:进行2×2的平均池化。

输出的特征图维度为 7×7×512。

(9) Dense Block 4 (DB4)

  • 层数:包含16个Dense Units。
  • 每个Dense Unit:继续由1×1卷积层和3×3卷积层构成,所有单元的输出继续连接。

在Dense Block 4之后,输出的特征图维度为 7×7×1024。

(10) 全局平均池化层(Global Average Pooling)

  • 池化层:将特征图的每个通道进行平均池化,从 7×7×1024 压缩成 1×1×1024。

输出的维度为 1×1×1024。

(11) 全连接层(Fully Connected Layer)

  • FC层:最后通过一个全连接层映射到目标类别数的维度。例如,在分类任务中,如果有1000个类别,则输出维度为1000。

3. 参数设置

  • Growth Rate:每个Dense Unit的增长率(growth rate)通常设定为32,这表示每经过一个Dense Unit,输出的特征图的通道数将增加32个。
  • Dropout:DenseNet121的实现中,通常会加入dropout层,防止过拟合。它的使用通常是0.2到0.5之间。
  • 初始化方法:通常使用He初始化(He Initialization)来初始化卷积层,以避免梯度消失问题。
  • 激活函数:在所有卷积层后应用ReLU激活函数。
  • 批归一化:所有卷积层和全连接层后面都应用了批归一化(Batch Normalization)操作。

4. 总结

  • DenseNet121 是一个非常高效且深度的神经网络,通过密集连接每个层的输出,使得模型能够有效地重用特征并减少参数量。尽管具有较多的层数,但由于密集连接,它的参数量相比于传统的深度神经网络(例如VGG)要少得多,且能够取得更好的性能。

2025年计算机视觉研究进展与应用国际学术会议 (ACVRA 2025)

  • 2025 International Conference on Advances in Computer Vision Research and Applications
  • 2025年2月28-3月2日 广州
  • 会议官网:www.acvra.org
  • EI检索稳定
  • 接受/拒稿通知:投稿后1周左右

相关文章:

【深度学习|DenseNet-121】Densely Connected Convolutional Networks内部结构和参数设置

【深度学习|DenseNet-121】Densely Connected Convolutional Networks内部结构和参数设置 【深度学习|DenseNet-121】Densely Connected Convolutional Networks内部结构和参数设置 文章目录 【深度学习|DenseNet-121】Densely Connected Convolutional Networks内部结构和参数…...

数据结构与算法-要点整理

知识导图: 一、数据结构 包含:线性表(数组、队列、链表、栈)、散列表、树(二叉树、多路查找树)、图 1.线性表 数据之间就是“一对一“的逻辑关系。 线性表存储数据的实现方案有两种,分别是顺序存储结构和链式存储结构。 包含:数组、队列、链表、栈。 1.1 数组…...

Fort Firewall:全方位守护网络安全

Fort Firewall是一款专为 Windows 操作系统设计的开源防火墙工具,旨在为用户提供全面的网络安全保护。它基于 Windows 过滤平台(WFP),能够与系统无缝集成,确保高效的网络流量管理和安全防护。该软件支持实时监控网络流…...

Nginx实战技巧(Practical Tips for nginx)

引言 简介 ‌Nginx(发音为 "engine-x")是一个高性能的HTTP和反向代理服务器.‌ Nginx以其高并发处理能力、低资源消耗和灵活的配置而闻名,适用于高流量的Web服务器和应用程序。‌ Nginx的主要功能包括: ‌HTTP服务器…...

YOLOv8:目标检测与实时应用的前沿探索

随着深度学习和计算机视觉技术的迅速发展,目标检测(Object Detection)一直是研究热点。YOLO(You Only Look Once)系列模型作为业界广受关注的目标检测框架,凭借其高效、实时的特点,一直迭代更新…...

解锁数字经济新动能:探寻 Web3 核心价值

随着科技的快速发展,我们正迈入一个全新的数字时代,Web3作为这一时代的核心构成之一,正在为全球数字经济带来革命性的变革。本文将探讨Web3的核心价值,并如何推动数字经济的新动能。 Web3是什么? Web3,通常…...

Lua 环境的安装

1.安装Lua运行环境 本人采用的是在windows系统中使用cmd指令方式进行安装,安装指令如下: winget install "lua for windows" 也曾使用可执行程序安装过,但由于电脑是加密电脑,最后都已失败告终。使用此方式安装可以安…...

Object类(2)

大家好,今天我们继续来看看Object类中一些成员方法,这些方法在实际中有很大的用处,话不多说,来看。 注:所有类都默认继承Object类的,所以可调用Object类中的方法,如equals,也可以发生…...

汽车网络信息安全-ISO/SAE 21434解析(中)

目录 第七章-分布式网络安全活动 1. 供应商能力评估 2. 报价 3. 网络安全职责界定 第八章-持续的网络安全活动 1. 网路安全监控 2. 网络安全事件评估 3. 漏洞分析 4. 漏洞管理 第九章-概念阶段 1. 对象定义 2. 网路安全目标 3. 网络安全概念 第十章 - 产品开发 第十…...

fatal error C1083: ޷[特殊字符]ļ: openssl/opensslv.h: No such file or directory

一、环境 1. Visual Studio 2017 2. edk2:202305 3. Python:3.11.4 二、 fatal error C1083: ޷򿪰ļ: openssl/opensslv.h: No such file or directory 上图出现这个警告,不用管。 出现Done,说明编译成功。 执行上…...

C#System.Threading.Timer定时器意外回收注意事项

System.Threading.Timer定时器使用时会出现意外回收的情况。具体解释如下: 只要在使用 Timer,就必须保留对它的引用。对于任何托管对象,如果没有对 Timer 的引用,计时器会被垃圾回收。即使 Timer 仍处在活动状态,也会被回收。 实例对比测试 实例 定义两个类,其中一个…...

20.Word:小谢-病毒知识的科普文章❗【38】

目录 题目​ NO1.2.3文档格式 NO4.5 NO6.7目录/图表目录/书目 NO8.9.10 NO11索引 NO12.13.14 每一步操作完,确定之后记得保存最后所有操作完记得再次删除空行 题目 NO1.2.3文档格式 样式的应用 选中应用段落段落→开始→选择→→检查→应用一个一个应用ctr…...

vue3底层原理和性能优化

Vue 3 在底层原理和性能优化方面做了许多改进,以下是一些主要的优化点和原理: 1. 虚拟 DOM 的改进 静态树提升:Vue 3 能够检测到静态组件(即不依赖响应式数据的组件)并将其提升到渲染函数之外,从而减少不…...

Ubuntu介绍、与centos的区别、基于VMware安装Ubuntu Server 22.04、配置远程连接、安装jdk+Tomcat

目录 ?编辑 一、Ubuntu22.04介绍 二、Ubuntu与Centos的区别 三、基于VMware安装Ubuntu Server 22.04 下载 VMware安装 1.创建新的虚拟机 2.选择类型配置 3.虚拟机硬件兼容性 4.安装客户机操作系统 5.选择客户机操作系统 6.命名虚拟机 7.处理器配置 8.虚拟机内存…...

金融级分布式数据库如何优化?PawSQL发布OceanBase专项调优指南

前言 OceanBase数据库作为国产自主可控的分布式数据库,在金融、电商、政务等领域得到广泛应用,优化OceanBase数据库的查询性能变得愈发重要。PawSQL为OceanBase数据库提供了全方位的SQL性能优化支持,助力用户充分发挥OceanBase数据库的性能潜…...

springboot 动态线程池

在Spring Boot中,可以使用ThreadPoolTaskExecutor类来创建动态线程池。以下是一个示例: 首先,需要在配置文件中配置线程池的属性,例如最小线程数、最大线程数、线程存活时间等。可以在application.properties或application.yml中…...

【PySide6快速入门】qrc资源文件的使用

文章目录 PySide6快速入门:qrc资源文件的使用前言什么是qrc文件?qrc文件的作用: qrc文件可以干什么?如何创建qrc文件?1. 创建.qrc文件2. 使用rcc工具编译.qrc文件 如何引用qrc文件并使用资源?示例代码&…...

【creo】CREO配置快捷键方式和默认单位

了解CREO工作目录设置 设置快捷方式启动目录,就能自动加载其中的配置。 一、通过键盘快捷方式 保存配置 creo_parametric_customization.ui 文件: 二、通过映射键录制 通过这种方式可以监听鼠标的点击事件。使用键盘快捷方式无法找到需要的动作时候可…...

STM32使用VScode开发

文章目录 Makefile形式创建项目新建stm项目下载stm32cubemx新建项目IED makefile保存到本地arm gcc是编译的工具链G++配置编译Cmake +vscode +MSYS2方式bilibiliMSYS2 统一环境配置mingw32-make -> makewindows环境变量Cmake CmakeListnijia 编译输出elfCMAKE_GENERATOR查询…...

数据结构与算法再探(六)动态规划

目录 动态规划 (Dynamic Programming, DP) 动态规划的基本思想 动态规划的核心概念 动态规划的实现步骤 动态规划实例 1、爬楼梯 c 递归(超时)需要使用记忆化递归 循环 2、打家劫舍 3、最小路径和 4、完全平方数 5、最长公共子序列 6、0-1背…...

若依基本使用及改造记录

若依框架想必大家都了解得不少,不可否认这是一款及其简便易用的框架。 在某种情况下(比如私活)使用起来可谓是快得一匹。 在这里小兵结合自身实际使用情况,记录一下我对若依框架的使用和改造情况。 一、源码下载 前往码云进行…...

学习数据结构(2)空间复杂度+顺序表

1.空间复杂度 (1)概念 空间复杂度也是一个数学表达式,表示一个算法在运行过程中根据算法的需要额外临时开辟的空间。 空间复杂度不是指程序占用了多少bytes的空间,因为常规情况每个对象大小差异不会很大,所以空间复杂…...

C语言复习

1.进制 三要素:数位(第几位) 基数 位权(当前位对应的值) 二进制:B 八进制:O 十进制:D 十六进制:X 0和1 111 /072 10 …...

Qt监控系统辅屏预览/可以同时打开4个屏幕预览/支持5x64通道预览/onvif和rtsp接入/性能好

一、前言说明 在监控系统中,一般主界面肯定带了多个通道比如16/64通道的画面预览,随着电脑性能的增强和多屏幕的发展,再加上现在监控摄像头数量的增加,越来越多的用户希望在不同的屏幕预览不同的实时画面,一个办法是打…...

ubuntu22安装issac gym记录

整体参考:https://blog.csdn.net/Yakusha/article/details/144306858 安装完成后的整体版本信息 ubuntu:22.04内核:6.8.0-51-generic显卡:NVIDIA GeForce RTX 3050 OEM显卡驱动:535.216.03cuda:12.2cudnn&…...

IDEA工具下载、配置和Tomcat配置

1. IDEA工具下载、配置 1.1. IDEA工具下载 1.1.1. 下载方式一 官方地址下载 1.1.2. 下载方式二 官方地址下载:https://www.jetbrains.com/idea/ 1.1.3. 注册账户 官网地址:https://account.jetbrains.com/login 1.1.4. JetBrains官方账号注册…...

Three.js实战项目02:vue3+three.js实现汽车展厅项目

文章目录 实战项目02项目预览项目创建初始化项目模型加载与展厅灯光加载汽车模型设置灯光材质设置完整项目下载实战项目02 项目预览 完整项目效果: 项目创建 创建项目: pnpm create vue安装包: pnpm add three@0.153.0 pnpm add gsap初始化项目 修改App.js代码&#x…...

动态规划——斜率优化DP

题目清单 acwing300.任务安排1 状态表示f[i]: 集合:完成前i个任务且第i个任务为最后一个批次最后一个任务的方案。 属性:min 状态计算: f [ i ] m i n { f [ j ] s u m t [ i ] ∑ j 1 i w [ u ] s ∑ j 1 n w [ i ] } f[i]min\{f[j…...

【深度之眼cs231n第七期】笔记(三十一)

目录 强化学习什么是强化学习?马尔可夫决策过程(MDP)Q-learning策略梯度SOTA深度强化学习 还剩一点小尾巴,还是把它写完吧。(距离我写下前面那行字又过了好几个月了【咸鱼本鱼】)(汗颜&#xff…...

【云安全】云原生-K8S-简介

K8S简介 Kubernetes(简称K8S)是一种开源的容器编排平台,用于管理容器化应用的部署、扩展和运维。它由Google于2014年开源并交给CNCF(Cloud Native Computing Foundation)维护。K8S通过提供自动化、灵活的功能&#xf…...