卷积及卷积的性质与应用
- 卷积有一种模糊(粗粒度)的效果,这种模糊化(忽视掉一些不必要的细节,在加上 maxpooling 的存在,又会去捕捉最显著的特征,这种忽略次要目标,突出重要目标)。也就是 CNN 天然具有的性质,当其应用在 Text(文本处理)时,比如 fraud detection,欺诈检测,一个人抄袭别人的答案,但又机智地做了一些修改的动作(会被 conv,忽视),但一些核心的东西,两人之间一样的内容(执行 maxpooling 时),会被检测出来。
1. 定义
一维离散型信号的卷积
o[n]=f[n]*g[n]=\sum_{u=-\infty}^\infty f[u]g[n-u]=\sum_{u=-\infty}^\infty f[n-u]g[u]
推广到二维(2D):
o[m,n]=f[m,n]*g[m,n]=\sum_{u=-\infty}^\infty \sum_{v=-\infty}^\infty f[u,v]g[m-u,n-v]
换一种写法:
\left(f\star g\right)\left[m,n\right]=\sum_{k,\ell}f[m-k,n-\ell]g[k,l]
卷积表达的是两信号序列的相互作用的结果,卷积得到的结果(o[n]o[n]o[n])和原始的信号长度(f[n],g[n]f[n],g[n]f[n],g[n])保持一致。
2. 卷积的计算
只需记住一点,两个一维信号进行卷积,x⋆h=∑kx[k]⋅h[n−k]x⋆h=∑kx[k]⋅h[n−k]x\star h=\sum\limits_{k}x[k]\cdot h[n-k],h[n−k]h[n−k]h[n-k] 可以理解为 h[k]h[k]h[k] 的一种反转和移位的形式。
已知下面两个序列,
\begin{split} &x[n]=[3, 11, 7, 0, -1, 4, 2], &\quad -3\leq n\leq 3\\ &h[n]=[2, 3, 0, -5, 2, 1],&\quad -1\leq n\leq 4 \end{split}
也即先对 h[n]h[n]h[n] 进行翻转得,[1,2,−5,0,3,2][1,2,−5,0,3,2][1, 2, -5, 0, 3, 2],依次得最终的卷积后的序列为:
- 2*3
- 2*11+3*3
- 2*7+3*11+0*3
- …
- [6, 31, 47, 6, -51, -5, 41, 18, -22, -3, 8, 2]
3. 卷积的性质
- 线性性(linearity):filter(f1+f2f1+f2f_1+f_2)=filter(f1f1f_1)+filter(f2f2f_2)
- 移不变性(shift invariance):filter(shift(f)) = shift(filter(f))
- 任何线性移不变(linear shift-invariant)的算子(操作)都可视为一种卷积操作;(Theoretical result)
1. 卷积的卷怎么理解?
卷积为什么叫「卷」积?
卷积就是将二元函数 U(x,y)=f(x)g(y)U(x,y)=f(x)g(y)U(x,y)=f(x)g(y) 卷成一元函数 V(t)V(t)V(t),套用互联网界十分流行的一个词汇,叫降维打击;
那么如何卷呢?考虑到 fff 和 y" role="presentation">yyy 应该平等,或者说对其所关于的变量 xxx 和 y" role="presentation">yyy 没有理由区别对待,因此一种可取的方法就是沿直线 x+y=tx+y=tx+y=t 卷起来:
V(t)=∫x+y=tU(x,y)dx=∫xf(x)g(t−x)dxV(t)=∫x+y=tU(x,y)dx=∫xf(x)g(t−x)dxV(t)=\int_{x+y=t}U(x, y)dx = \int_{x}f(x)g(t-x)dx
convolute 本身就有使卷绕、使盘旋的意思,在卷积积分 f(x)=∫τh(τ)g(t−τ)dτf(x)=∫τh(τ)g(t−τ)dτf(x)=\int_\tau h(\tau)g(t-\tau)d\tau 中卷的含义在于将 g(τ)g(τ)g(\tau) 翻转成 g(t−τ)g(t−τ)g(t-\tau)
2. 卷积的简单应用
计算两个数的乘法:
第二个等号右边每个括号里的系数构成的序列 (14, 34, 14, 4)(分别对应 100,101,102,103100,101,102,10310^0, 10^1, 10^2, 10^3),其实就是序列 (2,4)(2,4)(2, 4) 和 (7,3,1)(7,3,1)(7, 3, 1) 的卷积。
在乘数不大时这么干显得有点故弄玄虚,不过要计算很长很长的两个数乘积的话,这种处理方法就能派上用场了,因为你可以用快速傅立叶变换 FFT 来得到卷积。
3. 客观世界中的卷积
卷积是大自然中最常见的运算,一切信号的观测、采集、传输和处理都可以用卷积过程模拟。比如,你拍照时手抖了一下(拍照是一种无氧运动),导致照片模糊,实际上等价于手没抖拍摄的正常照片与一个表示手抖的卷积核进行卷积运算的结果:
\begin{split} Y(m, n)=&X(m, n)*H(m, n) \\ = &\sum_{i=-\infty}^{\infty}\sum_{j=-\infty}^{\infty}X(i, j)H(m-i, n-j)\\ = &\sum_{i=-\infty}^{\infty}\sum_{j=-\infty}^{\infty}X(m-i, n-j)H(i, j) \end{split}
卷积及卷积的性质与应用相关推荐
- 卷积神经网络---卷积层、激励层、池化层以及全连接层
文章目录 概述 卷积神经网络 局部连接+权值共享** 输入层 卷积层 激励层 池化层 全连接层 参考资料 概述 这两天在看论文,涉及到卷积神经网络的知识,之前一直对这块迷迷糊糊.看到了一篇博文写的很好 ...
- 卷积神经网络权重是什么,卷积神经网络卷积过程
卷积神经网络算法是什么? 一维构筑.二维构筑.全卷积构筑. 卷积神经网络(ConvolutionalNeuralNetworks,CNN)是一类包含卷积计算且具有深度结构的前馈神经网络(Feedfor ...
- 神经网络 卷积神经网络,卷积神经网络 吴恩达
吴恩达的人物经历 吴恩达1976年出生于伦敦,父亲是一位香港医生,英文名叫AndrewNg,吴恩达年轻时候在香港和新加坡度过. 1992年吴恩达就读新加坡莱佛士书院,并于1997年获得了卡内基梅隆大学 ...
- [Matlab] 线性卷积圆周卷积代码实现
1.线性卷积 周期卷积 圆周卷积的 关系: 2.Matlab实验及现象 圆周卷积: 1 %% 圆周卷积实例程序 2 %% Alimy 2014年11月21日 20:19:12 3 clc; 4 cle ...
- 深度学习卷积网络中反卷积/转置卷积的理解 transposed conv/deconv
搞明白了卷积网络中所谓deconv到底是个什么东西后,不写下来怕又忘记,根据参考资料,加上我自己的理解,记录在这篇博客里. 先来规范表达 为了方便理解,本文出现的举例情况都是2D矩阵卷积,卷积输入和核 ...
- 深度学习 | 反卷积/转置卷积 的理解 transposed conv/deconv
原文:https://blog.csdn.net/u014722627/article/details/60574260 深度学习 | 反卷积/转置卷积 的理解 transposed conv/dec ...
- 【数字信号处理】相关函数与线性卷积关系 ( 卷积概念 | 相关函数概念 | 相关函数与线性卷积对比 | x(-m) 共轭 与 y(m) 的卷积就是两个信号 位移 m 的相关函数 )
文章目录 总结 一.相关函数与线性卷积概念 1.卷积 卷积概念 卷积公式 2.相关函数 互相关函数 自相关函数 二.相关函数与线性卷积关系 1.相关函数与线性卷积对比 2.使用 卷积 推导 相关函数 ...
- DL之DilatedConvolutions:Dilated Convolutions(膨胀卷积/扩张卷积)算法的简介(论文介绍)、架构详解、案例应用等配图集合之详细攻略
DL之DilatedConvolutions:Dilated Convolutions(膨胀卷积/扩张卷积)算法的简介(论文介绍).架构详解.案例应用等配图集合之详细攻略 目录 Dilated Con ...
- DL之CNN:卷积神经网络算法简介之卷积矩阵、转置卷积(反卷积Transpose)、膨胀卷积(扩张卷积Dilated/带孔卷积atrous)之详细攻略
DL之CNN:卷积神经网络算法简介之卷积矩阵.转置卷积(反卷积Transpose).膨胀卷积(扩张卷积Dilated/带孔卷积atrous)之详细攻略 目录 卷积矩阵的简介 卷积.转置卷积--Tran ...
- Dilated/Atrous conv 空洞卷积/多孔卷积
Dilated/Atrous conv 空洞卷积/多孔卷积 原文链接:https://blog.csdn.net/silence2015/article/details/79748729 Dilate ...
最新文章
- 机器视觉应用软件开发步骤及流程
- 如何使用阿里云主机搭建lordofpomelo
- 【原创】源智工作流聚合步骤模型
- python怎么变成文档_python3如何将docx转换成pdf文件
- 90%的程序员都写错的算法-二分查找万能模版
- php封装redis类,php封装redis操作类
- leetcode力扣62. 不同路径
- 杂项-协议-HTTP:GET/POST/PUT/DELETE/INPUT/TRACE/OPTIONS/HEAD方法
- FL Studio的音频录制插件Edison
- 支付宝小程序登录PHP
- 比ietest 更好的浏览器调试工具 Browser Sandbox 使用教程
- 移动的 ipcam 视频无处不在
- 人人开源后台项目maven构建(yyds)
- Word文件的只读模式没有密码怎么退出?
- 网页爬虫实战:全国电动汽车充电站数据
- 王者荣耀扫码登录源码
- windos10系统ISO直装与PE两种方法教程
- 【人脸识别】face_recognition 库的使用
- mysql宕机日志查询_Mysql容器异常宕机
- 如何让自己的浏览器全屏?
热门文章
- Spark Streaming的IDEA操作在spark操作的差别和解决
- mysql导出所有binlog_mysql导入、导出、查看binlog命令
- mysql设置约束l命令_MYSQLl数据库主键设置长度控制_MySQL
- Linux程序安装创建桌面图标
- 图像处理总结:Canny边缘检测(二)
- 消息队列(MQ)原理总结
- windows平台搭建opencv_python
- php ajax 增删改查 分页,Jquery之Ajax_分页及增删改查
- go 函数末尾缺少返回值_伙计们,Go 并没有那么简单?你觉得呢
- 2019-08-12 计划与安排