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

news/2024/11/23 0:20:34/

目录

    • 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.ppmy.cn/news/401246.html

相关文章

FPGA学习---3.IP核使用,Counter IP核

三 LPM——counter IP核使用 小结&#xff1a;counter&#xff08;IP核&#xff09;cin进位输入&#xff0c;clock时钟信号&#xff0c;cout进位输出&#xff0c;q当前计数值 FPGA设计方式 调用IP核 路径放到prj的ip文件夹下 名字叫counter就行 几位的计数器 计数到多少&a…

核与线程 CPU 4核8线程 的解释

1、物理CPU: 物理CPU就是计算机上实际配置的CPU个数。在linux上可以打开cat /proc/cpuinfo 来查看,其中的physical id就是每个物理CPU的ID,能找到几个physical id就代表计算机实际有几个CPU。 在linux下可以通过指令 grep ‘physical id’ /proc/cpuinfo | sort -u | wc -l …

10.1 LED灯实验(A7核和M4核)

文章目录 LED灯实验分析原理图芯片手册RCC章节GPIO章节 实现代码A7核gpio.hgpio.cmain.c M4核 实验现象 LED灯实验 分析 原理图 LED灯的丝印为LD1&#xff0c;LD2&#xff0c;LD3 通关原理图&#xff0c;可知三盏灯的引脚为LED1&#xff0c;LED2&#xff0c;LED3 引脚写高电平…

【linux 绑核】CPU 绑核

前言 以下介绍两个用于CPU绑核命令 taskset 适用于已经在运行的程序 numactl 适用于准备运行的程序 目录 1. 命令 taskset 1.1. 查看进程绑核状态 1.2. 指定PID绑核 2. 命令 numactl 2.1. 查看节点信息 2.2. 查看内存访问命中率 2.3. 指定某个节点 2.4. 指定程序绑核CPU 1. 命…

【转载】为什么使用3*3 小卷积核堆叠代替大卷积核

版权声明&#xff1a;本文为博主原创文章&#xff0c;遵循 CC 4.0 BY-SA 版权协议&#xff0c;转载请附上原文出处链接和本声明。 本文链接&#xff1a; https://blog.csdn.net/ytusdc/article/details/85265057 (1)3x3是最小的能够捕获像素八邻域信息的尺寸。 (2)两个3x3的堆…

3*3卷积核 5*5卷积核到底有多大区别

为了比较3*3卷积核 和 5*5卷积核在性能上到底有多大区别设计了两个网络去进行对比&#xff0c; 1.两个3*3的卷积核&#xff0c;2个池化层&#xff0c;2个全连接层 2.两个5*5的卷积核&#xff0c;2个池化层&#xff0c;2个全连接层 两个网络的收敛标准&#xff0c;权重的初始…

两个3*3的卷积核替代5*5(三个3*3卷积核替代7*7)分析

文章目录 为什么一个5x5的卷积核可以用两个3x3的卷积核来替代一个5*5卷积两个3*3卷积核 为什么一个7x7的卷积核可以用三个个3x3的卷积核来替代一个7*7卷积三个3*3卷积核 优点总结 为什么一个5x5的卷积核可以用两个3x3的卷积核来替代 知道了一个理论&#xff0c;两个3x3的卷积核…

cuda学习(3):核函数

1. 核函数介绍 核函数是cuda编程的关键 通过xxx.cu创建一个cudac程序文件&#xff0c;并把cu交给nvcc编译(nvcc 是nvidia的c编译器,编译cudac程序&#xff0c;是c的超集)&#xff0c;才能识别cuda语法 可以看到红框2中&#xff0c;编译.cpp文件用的CXX来做的&#xff0c;编译…