7.9 参数绑定和参数共享

使用: 1. 参数范数惩罚,例如L2范式的Ω(w(A),w(B))=w(A)w(B)22\Omega(w^{(A)},w^{(B)}) = ||w^{(A)}-w^{(B)}||^2_2 2.

[success] 可以根据先验知识,要求两个任务相似的模型的参数接近

目前为止,本章讨论对参数添加约束或惩罚时,一直是相对于固定的区域或点。 例如,$L^2$正则化(或权重衰减)对参数偏离零的固定值进行惩罚。 然而,有时我们可能需要其他的方式来表达我们对模型参数适当值的先验知识。 有时候,我们可能无法准确地知道应该使用什么样的参数,但我们根据相关领域和模型结构方面的知识得知模型参数之间应该存在一些相关性。

我们经常想要表达的一种常见依赖是某些参数应当彼此接近。 考虑以下情形:我们有两个模型执行相同的分类任务(具有相同类别),但输入分布稍有不同。 形式地,我们有参数为$w^{(A)}$的模型$A$和参数为$w^{(B)}$的模型$B$。 这两种模型将输入映射到两个不同但相关的输出:$\hat y^{(A)} = f(w^{(A)}, x)$和$\hat y^{(B)} = f(w^{(B)}, x)$。

我们可以想象,这些任务会足够相似(或许具有相似的输入和输出分布),因此我们认为模型参数应彼此靠近: $\forall i, w_i^{(A)}$应该与$ w_i^{(B)}$接近。

[success] 使两个模型参数接近的方式有两种: (1)正则化 (2)强迫某些参数相等/参数共享

我们可以通过正则化利用此信息。 具体来说,我们可以使用以下形式的参数范数惩罚: $\Omega(w^{(A)}, w^{(B)}) = ||w^{(A)}-w^{(B)}||_2^2$。 在这里我们使用$L^2$惩罚,但也可以使用其他选择。

这种方法由\cite{LasserreJ2006}提出,正则化一个模型(监督模式下训练的分类器)的参数,使其接近另一个无监督模式下训练的模型(捕捉观察到的输入数据的分布)的参数。 构造的这种架构使得分类模型中的许多参数能与无监督模型中对应的参数匹配。

参数范数惩罚是正则化参数使其彼此接近的一种方式,而更流行的方法是使用约束:\emph{强迫某些参数相等}。 由于我们将各种模型或模型组件解释为共享唯一的一组参数,这种正则化方法通常被称为参数共享。 和正则化参数使其接近(通过范数惩罚)相比,参数共享的一个显著优点是,只有参数(唯一一个集合)的子集需要被存储在内存中。 对于某些特定模型,如卷积神经网络,这可能可以显著减少模型所占用的内存。

[success] 参数共享的优点:显著减少模型所占用的内存。 参数共享方法广泛用于CNN。

卷积神经网络

目前为止,最流行和广泛使用的参数共享出现在应用于计算机视觉的卷积神经网络中。

自然图像有许多统计属性是对转换不变的。 例如,猫的照片即使向右边移了一个像素,仍保持猫的照片。 CNN通过在图像多个位置共享参数来考虑这个特性。 相同的特征(具有相同权重的隐藏单元)在输入的不同位置上计算获得。 这意味着无论猫出现在图像中的第$i$列或$i + 1$列,我们都可以使用相同的猫探测器找到猫。

参数共享显著降低了CNN模型的参数数量,并显著提高了网络的大小而不需要相应地增加训练数据。 它仍然是将领域知识有效地整合到网络架构的最佳范例之一。

我们将会在\chapref{chap:convolutional_networks}中更详细地讨论卷积神经网络。

Last updated