CNN的卷积运算为何使用互相关而不是卷积
CNN的卷积运算并非数学定义的卷积
也就是说,CNN中的运算是不需要翻转卷积核的。
也就是说,CNN在处理图像时的卷积核是不需要翻转180°的
我们来用代码看下为什么?
#-*- coding:utf-8 -*-
import sys
reload(sys)
sys.setdefaultencoding('utf-8')import numpy as np
A=np.array([[0,0,0,0],\[0,0,30,0],\[0,60,0,0],\[0,0,0,0]])B=np.array([[0.1,0.01],\[1,10]])
import scipy.signal
print"---------卷积结果---------------------"
print scipy.signal.convolve(A,B,mode='valid')
print"---------互相关结果---------------------"
print scipy.signal.correlate(A,B,mode='valid')
运行结果为:
---------卷积结果---------------------
[[0.00e+00 3.00e+00 3.00e-01]
[6.00e+00 3.06e+01 3.00e+02]
[6.00e+01 6.00e+02 0.00e+00]]
---------互相关结果---------------------
[[ 0. 300. 30. ]
[600. 60.3 3. ]
[ 0.6 6. 0. ]]
因为卷积层后面连接的是池化层,
也就是说把卷积结果得到的矩阵中,
选取矩阵中数值最大的元素作为保留,矩阵中其余元素一律删除。
所以我们可以看到:
上述代码的
卷积结果中的最大值
与
互相关结果矩阵中的最大值
都是600
因此后面maxpooling层进行池化后得到的值也都是600.
如果后面接全连接层,那么
上面两个矩阵全部flatten以后输入dense层,几乎完全一致,也不影响建模
结论:
CNN中使用卷积或互相关,对于
的贡献是一致的,都是获取像素最大的那个值,
因此可以使用卷积,也可以使用互相关,
但是为了代码的高效,直接使用“互相关”即可。
CNN的卷积运算为何使用互相关而不是卷积相关推荐
- 求助:MATLAB中实现卷积运算和理论分析中的卷积运算有什么区别?
MATLAB中实现卷积运算和理论分析中的卷积运算有什么区别. 欢迎使用Markdown编辑器 你好! 这是你第一次使用 Markdown编辑器 所展示的欢迎页.如果你想学习如何使用Markdown编辑 ...
- 卷积神经网络互相关运算和卷积运算原理
卷积神经网络用的其实不是卷积运算,实际用的是互相关运算:互相关运算和卷积运算的区别在于对输入结果所加的权重系数的顺序不同而已,但由于神经网络本身就是训练参数的,所以两者的输出结果其实是一样的,而互相关 ...
- odoo pivot中去掉求和_一文读懂深度学习中的卷积运算与图像处理
华为人工智能认证讲师 袁梦 在人工智能深度学习技术中,有一个很重要的概念就是卷积神经网络 CNN(Convolutional Neural Networks).卷积神经网络被广泛地运用到计算机视觉中, ...
- 数(3)相关运算和卷积运算
目录 相关运算 卷积运算 连续信号 离散信号 卷积性质 卷积定理 (参考其他多篇博客,学习自用,侵删) 相关运算 相关运算是两个序列的相似性比较的一种数学运算. 公式里面的序列,可能是实数,可能是复数 ...
- 【数字信号处理】线性时不变系统 LTI “ 输入 “ 与 “ 输出 “ 之间的关系 ( 周期性分析 | 卷积运算规律 | 交换律 | 结合律 | 分配率 | 冲击不变性 )
文章目录 一.LTI 系统 " 输入 " 与 " 输出 " 周期性分析 二.卷积运算规律 1.交换律 2.结合律 3.分配律 4.冲击不变性 一.LTI 系统 ...
- 【OpenCV 例程200篇】52. 图像的相关与卷积运算
[OpenCV 例程200篇]52. 图像的相关与卷积运算 欢迎关注 『OpenCV 例程200篇』 系列,持续更新中 欢迎关注 『Python小白的OpenCV学习课』 系列,持续更新中 滤波通常是 ...
- MATLAB卷积运算解释(conv、conv2、convn)
二维离散卷积公式: = 第一部分 conv(向量卷积运算) 所谓两个向量卷积,说白了就是多项式乘法. 比如:p=[1 2 3],q=[1 1]是两个向量,p和q的卷积如下: 把p的元素作为一个多项式 ...
- MATLAB卷积运算(conv、conv2、convn)解释
1 conv(向量卷积运算) 所谓两个向量卷积,说白了就是多项式乘法. 比如:p=[1 2 3],q=[1 1]是两个向量,p和q的卷积如下: 把p的元素作为一个多项式的系数,多项式按升幂(或降幂)排 ...
- java 怎么做卷积运算,入门教程之算法系列(二):卷积运算与模糊操作
卷积在信号处理领域有极其广泛的应用,也有严格的物理和数学定义. OpenCV中对图像进行模糊操作,其背后的原理就是卷积运算,可是究竟卷积运算是什么,模糊的卷积算法又是如何实现的呢?本文将进行讨论.考虑 ...
最新文章
- YOLOv5的妙用:学习手语,帮助听力障碍群体
- 动态添加控件及将某XML动态加入到Activity显示
- MATLAB与图像处理(一):图像中结构张量的求法(Structure Tensor)
- ios之UISegmentedcontol
- leetcode初级算法4.只出现一次的数字
- HDU 4432 Sum of divisors 2012 Asia Tianjin Regional Contest
- mongodb 学习笔记 04 -- 游标、索引
- HighCharts:饼图判断是否选中
- 从文本生成场景图(1)——SPICE:Semantic Propositional Image Caption Evaluation
- 苹果iOS APP签名教程
- 思源笔记局域网内访问【使用教程】
- 使用jQuery仿制网易云音乐移动端
- 想要从编程小白成为达人,这些你必须知道!(附STM32学习指南)
- 一个所谓的“文字创作者”的焦虑
- SQL同步主子表数据
- C#报错:未将对象设置到对象实例 Object reference not set to an instance of an object
- snmp协议及常见问题分析
- 单片机编程自己编写的一个很简单的传感器控制代码
- baocms伪静态_Baocms 7.7本地生活服务二次开发版 O2O系统钻石版开源源码无限制
- 用Python模拟登录学校教务系统抢课