为什么两层3*3卷积核效果比1层5*5卷积核效果要好?

目录

    • 1、感受野
    • 2、2层3 * 3卷积与1层5 * 5卷积
    • 3、2层3 * 3卷积与1层5 * 5卷积的计算量比较
    • 4、2层3 * 3卷积与1层5 * 5卷积的非线性比较
    • 5、2层3 * 3卷积与1层5 * 5卷积的参数量比较

1、感受野

感受野:卷积神经网络各输出特征像素点,在原始图片映射区域大小。
举个例子,原图为3x3大小,我们使用3x3大小的卷积核卷积,得到的输出图片大小是1x1的,所以输出图片的感受野是3。
感受野表征了卷积核的特征提取能力。

2、2层3 * 3卷积与1层5 * 5卷积

设原图大小长宽皆为x(x>=5) ,我们使用5x5的卷积核在x方向上滑动,步长为1,需要滑动(x-5+1)次,y方向同理,滑动了(x-5+1)次,所以最终卷积了(x-4) * (x-4)次,也就是说得到的输出图大小为(x-4) * (x-4).
同理,3x3卷积核卷积遍后输出图大小为(x-3+1) * (x-3+1),在输出图基础上再次用3x3卷积核卷积,得到的输出图大小:(x-3+1-3+1) * (x-3+1-3+1)=(x-4) * (x-4).
可以发现对同样一幅图卷积,使用2个3 * 3卷积与1个5 * 5卷积得到的输出图大小是一样的,也就是说他们的感受野是一样大的,所以,可以总结出这样一个结论:2遍3 * 3卷积与1遍5 * 5卷积,特征提取能力是一样的。
那为何工业上常常用小的卷积核多次卷积去替代大卷积核一次卷积?
这个原因可以从三个角度去解答

3、2层3 * 3卷积与1层5 * 5卷积的计算量比较

3x3卷积核卷积一次的运算量是9
5x5卷积核卷积一次的运算量是25
所以对原图大小长宽皆为x的图片来说2遍3x3卷积与1遍5x5卷积的计算量分别为:

3 * 3卷积核:9 * (x-2) ^ 2+9 * (x-4) ^2(第一次卷积计算量+第二次卷积计算量)
5 * 5卷积核:25 * (x-4) ^2
列出不等式:
9 * (x-2) ^ 2+9 * (x-4) ^2 <=25 * (x-4) ^2(求出2遍3 * 3卷积运算量比1遍5 * 5卷积的运算量小时的原图大小)
计算得出这样结果在这里插入图片描述
也就是说原图边长x>10时,2遍3 * 3卷积计算量比1遍5 * 5卷积计算量要小!!!
并且随着x的增大,这种两者计算量差距会逐渐拉大。
而一般图片大小都是大于10的,如mnist手写数字集边长28

4、2层3 * 3卷积与1层5 * 5卷积的非线性比较

小卷积核卷积整合了多个非线性激活层,代替单一非线性激活层,增加了判别能力。

5、2层3 * 3卷积与1层5 * 5卷积的参数量比较

2遍3 * 3卷积参数个数=2 * 3 * 3 =18
1遍5 * 5卷积参数个数=5 * 5=25
参数个数明显减少

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

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

相关文章

算法正确性和复杂度分析

算法正确性——循环不变式 算法复杂度的计算 方法一 代换法 —局部代换 这里直接对n变量进行代换 —替换成对数或者指数的情形 n 2^m —整体代换 这里直接对递推项进行代换 —替换成内部递推下标的形式 T(2^n) S(n) 方法二 递归树法 —用实例说明 —分析每一层的内容 —除了…

第十五章 Python和Web

第十五章 Python和Web 本章讨论Python Web编程的一些方面。 三个重要的主题&#xff1a;屏幕抓取、CGI和mod_python。 屏幕抓取 屏幕抓取是通过程序下载网页并从中提取信息的过程。 下载数据并对其进行分析。 从Python Job Board&#xff08;http://python.org/jobs&#x…

array_chunk_PHP array_chunk()函数与示例

array_chunkPHP array_chunk()函数 (PHP array_chunk() Function) array_chunk() function is an array function, it is used to split a given array in number of array (chunks of arrays). array_chunk()函数是一个数组函数&#xff0c;用于将给定数组拆分为多个数组(数组…

raise

raise - Change a windows position in the stacking order button .b -text "Hi there!"pack [frame .f -background blue]pack [label .f.l1 -text "This is above"]pack .b -in .fpack [label .f.l2 -text "This is below"]raise .b转载于:ht…

c语言输出最大素数,for语句计算输出10000以内最大素数怎么搞最简单??各位大神们...

该楼层疑似违规已被系统折叠 隐藏此楼查看此楼#include #include int* pt NULL; // primes_tableint pt_size 0; // primes_table 数量大小int init_primes_table(void){FILE* pFile;pFile fopen("primes_table.bin", "rb");if (pFile NULL) {fputs(&q…

【数据结构基础笔记】【图】

代码参考《妙趣横生的算法.C语言实现》 文章目录前言1、图的概念2、图的存储形式1、邻接矩阵&#xff1a;2、邻接表3、代码定义邻接表3、图的创建4、深度优先搜索DFS5、广度优先搜索BFS6、实例分析前言 本章总结&#xff1a;图的概念、图的存储形式、邻接表定义、图的创建、图…

第十六章 测试基础

第十六章 测试基础 在编译型语言中&#xff0c;需要不断重复编辑、编译、运行的循环。 在Python中&#xff0c;不存在编译阶段&#xff0c;只有编辑和运行阶段。测试就是运行程序。 先测试再编码 极限编程先锋引入了“测试一点点&#xff0c;再编写一点点代码”的理念。 换而…

如何蹭网

引言蹭网&#xff0c;在普通人的眼里&#xff0c;是一种很高深的技术活&#xff0c;总觉得肯定很难&#xff0c;肯定很难搞。还没开始学&#xff0c;就已经败给了自己的心里&#xff0c;其实&#xff0c;蹭网太过于简单。我可以毫不夸张的说&#xff0c;只要你会windows的基本操…

android对象缓存,Android简单实现 缓存数据

前言1、每一种要缓存的数据都是有对应的versionCode&#xff0c;通过versionCode请求网络获取是否需要更新2、提前将要缓存的数据放入assets文件夹中&#xff0c;打包上线。缓存设计代码实现/*** Created by huangbo on 2017/6/19.** 主要是缓存的工具类** 缓存设计&#xff1a…

通信原理.绪论

今天刚上通信原理的第一节课&#xff0c;没有涉及过多的讲解&#xff0c;只是讲了下大概的知识框架。现记录如下&#xff1a; 目录1、基本概念消息、信息与信号2、通信系统模型1、信息源2、发送设备3、信道4、接收设备5、信宿6、模拟通信系统模型7、数字通信系统模型8、信源编…

Android版本演进中的兼容性问题

原文&#xff1a;http://android.eoe.cn/topic/summary Android 3.0 的主要变化包括: 不再使用硬件按键进行导航 (返回、菜单、搜索和主屏幕)&#xff0c;而是采用虚拟按键 (返回&#xff0c;主屏幕和最近的应用)。在操作栏固定菜单。 Android 4.0 则把这些变化带到了手机平台。…

css rgba透明_rgba()函数以及CSS中的示例

css rgba透明Introduction: 介绍&#xff1a; Functions are used regularly while we are developing a web page or website. Therefore, to be a good developer you need to master as many functions as you can. This way your coding knowledge will increase as well …

第十七章 扩展Python

第十七章 Python什么都能做&#xff0c;真的是这样。这门语言功能强大&#xff0c;但有时候速度有点慢。 鱼和熊掌兼得 本章讨论确实需要进一步提升速度的情形。在这种情况下&#xff0c;最佳的解决方案可能不是完全转向C语言&#xff08;或其他中低级语言&#xff09;&…

android studio资源二进制,无法自动检测ADB二进制文件 – Android Studio

我尝试在Android Studio上测试我的应用程序,但我遇到了困难"waiting for AVD to come online..."我读过Android设备监视器重置adb会做到这一点,它确实……对于1次测试,当我第二天重新启动电脑时,我不仅仅是&#xff1a;"waiting for AVD to come online..."…

犀牛脚本:仿迅雷的增强批量下载

迅雷的批量下载满好用。但是有两点我不太中意。在这个脚本里会有所增强 1、不能设置保存的文件名。2、不能单独设置这批下载的线程限制。 使用方法 // 下载从编号001到编号020的图片&#xff0c;保存名为猫咪写真*.jpg 使用6个线程 jdlp http://bizhi.zhuoku.com/bizhi/200804/…

为什么使用1 * 1 的卷积核

为什么使用 1* 1卷积核&#xff1f; 作用&#xff1a; 1、实现跨通道的交互和信息整合 2、 进行卷积核通道数的降维和升维 3、 在保持feature map尺度不变的&#xff08;即不损失分辨率&#xff09;的前提下大幅增加非线性特性 跨通道的交互和信息整合 使用1 * 1卷积核&a…

KingPaper初探ThinkPHP3.1.2之扩展函数库和类库的使用(四)

在我们做项目的时候TP的系统函数或系统类库满足不了我们的需要 所以有些东西需要我们自己去定义&#xff0c;在TP中我们怎么使用自己的函数库和类库呢&#xff1f;在TP系统中提供了三个系统函数库 common.php是全局必须加载的基础函数库&#xff0c;在任何时候都可以直接调用&a…

isfinite函数_isfinite()函数以及C ++中的示例

isfinite函数C isfinite()函数 (C isfinite() function) isfinite() function is a library function of cmath header, it is used to check whether the given value is a finite value or not? It accepts a value (float, double or long double) and returns 1 if the v…

android 服务端 漏洞,安卓漏洞 CVE 2017-13287 复现详解-

2018年4月&#xff0c;Android安全公告公布了CVE-2017-13287漏洞。与同期披露的其他漏洞一起&#xff0c;同属于框架中Parcelable对象的写入(序列化)与读出(反序列化)的不一致所造成的漏洞。在刚看到谷歌对于漏洞给出的补丁时一头雾水&#xff0c;在这里要感谢heeeeenMS509Team…

某公司面试题

一、基础题 1&#xff0c;冯诺依曼结构的计算机硬件逻辑组成中&#xff0c;不包含以下哪个模块&#xff1f; A&#xff0c;编译器 B&#xff0c;控制器 C&#xff0c;输入设备 D&#xff0c;输出设备 解释&#xff1a;冯诺依曼由五个模块组成&#xff1a;输入设备 输出设备 存…