卷积神经网络的底层是傅里叶变换,傅里叶变换的底层是希尔伯特空间坐标变换
晚上看了一篇关于结合傅里叶变换和Gabor变换卷积神经网络的文章,受益匪浅,在此做个记录。
从卷积到图像卷积再到卷积神经网络,到底卷了什么?
一维信号卷积:当前时刻之前的每一个时刻是如何对当前时刻产生影响的
图像卷积:卷积核的理解:周围像素点是如何对当前像素点产生影响的,不同的卷积核就是规定了不同影响的关键
卷积神经网络:
第一步:识别局部特征,如上图的卷积核,具备提取特征的卷积核,保存某些特征,即对周围像素点的一个主动试探(不同卷积核主动选取)
总结:
1、对一维卷积来说(以吃饭和消化,求胃里食物剩量问题为例):是不稳定输入,稳定输出,求系统存量的问题
2、对于图像处理来说,一个卷积核就是规定了周围像素点是如何对当前像素点产生影响的。
3、不同的卷积核就是规定了不同影响的关键,如何筛选图像的特征
卷积神经网络与傅里叶变换
对输入图像8进行特征提取,分为不同的特征,这样就能区别于全连接神经网络,特征可以重复利用
(1)cnn中隐含的傅里叶变换
cnn的经过学习后的卷积运算过程,就可以理解为傅里叶变换,或者傅里叶级数展开,也即不同正交向量的加权和。卷积核就可以理解维正交向量。
(2)频域里的每一个点都是对全时域范围的特定信息的一个浓缩
(3)CNN感受野与加窗傅里叶变换的关系
变换域做到了与位置无关,但缺点却是全局感受能力太强了,引起变换域的变化波动过大,通过加窗傅里叶变换,可以约束这种全局感受能力。
而加窗后的傅里叶变换,就跟cnn感受野的设计很一致。这样就很能发现局部特征具有的一致性。
y-t与Y-w之间的关系:y-t是不同w下的所有y-t,也就是不同w下的正弦波的叠加。
(4)升维变换,来理解空间域和变换域公式
相同问题,在不同维度空间下表示的区别:二维空间的一条线,在无穷维/高维空间中,只需要一个点就行。
v1,v2,vn就是高维空间下的正交基,无穷维空间的一个点,就是这些正交基不同权重下的加权和(这个地方,变换域的绿色曲线和时域黄色曲线的物理意义是不同的,虽然形状相同,但我认为不能互相表示)
升维不是目的,目的是让二维空间的曲线降维(深度学习里面encoder产生latent space的作用)。
(5)希尔伯特空间(欧几里得空间的扩展)
将低维图像映射到高位空间的一个点,重点不是这个点本身,而是高维空间的点可以用向量进行等价表示。即低位数据可以表示为高维空间的一组向量(正交基的权重集合)。
从时域到频域,相当于在希尔伯特空间(高维空间)做了一次坐标变化。
dn所代表的正交向量,可以用一个具体的向量e^(iwt)表示,这就是傅里叶变换在希尔伯特空间下选择的特殊坐标系(坐标轴),或称选择的特殊正交基。
上述的表示更具一般性。而考虑傅里叶变换选择的正交基e^(iwt),其正交基的模为
所以,将无穷小的累加,转换为积分形式
(6)对傅里叶变换的修改
因为正弦余弦曲线是全局的,以正余弦作为基向量(锚点)去衡量信号,找到的特征,自然是一个全局的特征
那有没有办法对这个基进行修改,让其只考虑局部情况,而不再考虑全局情况?也就是问有窗口范围的基应该如何表示?
简单的方法就是构建一个分段函数g()
为了维持函数表示处处可微,改写函数g()为
a为方差,来决定窗口的大小;s为期望,来决定窗口的位置;n保持不变,代表选择的不同模式 / 不同基向量。这里面用高斯分布作g函数的变换,就是Gabor变换
这里不把窗口的大小作为变量,知识一个参数。因为任何一个具体的
窗口大小,都可以对应的完备的基(n来确定)。
Gabor变换完整表达,g函数的不同就代表了不同的变换
g函数为指数函数,则变化为拉普拉斯变换
如果窗口大小不再固定,也作为一个控制变量,可以根据频率动态变化,这就是小波变换
总结
各种变换的本质,就是在希尔伯特空间下选择了一组基向量,然后对原来的函数进行变换。
具体变换之后有什么特性,能做什么,关键看变换是基于的那组基有什么特点。
回归的最开始的cnn
两个目标:1.特征和位置无关,即位置不同,在变换域中式相同的表示;2.特征应该是局部的。
n代表着变换域下的不同频率,正交基
s代表着在时域上开出的窗口位置,只有把窗口开在相应波形的位置上,才能在变换域有明显的特征(权重)体现。
Gabor变换与cnn参数的对应关系:
黄色f(t):对应原始图片
红色f(n,s): 对应feature map,即基向量的权重
绿色s: 对应中心像素点的位置,卷积核的中心
模式(基向量)g_a(t-s)·e^(int):不同的卷积核,下图模式1到模式4。可由反向传播优化更新得到。
红色a(窗口大小):卷积核的大小,窗口的大小也是二维的
与卷积定理之间的关系
通过多层cnn的叠加,就可以将感受野覆盖到整个图片
参考
[1]: 作者:转身遇到你乄 出处:bilibili
[2]: 王木头学科学的卷积神经网络的底层是傅里叶变换,傅里叶变换的底层是希尔伯特空间坐标变换