四、卷积神经网路 (Convolutional networks (CNN))

卷积神经网路


简单来说,卷积神经网路是神经网路至少有一层的矩阵乘操作替换卷积操作(convolution)

1、卷积操作

卷积操作常见表示形式是两个实值函数之间的操作。下面以一个简单的问题解释卷积操作。

假设我们使用激光传感器来追踪一个飞船的位置,由此得到飞船位置关于时间的函数 x(t)x(t)。并且传感器工作在有噪声的环境里,为了降低噪声的影响,我们将采取加权平均来给予最近测量更大的权重。假设权重函数为 w(a)w(a),其中 aa 是测量发生的时间。我们得到以下公式来预测飞船位置,s(t)=x(a)w(ta)das(t)=\int x(a)w(t-a)\,da上述即为卷积操作,卷积操作可以有 * 表示,则有 s(t)=(xw)(t)s(t)=(x*w)(t)。且在本例中 ww 应为概率密度函数。在卷积神经网路中,xx 函数为输入,wwkernal

在实际问题中,激光传感器的时间是离散的,例如 1 秒一次采样。那么有离散形式的卷积操作,s(t)=(xw)(t)=a=+x(a)w(ta)s(t)=(x*w)(t)=\sum _{a=-\infin}^{+\infin}x(a)w(t-a)在机器学习问题中,输入常是多维的。下面给出卷积操作的二维形式,S(i,j)=(IK)(i,j)mnI(m,n)K(im,jn)S(i,j)=({I*K})(i,j)\sum_m \sum_n I(m,n)K(i-m,j-n)卷积操作是交换,这意味着上式等价于,S(i,j)=(KI)(i,j)mnI(im,jn)K(m,n)S(i,j)=({K*I})(i,j)\sum_m \sum_n I(i-m,j-n)K(m,n)通常,机器学习库的实现形式为后者。许多机器学习库也会实现一个称为 cross-correlation 的相关函数且称其为卷积,S(i,j)=(KI)(i,j)mnI(i+m,j+n)K(m,n)S(i,j)=({K*I})(i,j)\sum_m \sum_n I(i+m,j+n)K(m,n)卷积操作如下图所示,
四、卷积神经网路 (Convolutional networks (CNN))