卷积
卷积定义
示例:一个激光传感器输出 $x(t)$,表示宇宙飞船在时刻 $t$ 的位置的观测结果。假设传感器包含噪声,则 $x(t)$ 与飞船在时刻 $t$ 的真实位置有偏离。
可以利用观测结果的均值来估计飞船的位置。假设越近的观测结果越相关,于是对最近的观测结果赋予更高的权重。
令 $w(a)$ 为权重函数,其中 $a$ 表示观测结果距离当前时刻 $t$ 的间隔,则得到时刻 $t$ 飞船真实位置的估计:
$s (t) = \int x (a) w (t-a) da$
这种运算就称作卷积convolution,用符号星号 表示。
理论上 可以为任意的实值函数,但是在这个示例中要求:
- 是个有效的概率密度函数,否则 就不是一个加权平均。
- 在自变量为负数时,取值为零。否则涉及到未来函数,因为激光传感器只能输出 时刻之前的观测结果。
-
通常当计算机处理数据时,连续的数据会被离散化,因此时间 只能取离散值。
假设 都是定义在整数时刻 上,则得到离散形式的卷积:
实际操作中,因为只能存储有限的数据,所以这些函数的值在有限的点之外均为零。因此无限级数的求和最终是有限级数的求和。
-
在卷积神经网络中,函数 称作输入,函数 称作核函数,输出有时被称作特征图
feature map。 -
可以对多个维度进行卷积运算。
如果二维图像 作为输入,则需要使用二维核函数 ,卷积运算的输出为:
其中 表示二维图像 的像素点的坐标, 表示该坐标处的像素值。
-
通常 的尺寸较大,如 ;而 的尺寸较小,如
-
因为卷积是可交换的,所以可以等价写作:
这称作翻转
flip了核。卷积的可交换性在数学证明中有用,但是在神经网络中很少使用。
-
1.1.2 数学卷积与矩阵乘法
-
离散卷积可以视作输入矩阵与一个特殊的核矩阵的乘法。
-
对于一维的离散卷积,核矩阵的每一行必须和上一行移动一个元素后相等。
这种类型的矩阵叫做
Toeplitz矩阵。 -
对于二维的离散卷积,核矩阵对应着一个双重块循环矩阵。
该矩阵大部分元素相等,且非常稀疏(几乎所有元素都为零)。
-
-
卷积运算可以转换成矩阵乘法,所以不需要对神经网络库的实现作出大的修改。
1.1.2.1 一维卷积和矩阵乘法
-
循环矩阵的定义:
可以利用循环矩阵求一维卷积。
-
假设有两个长度分别为 和 的序列 和 , 则一维卷积为:
卷积的长度为 。
-
首先用 0 扩充序列 :
-
由于用 取卷积 ,因此构造 的循环矩阵:
这里列优先,因此第一列是完全顺序的。
-
一维卷积为:
其中 。
-
1.1.2.2 二维卷积和矩阵乘法
-
二维卷积:
假设 :
-
先将 扩充到 维:。扩充之后的新矩阵为 。其中:
-
用 构造一个列向量 :将 的第一行转置之后将其成为 的前 个元素;接下来是第二行的转置….第 行的转置。
-
将 中的每一行,都按照一维卷积中介绍的循环矩阵生成的方法构成一个 的循环矩阵。这些矩阵记做: 。
-
用这些循环矩阵构造一个大的块循环矩阵:
-
计算: 。将 的结果分配到 的各行(与构造 相反的过程),即得到二维卷积。
-
1.2 神经网络卷积
-
No backlinks found.