权重的变化 在传统的多层感知机中,每个输入节点与每个输出节点之间通常通过一个权重矩阵连接。这种结构适合处理一维数据,但对于保持图像的空间结构则不够有效。因此,文中提到需要使用一个四阶权重张量 W W W替换传统的权重矩阵。
四阶权重张量 四阶权重张量 W W W可以理解为一个高维数组 ,其中包含了更多的维度来适应图像处理的需要 。在图像处理中,每个"隐藏神经元"(即 H H H中的每个元素)需要接收到来自 X X X中每个像素的信息。为了实现这一点,权重张量 W W W不仅记录了从输入到输出的连接强度,而且还能够处理输入数据的空间关系。这使得模型可以更有效地捕捉图像中的空间和视觉模式。
首先,多层感知机的输入是二维图像 X X X,其隐藏表示 H H H在数学上是一个矩阵,在代码中表示为二维张量。 其中 X X X和 H H H具有相同的形状。 为了方便理解,我们可以认为,无论是输入还是隐藏表示都拥有空间结构。
使用 [ X ] i , j [X]{i,j} [X]i,j和 [ H ] i , j [H]{i,j} [H]i,j分别表示输入图像 和隐藏表示 中位置 ( i , j ) (i,j) (i,j)处的像素。 为了使每个隐藏神经元都能接收到每个输入像素的信息,我们将参数从权重矩阵(如同我们先前在多层感知机中所做的那样)替换为四阶权重张量 W W W( W W W是全连接层的权重)。假设 U U U包含偏置参数,我们可以将全连接层形式化地表示为:
(以前是变成一维向量,现在是二维,所以现在是遍历 k k k和 l l l这两个维度来求和。)
其中,从 W W W到 V V V的转换只是形式上的转换,因为在这两个四阶张量的元素之间存在一一对应的关系。我们只需重新索引下标 ( k , l ) (k,l) (k,l),使 k = i + a k=i+a k=i+a、 l = j + b l=j+b l=j+b,由此可得 [ V ] i , j , a , b = [ W ] i , j , i + a , j + b [V]{i,j,a,b}=[W]{i,j,i+a,j+b} [V]i,j,a,b=[W]i,j,i+a,j+b。索引 a a a和 b b b通过在正偏移和负偏移之间移动覆盖了整个图像。对于隐藏表示中任意给定位置 ( i , j ) (i,j) (i,j)处的像素值 [ H ] i , j [H]{i,j} [H]i,j,可以通过在 x x x中以 ( i , j ) (i,j) (i,j)为中心对像素进行加权求和得到 ,加权使用的权重为 [ V ] i , j , a , b [V]{i,j,a,b} [V]i,j,a,b。
上面描述的是如何使用一个二维卷积核来在多层感知机中处理图像数据,这里的重点是用来计算隐藏层 H H H的公式。
公式的解释如下:
H \] i , j \[H\]_{i,j} \[H\]i,j 表示隐藏层在位置 ( i , j ) (i,j) (i,j)的值。
W i , j , k , l W_{i,j,k,l} Wi,j,k,l 是一个四阶权重张量,表示输入像素 ( k , l ) (k,l) (k,l)对于隐藏层位置 ( i , j ) (i,j) (i,j)的影响权重。
X \] k , l \[X\]_{k,l} \[X\]k,l 是输入图像在位置 ( k , l ) (k,l) (k,l)的像素值。
这里的求和操作遍历所有的输入像素 , [ W ] i , j , k , l × [ X ] k , l [W]{i,j,k,l} \times [X]{k,l} [W]i,j,k,l×[X]k,l
表示输入像素 ( k , l ) (k,l) (k,l)对隐藏层位置 ( i , j ) (i,j) (i,j)的贡献。
上面还提到了一种简化形式的权重表示,用 V i , j , a , b V_{i,j,a,b} Vi,j,a,b替换 W i , j , k , l W_{i,j,k,l} Wi,j,k,l,并且假设:
这里的 a a a和 b b b表示相对于中心位置 ( i , j ) (i,j) (i,j)的偏移量。因此,简化后的卷积公式变为:
这实际上是一个典型的卷积操作 ,其中 V i , j , a , b V_{i,j,a,b} Vi,j,a,b是卷积核,而 [ X ] i + a , j + b [X]_{i+a,j+b} [X]i+a,j+b是输入图像在卷积核覆盖的区域内的像素。这种表示方式在实际的图像处理和神经网络中被广泛使用,因为它可以有效地利用图像的局部空间关系,同时减少模型中的参数数量。
平移不变性
不管探测的 ( i , j ) (i,j) (i,j)移动到哪里, [ V ] a , b [V]_{a,b} [V]a,b是不变的。
权重共享 在卷积神经网络中,同一个卷积核(包含权重 V a , b V_{a,b} Va,b)在整个输入图像上滑动,用于提取特征。这意味着相同的权重被用来处理输入数据的不同部分,这样做极大地减少了模型的参数数量,因为不需要为每个像素或区域学习一个独立的权重集。权重共享也有助于提高模型的训练效率和泛化能力。
其实这里也可以叫做二维的交叉相关。即输出的像素是等于输入的对应像素以它为中心作偏移,和模式 [ V ] a , b [V]_{a,b} [V]a,b作内积。