- 卷积有一种模糊(粗粒度)的效果,这种模糊化(忽视掉一些不必要的细节,在加上 maxpooling 的存在,又会去捕捉最显著的特征,这种忽略次要目标,突出重要目标)。也就是 CNN 天然具有的性质,当其应用在 Text(文本处理)时,比如 fraud detection,欺诈检测,一个人抄袭别人的答案,但又机智地做了一些修改的动作(会被 conv,忽视),但一些核心的东西,两人之间一样的内容(执行 maxpooling 时),会被检测出来。
1. 定义
一维离散型信号的卷积
推广到二维(2D):
换一种写法:
卷积表达的是两信号序列的相互作用的结果,卷积得到的结果( o[n] o [ n ] )和原始的信号长度( f[n],g[n] f [ n ] , g [ n ] )保持一致。
2. 卷积的计算
只需记住一点,两个一维信号进行卷积, x⋆h=∑kx[k]⋅h[n−k] x ⋆ h = ∑ k x [ k ] ⋅ h [ n − k ] , h[n−k] h [ n − k ] 可以理解为 h[k] h [ k ] 的一种反转和移位的形式。
已知下面两个序列,
也即先对 h[n] h [ n ] 进行翻转得, [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+f2 f 1 + f 2 )=filter( f1 f 1 )+filter( f2 f 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 ) 卷成一元函数 V(t) V ( t ) ,套用互联网界十分流行的一个词汇,叫降维打击;
那么如何卷呢?考虑到 f f 和 应该平等,或者说对其所关于的变量 x x 和 没有理由区别对待,因此一种可取的方法就是沿直线 x+y=t x + y = t 卷起来:
V(t)=∫x+y=tU(x,y)dx=∫xf(x)g(t−x)dx V ( t ) = ∫ x + y = t U ( x , y ) d x = ∫ x f ( x ) g ( t − x ) d xconvolute 本身就有使卷绕、使盘旋的意思,在卷积积分 f(x)=∫τh(τ)g(t−τ)dτ f ( x ) = ∫ τ h ( τ ) g ( t − τ ) d τ 中卷的含义在于将 g(τ) g ( τ ) 翻转成 g(t−τ) g ( t − τ )
2. 卷积的简单应用
计算两个数的乘法:
第二个等号右边每个括号里的系数构成的序列 (14, 34, 14, 4)(分别对应 100,101,102,103 10 0 , 10 1 , 10 2 , 10 3 ),其实就是序列 (2,4) ( 2 , 4 ) 和 (7,3,1) ( 7 , 3 , 1 ) 的卷积。
在乘数不大时这么干显得有点故弄玄虚,不过要计算很长很长的两个数乘积的话,这种处理方法就能派上用场了,因为你可以用快速傅立叶变换 FFT 来得到卷积。
3. 客观世界中的卷积
卷积是大自然中最常见的运算,一切信号的观测、采集、传输和处理都可以用卷积过程模拟。比如,你拍照时手抖了一下(拍照是一种无氧运动),导致照片模糊,实际上等价于手没抖拍摄的正常照片与一个表示手抖的卷积核进行卷积运算的结果: