普通的神经网络(全连接网络):只能处理向量,因而需要把常见的把图像、音频等高维输入数据展开成向量才能输入给神经网络,这大大破坏了数据在空间上的位置信息。
卷积和反卷积:使得神经网络能够处理二维以上的数据,因而能够保持数据在空间上的位置信息。另外,权重共享使得网络参数大大减少,从而降低了计算复杂度。
卷积
首先假设对于卷积,已知:
input size i1=i2=i
kernel size k1=k2=k
stride s1=s2=s
padding size p1=p2=p
首先来看两个例子:
1) (i=5,k=3,s=1,p=1) -> (o1=o2=o=3)
2) (i=7,k=3,s=2,p=1) -> (o1=o2=o=3)
卷积层输入特征与输出特征尺寸与卷积核参数的关系为:
o=⌊i+2p−ks⌋+1
卷积与矩阵乘法的关系
考虑如下一个卷积运算。 (i=4,k=3,s=1,p=0) -> (o=2)
对于上述卷积运算,我们把上图所示的3×3卷积核展成一个如下所示的[4,16]的稀疏矩阵 C, 其中非0元素 wi,j 表示卷积核的第i行和第j列:
C=
⎡⎣⎢⎢⎢⎢w0,0000w