卷积神经网络CNN之ZF Net网络模型详解(理论篇)

news2024/10/7 9:24:07

1.背景
2. ZF Net模型结构
3. 改进优缺点

一、背景

  ZF Net是用作者的名字命名的,Matthew D.Zeiler 和 Rob Fergus (纽约大学),2013年撰写的论文;

论文原网址https://arxiv.org/abs/1311.2901

论文名:Visualizing and Understanding Convolutional Networks

论文摘要:大型卷积神经网络在ImageNet上表现出优秀的性能。本文试图解决两个问题,这种模型为什么表现得如此优秀,以及如何改进模型。我们引入了一种新颖的可视化技术,深入了解中间特征层的功能和分类器的操作细节。可视化技术最终找到了一种比AlexNet性能更好的模型结构,还发现了模型的不同层次做出的性能贡献。

  这篇文章模型是2013ImageNet分类任务的冠军,其网络结构没什么改进,只是调了调参,性能较Alex提升了不少。
  ZF-Net只是将AlexNet第一层卷积核由11变成7,步长由4变为2,第3,4,5卷积层转变为384,384,256。这一年的ImageNet还是比较平静的一届,其冠军ZF-Net的名堂也没其他届的经典网络架构响亮。

二、ZF Net模型结构

补充:多通道卷积核卷积计算
下图是5* 5* 3被一个核的3* 3* 3=3* 3 *1
在这里插入图片描述

网络结构梳理
在这里插入图片描述
说明:论文中提出一种新的可视化技术,该技术可以了解中间特征图的功能和分类器的操作
  AlexNet第一层中有大量的高频(边缘)和低频(非边缘)信息的混合,却几乎没有覆盖到中间的频率信息。
  由于第一层卷积用的步长为4,太大,导致了有非常多的混叠情况,学到的特征不是特别好看,不像是后面的特征能看到一些纹理、颜色等。
  因此作者针对第一个问题将AlexNet的第一层的卷积核大小从11 *11改成7 *7。同时针对第二个问题将第一个卷积层的卷积核滑动步长从4改成2。同时,ZFNet将AlexNet的第3,4,5卷积层变为384,384,256。
  区别是AlexNet用了两块GPU训练把3、4、5层分了两块,而我们的结构更紧密。

网络层简介输入核数量-卷积窗口-填充-步长输出-激活函数核数量-池化窗口-步长输出-归一化过拟合方法
224 *224 *3使用96个核7* 7 *3的卷积,padding=0,stride=2110 *110 *96最大池化3 *3-stride=255 *55 *96-LRN局部响应归一化,尺度5x5
55 *55 *96使用256个核5* 5 *96的卷积,padding=0,stride=226 *26 *256最大池化3 *3-stride=213 *13 *256-LRN局部响应归一化,尺度5x5
13 *13 *256使用384个核3* 3*256的卷积,padding=1,stride=113 *13 *384无-归一化
13 *13 *384使用384个核3* 3*384的卷积,padding=1,stride=113 *13 *384无-归一化
13 *13 *384使用256个核3* 3*384的卷积,padding=1,stride=113 *13 *256最大池化3 *3-stride=26 *6 *256-归一化
全连接层一6*6 *256使用4096个6×6×256的卷积核进行卷积1x1x4096(—4096个神经元的运算结果通过ReLU激活函数中无-归一化Dropout:随机的断开全连接层某些神经元的连接,通过不激活某些神经元的方式防止过拟合。drop运算后输出4096个本层的输出结果值
全连接层二4096×1(4096个神经元)无-----4096个神经元的运算结果通过ReLU激活函数中无池化无-归一化4096个数据与第七层的4096个神经元进行全连接,然后经由relu7进行处理后生成4096个数据,再经过dropout7处理后输出4096个数据
输出层4096×1(4096个神经元)无-----4096个神经元的运算结果通过ReLU激活函数中无池化无-归一化

三、内容都有所提到,具体看ZF net 项目练习总结

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

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

相关文章

Vue2的基本内容(一)

目录 一、插值语法 二、数据绑定 1.单向数据绑定 2.双向数据绑定 三、事件处理 1.绑定监听 2.事件修饰符 四、计算属性computed和监视属性watch 1.计算属性-computed 2.监视属性-watch (1)通过 watch 监听 msg 数据的变化 (2&a…

IronXL for .NET 2023.2.5 Crack

关于适用于 .NET 的 IronXL 在 C# 中阅读和编辑 Excel 电子表格,无需 MS Office 或 Excel Interop。 IronXL for .NET 允许开发人员在 .NET 应用程序和网站中读取、生成和编辑 Excel(和其他电子表格文件)。您可以读取和编辑 XLS/XLSX/CSV/TS…

Apollo控制部分1-- ControlComponent组件介绍

Apollo控制部分1-- ControlComponent组件介绍摘要一、ControlComponent1、启动文件解析2、ControlComponent()组件函数解析1)ControlComponent::ControlComponent() 构造函数2)ControlComponent::Init() 初始化函数(执行一次)3&am…

分享四个前端Web3D动画库在Threejs中使用的动画库以及优缺点附地址

Threejs中可以使用以下几种动画库:Tween.js:Tween.js是一个简单的缓动库,可以用于在three.js中创建简单的动画效果。它可以控制数值、颜色、矢量等数据类型,并提供了多种缓动函数,例如线性、弹簧、强化、缓冲等等。区别…

Linux性能学习(2.3):内存_为什么分配的内存比申请的内存大16个字节

文章目录1 验证申请不同内存,系统分配机制1.1 代码1.2 测试1.3 结论2 为什么会多分配内存3 为什么会有4字节不可使用参考资料:https://www.gnu.org/software/libc/ 在上一篇文章中,探讨了Linux系统对进程以及线程的内存分配问题,…

流程图简介

一、流程与流程图1. 什么是流程具体来说,流程是一项活动或一系列连续有规律的事项或行为进行的程序。流程有6个要素,分别是:资源、过程、结构、结果、对象和价值。一个流程会把这些基本要素串联起来,例如流程中资源的输入、流程中…

gprof2dot perf

什么是gprof2dot 这是一个用于将许多探查器的输出转换为点图Python脚本。 使用需要安装的依赖 Python: known to work with version 2.7 and 3.3; it will most likely not work with earlier releases.Graphviz: tested with version 2.26.3, but should work fine with ot…

【C++】类和对象补充知识点

🏖️作者:malloc不出对象 ⛺专栏:C的学习之路 👦个人简介:一名双非本科院校大二在读的科班编程菜鸟,努力编程只为赶上各位大佬的步伐🙈🙈 目录前言一、再谈构造函数1.1 构造函数体赋…

逻辑电路代数运算(上)

逻辑代数L是一个封闭的代数系统,由一个逻辑变量集K,常量0和1,以及与或非三种基本运算构成。 参与逻辑运算的变量叫逻辑变量,用字母A,B……表示。每个变量的取值非0 即1。 0、1不表示数的大小,而是代表两种不…

三天吃透Java基础八股文

本文已经收录到Github仓库,该仓库包含计算机基础、Java基础、多线程、JVM、数据库、Redis、Spring、Mybatis、SpringMVC、SpringBoot、分布式、微服务、设计模式、架构、校招社招分享等核心知识点,欢迎star~ Github地址:https://github.com/…

Asp.net core api swagger显示中文注释

在你的 Web API 项目中使用 Swagger 的.NET Core 封装 Swashbuckle 可以帮助你创建良好的文档和帮助页面,Swagger (OpenAPI) 是一个与语言无关的规范,用于描述 REST API。 它使计算机和用户无需直接访问源代码即可了解 REST API 的功能1、OpenAPI 与 Swa…

IP定位离线库有什么作用?

IP离线是什么意思?我们以丢失手机为例来寻找它,现在手机都有IP定位功能,只要手机开通了IP定位,就能找到手机。iPhone定位显示离线一般是iPhone手机关机了或者iPhone手机中“查找我的iPhone”功能关闭了。如果手机在手中的话可以打…

【Spark】Spark的DataFrame向Impala写入数据异常及源码解析

背景 事情是这样的,当前业务有一个场景: 从业务库的Mysql抽取数据到Hive 由于运行环境的网络限制,当前选择的方案: 使用spark抽取业务库的数据表,然后利用impala jdbc数据灌输到hive。(没有spark on hive 的条件&…

cmd命令教程

小提示: 在本文中,我将向您展示可以在 Windows 命令行上使用的 40 个命令 温馨提示:在本教程中学习使用适用于 Windows 10 和 CMD 网络命令的最常见基本 CMD 命令及其语法和示例 文章目录为什么命令提示符有用一、cmd是什么?如何在…

AcWing 4868. 数字替换(DFS + 剪枝优化)

AcWing 4868. 数字替换(DFS 剪枝优化)一、问题二、思路三、代码一、问题 二、思路 题目中要求变换次数最小,其实第一印象应该是贪心,即我们每一次都去成各位中最大的那个数字。但是这个想法很容易推翻。因为你这次乘了一个最大的…

gdb/git的基本使用

热爱编程的你,一定经常徘徊在写bug和改bug之间,调试器也一定是你随影而行的伙伴,离开了它你应该会寝食难安吧! 目录 gdb的使用 断点操作 运行调试 观察数据 Git的使用 仓库的创建和拉取 .gitignore “三板斧” 常用指令 gd…

CV——day82 读论文:遥感目标检测的改进注意力特征融合SSD (AF-SSD)方法

遥感目标检测的改进注意力特征融合SSD 方法I. INTRODUCTIONII. RELATED WORKB. 特征融合C.注意力机制III. PROPOSED METHODA. 特性融合模块——**FFM**B.双路径注意模块——DAMC. 多尺度接受域——MRFIV. EXPERIMENTSA. Data Sets and TrainingV. CONCLUSIONAttention and Feat…

mac安装开发工具:clipy、iterm2、go、brew、mysql、redis、wget等

wget brew install wget clipy Releases Clipy/Clipy GitHub 环境变量 ~下有三个文件 .zshrc .zprofile .bash_profile > cat .zshrc export PATH$PATH:/usr/local/mysql/bin> cat .zprofile eval "$(/opt/homebrew/bin/brew shellenv)"> cat .bas…

[1.3.2]计算机系统概述——中断和异常

文章目录第一章 计算机系统概述中断和异常(一)中断的作用(二)中断的类型(三)中断机制的基本原理小结第一章 计算机系统概述 中断和异常 中断的作用中断的类型 内中断(也称“异常”)…

29- 迁移学习 (TensorFlow系列) (深度学习)

知识要点 迁移学习: 使用别人预训练模型参数时,要注意别人的预处理方式。 常见的迁移学习方式: 载入权重后训练所有参数.载入权重后只训练最后几层参数.载入权重后在原网络基础上再添加一层全连接层,仅训练最后一个全连接层.训练数据是 10_m…