一、 数学上的卷积->cnn上的卷积
数学意义上的卷积:
一维:
( f ∗ g ) ( t ) = ∫ − ∞ ∞ f ( τ ) g ( t − τ ) d τ ( 连续形式 ) ( f ∗ g ) ( t ) = ∑ ı = − ∞ ∞ f ( τ ) g ( t − τ ) ( 离散形式 ) \begin{aligned}&(f * g)(t)=\int_{-\infty}^{\infty} f(\tau) g(t-\tau) d \tau(\text { 连续形式 })\\&(f * g)(t)=\sum_{\imath=-\infty}^{\infty} f(\tau) g(t-\tau)(\text { 离散形式 })\end{aligned} (f∗g)(t)=∫−∞∞f(τ)g(t−τ)dτ( 连续形式 )(f∗g)(t)=ı=−∞∑∞f(τ)g(t−τ)( 离散形式 )
二维离散卷积(卷积核为3x3矩阵时):
( f ∗ g ) ( 1 , 1 ) = ∑ k = 0 2 ∑ h = 0 2 f ( h , k ) g ( h , k ) (f * g)(1,1)=\sum_{k=0}^{2} \sum_{h=0}^{2} f(h, k) g(h, k) (f∗g)(1,1)=k=0∑2h=0∑2f(h,k)g(h,k)
cnn中的卷积:
借鉴数学上的卷积“加权求和“思想,实际上是把数学上的卷积核以中心元素为中心,中心对称之后得到的新卷积核做数学上的二维离散卷积运算。但是因为本身cnn中的卷积核就是不固定的、需要训练的内容,所以不进行中心对称也没有问题。
二、 在graph上做卷积的问题
问题: 非欧式空间上,邻居节点不固定,欧式空间上的卷积核无法使用。
解决方案:
1.将非欧式空间映射到欧式空间来解决
2.找出一种可以处理非欧式空间的卷积核
三、 频域的处理方法:将非欧式空间的graph转换到欧式空间的频域上来处理
在欧式空间中,与傅里叶变换相关的卷积定理如下:
( f ∗ g ) ( t ) = F − 1 { F { f } ⋅ F { g } } (f * g)(t)=F^{-1}\{F\{f\} \cdot F\{g\}\} (f∗g)(t)=F−1{
F{
f}⋅F{
g}}
即: 两个函数的卷积等于两个函数进行傅里叶变换之后做乘积的傅里叶逆变换。
通过这个公式就可以将卷积写成乘积的形式,如果可以应用在graph上就可以解决图上的卷积问题。
其中傅里叶变换
F [ f ] = f ^ ( t ) = ∫ f ( x ) exp − 2 π i x t d x F[f]=\hat{f}(t)=\int f(x) \exp ^{-2 \pi i x t} d x F[f]=f^(t)=∫f(x)exp−2πixtdx
傅里叶逆变换
F − 1 [ f ^ ] = f ( x ) = ∫ f ^ ( t ) exp 2 π x ˙ t d t F^{-1}[\hat{f}]=f(x)=\int \hat{f}(t) \exp ^{2 \pi \dot{x} t} d t F−1[f^]=f(x)=∫f^(t)exp2πx˙tdt
傅里叶变换实际上是把f(x)映射到了以 { exp − 2 π i x t } \left\{\exp ^{-2 \pi i x t}\right\} {
exp−2πixt}为基向量的空间中。
注:由欧拉公式 e i x = cos x + i sin x e^{i x}=\cos x+i \sin x eix=cosx+isinx 可将傅里叶级数的基 { 1 , cos x , sin x , cos 2 x , sin x , … , cos n x , sin n x , … } , n ∈ Q \{1, \cos x, \sin x, \cos 2 x, \sin x, \ldots, \cos n x, \sin n x, \ldots\}, n \in \mathbb{Q} {
1,cosx,sinx,cos2x,sinx,…,cosnx,sinnx,…},n∈Q
写成
{ exp − 2 π n x } , n ∈ Z \left\{\exp ^{-2 \pi n x}\right\}, n \in \mathbb{Z} {
exp−2πnx},n∈