深度学习经典模型之ZFNet

1 ZFNet

1.1 模型介绍

​ ZFNet是由 M a t t h e w Matthew Matthew D . Z e i l e r D. Zeiler D.Zeiler R o b Rob Rob F e r g u s Fergus Fergus在AlexNet基础上提出的大型卷积网络,在2013年ILSVRC图像分类竞赛中以11.19%的错误率获得冠军(实际上原ZFNet所在的队伍并不是真正的冠军,原ZFNet以13.51%错误率排在第8,真正的冠军是 C l a r i f a i Clarifai Clarifai这个队伍,而 C l a r i f a i Clarifai Clarifai这个队伍所对应的一家初创公司的CEO又是 Z e i l e r Zeiler Zeiler,而且 C l a r i f a i Clarifai Clarifai对ZFNet的改动比较小,所以通常认为是ZFNet获得了冠军) [ 3 − 4 ] ​ ^{[3-4]}​ [34]。ZFNet实际上是微调(fine-tuning)了的AlexNet,并通过反卷积(Deconvolution)的方式可视化各层的输出特征图,进一步解释了卷积操作在大型网络中效果显著的原因。

1.2 模型结构

在这里插入图片描述

​ 图1 ZFNet网络结构图(原始结构图与AlexNet风格结构图)

​ 如图4.4所示,ZFNet与AlexNet类似,都是由8层网络组成的卷积神经网络,其中包含5层卷积层和3层全连接层。两个网络结构最大的不同在于,ZFNet第一层卷积采用了 7 × 7 × 3 / 2 7\times7\times3/2 7×7×3/2的卷积核替代了AlexNet中第一层卷积核 11 × 11 × 3 / 4 11\times11\times3/4 11×11×3/4的卷积核。图4.5中ZFNet相比于AlexNet在第一层输出的特征图中包含更多中间频率的信息,而AlexNet第一层输出的特征图大多是低频或高频的信息,对中间频率特征的缺失导致后续网络层次如图4.5(c)能够学习到的特征不够细致,而导致这个问题的根本原因在于AlexNet在第一层中采用的卷积核和步长过大。

在这里插入图片描述

在这里插入图片描述

​ 图2 (a)ZFNet第一层输出的特征图(b)AlexNet第一层输出的特征图(c)AlexNet第二层输出的特征图(d)ZFNet第二层输出的特征图

​ 表3 ZFNet网络参数配置

网络层输入尺寸核尺寸输出尺寸可训练参数量
卷积层 C 1 C_1 C1 ∗ ^* 224 × 224 × 3 224\times224\times3 224×224×3 7 × 7 × 3 / 2 , 96 7\times7\times3/2,96 7×7×3/2,96 110 × 110 × 96 110\times110\times96 110×110×96 ( 7 × 7 × 3 + 1 ) × 96 (7\times7\times3+1)\times96 (7×7×3+1)×96
下采样层 S m a x S_{max} Smax 110 × 110 × 96 110\times110\times96 110×110×96 3 × 3 / 2 3\times3/2 3×3/2 55 × 55 × 96 55\times55\times96 55×55×960
卷积层 C 2 C_2 C2 ∗ ^* 55 × 55 × 96 55\times55\times96 55×55×96 5 × 5 × 96 / 2 , 256 5\times5\times96/2,256 5×5×96/2,256 26 × 26 × 256 26\times26\times256 26×26×256 ( 5 × 5 × 96 + 1 ) × 256 (5\times5\times96+1)\times256 (5×5×96+1)×256
下采样层 S m a x S_{max} Smax 26 × 26 × 256 26\times26\times256 26×26×256 3 × 3 / 2 3\times3/2 3×3/2 13 × 13 × 256 13\times13\times256 13×13×2560
卷积层 C 3 C_3 C3 13 × 13 × 256 13\times13\times256 13×13×256 3 × 3 × 256 / 1 , 384 3\times3\times256/1,384 3×3×256/1,384 13 × 13 × 384 13\times13\times384 13×13×384 ( 3 × 3 × 256 + 1 ) × 384 (3\times3\times256+1)\times384 (3×3×256+1)×384
卷积层 C 4 C_4 C4 13 × 13 × 384 13\times13\times384 13×13×384 3 × 3 × 384 / 1 , 384 3\times3\times384/1,384 3×3×384/1,384 13 × 13 × 384 13\times13\times384 13×13×384 ( 3 × 3 × 384 + 1 ) × 384 (3\times3\times384+1)\times384 (3×3×384+1)×384
卷积层 C 5 C_5 C5 13 × 13 × 384 13\times13\times384 13×13×384 3 × 3 × 384 / 1 , 256 3\times3\times384/1,256 3×3×384/1,256 13 × 13 × 256 13\times13\times256 13×13×256 ( 3 × 3 × 384 + 1 ) × 256 (3\times3\times384+1)\times256 (3×3×384+1)×256
下采样层 S m a x S_{max} Smax 13 × 13 × 256 13\times13\times256 13×13×256 3 × 3 / 2 3\times3/2 3×3/2 6 × 6 × 256 6\times6\times256 6×6×2560
全连接层 F 6 F_6 F6 6 × 6 × 256 6\times6\times256 6×6×256 9216 × 4096 9216\times4096 9216×4096 1 × 1 × 4096 1\times1\times4096 1×1×4096 ( 9216 + 1 ) × 4096 (9216+1)\times4096 (9216+1)×4096
全连接层 F 7 F_7 F7 1 × 1 × 4096 1\times1\times4096 1×1×4096 4096 × 4096 4096\times4096 4096×4096 1 × 1 × 4096 1\times1\times4096 1×1×4096 ( 4096 + 1 ) × 4096 (4096+1)\times4096 (4096+1)×4096
全连接层 F 8 F_8 F8 1 × 1 × 4096 1\times1\times4096 1×1×4096 4096 × 1000 4096\times1000 4096×1000 1 × 1 × 1000 1\times1\times1000 1×1×1000 ( 4096 + 1 ) × 1000 (4096+1)\times1000 (4096+1)×1000

卷积层 C 1 C_1 C1与AlexNet中的 C 1 C_1 C1有所不同,采用 7 × 7 × 3 / 2 7\times7\times3/2 7×7×3/2的卷积核代替 11 × 11 × 3 / 4 ​ 11\times11\times3/4​ 11×11×3/4​,使第一层卷积输出的结果可以包含更多的中频率特征,对后续网络层中多样化的特征组合提供更多选择,有利于捕捉更细致的特征。

卷积层 C 2 C_2 C2采用了步长2的卷积核,区别于AlexNet中 C 2 C_2 C2的卷积核步长,所以输出的维度有所差异。

1.3 模型特性

​ ZFNet与AlexNet在结构上几乎相同,此部分虽属于模型特性,但准确地说应该是ZFNet原论文中可视化技术的贡献。

  • 可视化技术揭露了激发模型中每层单独的特征图。
  • 可视化技术允许观察在训练阶段特征的演变过程且诊断出模型的潜在问题。
  • 可视化技术用到了多层解卷积网络,即由特征激活返回到输入像素空间。
  • 可视化技术进行了分类器输出的敏感性分析,即通过阻止部分输入图像来揭示那部分对于分类是重要的。
  • 可视化技术提供了一个非参数的不变性来展示来自训练集的哪一块激活哪个特征图,不仅需要裁剪输入图片,而且自上而下的投影来揭露来自每块的结构激活一个特征图。
  • 可视化技术依赖于解卷积操作,即卷积操作的逆过程,将特征映射到像素上。

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

如若内容造成侵权/违法违规/事实不符,请联系我们进行投诉反馈qq邮箱809451989@qq.com,一经查实,立即删除!

相关文章

ES8388 —— 带耳机放大器的低功耗立体声音频编解码器(4)

接前一篇文章:ES8388 —— 带耳机放大器的低功耗立体声音频编解码器(3) 二、详细描述 5. 微控制器配置接口 该设备支持标准SPI和2线(I2C)微控制器配置接口。外部微控制器可以通过写入内部配置寄存器来完全配置设备。…

Python实例:爱心代码

前言 在编程的奇妙世界里,代码不仅仅是冰冷的指令集合,它还可以成为表达情感、传递温暖的独特方式。今天,我们将一同探索用 Python 语言绘制爱心的神奇之旅。 爱心,这个象征着爱与温暖的符号,一直以来都在人类的情感世界中占据着特殊的地位。而通过 Python 的强大功能,…

部署stable-diffusion3.5 大模型,文生图

UI 使用推荐的ComfyUI,GitHub 地址,huggingface 需要注册登录,需要下载的文件下面有说明 Dockerfile 文件如下: FROM nvidia/cuda:12.4.0-base-ubuntu22.04 RUN apt-get update && apt-get install python3 pip git --n…

glibc 内存分配与释放机制详解

作者:来自 vivo 互联网存储团队- Wang Yuzhi 本文以一次线上故障为基础介绍了使用 glibc 进行内存管理可能碰到问题,进而对库中内存分配与释放机制进行分析,最后提供了相应问题的解决方案。 一、引言 内存对象的分配与释放一直是后端开发人…

SpringBoot框架在城镇住房保障中的应用

3系统分析 3.1可行性分析 通过对本城镇保障性住房管理系统实行的目的初步调查和分析,提出可行性方案并对其一一进行论证。我们在这里主要从技术可行性、经济可行性、操作可行性等方面进行分析。 3.1.1技术可行性 本城镇保障性住房管理系统采用SSM框架,JA…

Openlayers高级交互(20/20):超级数据聚合,页面不再混乱

本示例在vue+openlayers中使用cluster生成聚合数据的效果。在OpenLayers中实现点聚合(clustering)是一个常见的需求,特别是在处理大量地理数据点时。聚合可以提高地图的性能并减少视觉上的混乱。 一、示例效果图 专栏名称内容介绍Openlayers基础实战 (72篇)专栏提供73篇文…

内网渗透-信息收集篇

通过webshell或其他方式拿下一台机器,并且存在内网环境,这个时候就在准备进行内网渗透,而在内网渗透之前需要对本地机器进行信息收集,才能够更好的进行内网渗透。 目录 Windows本地基础信息收集 权限查看 判断域存在 查看防火…

诗林工作室(编号:mb0005)分享:HTML模版Paxton,一款自适应响应式图集、博客设计开发模板

这是来自国外一款HTML网页模板,适合Web开发人员做前端站点设计参考使用。全站模版倾向于图集、博客等多行业的平台模版开发。此模版适合各大CMS的主题模版开发参考,如常见的Wordpress主题开发、Z-Blog模板开发、Typecho模板开发、DiscuzX模板开发、Jooml…

SSLHandshakeException错误解决方案

1、错误提示 调用Http工具报如下异常信息: cn.hutool.core.io.IORuntimeException: SSLHandshakeException: Received fatal alert: handshake_failure2、查询问题 一开始我以为是代码bug,网络bug甚至是配置环境未生效,找了一大圈&#xf…

VBA07-方法

一、方法的定义 方法指对象所能执行的动作,它是一个动词。 二、方法的表达方式 三、关于工作簿的方法操作 3-1、新增一个工作簿 示例1: 此时,新增的工作簿的名字是系统默认的。 示例2: 【注意】: 当你尝试将工作簿…

MyBatis3-获取参数值的方式、查询功能及特殊SQL执行

目录 准备工作 获取参数值的方式(重点) 查询功能 查询一个实体类对象 查询一个list集合 查询单个数据 查询一条数据为map集合 查询多条数据为map集合 特殊SQL执行 模糊查询 批量删除 动态设置表名 添加功能获取自增的主键 准备工作 模块My…

构建基于 DCGM-Exporter, Node exporter,PROMETHEUS 和 GRAFANA 构建算力监控系统

目录 引言工具作用概述DCGM-ExporterNode exporterPROMETHEUSGRAFANA小结 部署单容器DCGM-ExporterNode exporterPROMETHEUSGRAFANANode exporterDCGM-Exporter 多容器Node exporterDCGM-ExporterDocker Compose 参考 引言 本文的是适用对象,是希望通过完全基于Doc…

基因组学与个性化健康:精准医疗的未来方向

基因组学(Genomics)是指对基因组,即一个生物体的全部基因和遗传信息进行分析和研究的科学,旨在探索基因在生物体中的功能、相互作用及其对健康和疾病的影响。个性化健康(Personalized Health)则是基于个体的…

阅读个位数?1分钟学会用AI做爆款,轻松涨粉不是梦

从去年开始,AI造就的视觉艺术就在各个平台上疯狂蔓延,人类用AI一年生成的内容,比过往几千年加起来都多。 网络上铺天盖地都是搞AI,但大部分人真的是在搞AI吗?并不尽然,大部分人只是想用AI搞钱。 更多实操…

发现 API 的 5 种方法

在处理目标时,最值得测试的部分是其 API。API 是动态的,它们比应用程序的其他部分更新得更频繁,并且负责许多后端繁重的工作。在现代应用程序中,我们通常会看到 REST API,但也会看到其他形式,例如 GraphQL …

Netty 如何自动探测内存泄露的发生

本文基于 Netty 4.1.112.Final 版本进行讨论 本文是 Netty 内存管理系列的最后一篇文章,在第一篇文章 《聊一聊 Netty 数据搬运工 ByteBuf 体系的设计与实现》 中,笔者以 UnpooledByteBuf 为例,从整个内存管理的外围对 ByteBuf 的整个设计体系…

51单片机教程(六)- LED流水灯

1 项目分析 基于点亮LED灯、LED灯闪烁,扩展到构成最简单、花样流水灯。 2 技术准备 1 流水灯硬件及原理图 流水灯是由多个LED灯组成的 2 C语言知识点 数组 数组声明:长度不可变 数据类型 数组名称[长度n] // 整数型默认为0,小数型默认…

基础算法——排序算法(冒泡排序,选择排序,堆排序,插入排序,希尔排序,归并排序,快速排序,计数排序,桶排序,基数排序,Java排序)

1.概述 比较排序算法 算法最好最坏平均空间稳定思想注意事项冒泡O(n)O( n 2 n^2 n2)O( n 2 n^2 n2)O(1)Y比较最好情况需要额外判断选择O( n 2 n^2 n2)O( n 2 n^2 n2)O( n 2 n^2 n2)O(1)N比较交换次数一般少于冒泡堆O( n l o g n nlogn nlogn)O( n l o g n nlogn nlogn)O( n l…

SpringBoot基础系列学习(四):Thymeleaf模板

文章目录 一丶什么是模板引擎二丶Thymeleaf 介绍三丶使用引入依赖代码html页面响应 一丶什么是模板引擎 模板引擎是一种将数据和模板结合起来生成最终结果的工具,它将一个模板和一个数据对象作为输入,通过模板解析和渲染生成最终的结果。通俗地说&#…

模块化开发 webpack

模块化开发 & webpack 1、模块化开发 & webpack1.1 webpack 执行过程1.1.1 初始化1.1.2 编译1.1.3 输出 2.1 webpack 基础配置2.1.1 Entry2.1.1.1 context2.1.1.2 Entry类型 2.1.2 output2.1.2.1 filename2.1.2.2 publicPath2.1.2.3 path2.1.2.4 libraryTarget 和 libr…