九、正切传播算法

  1. 切面距离算法是最近邻算法的一种,其中的度量使用的不是通用的欧几里得距离,而是流形距离。

  2. 假设分类样本有这样的性质:在同一个流形上的样本分类相同,不同流形上的样本分类不同。则分类器会有这样的特点:对于样本的局部变化不敏感。即:样本在流形上的移动时,分类器的输出不变。

  3. 假设样本 九、正切传播算法 - 图1 的流形为 九、正切传播算法 - 图2,样本 九、正切传播算法 - 图3 的流形为 九、正切传播算法 - 图4。则这两个点的距离定义为:流形 九、正切传播算法 - 图5 到流形 九、正切传播算法 - 图6 的距离。

    问题是计算两个流形的距离代价很高,因为它要求解两个集合的最近点。一个替代方案:用 九、正切传播算法 - 图7 点的切平面来近似 九、正切传播算法 - 图8, 然后测量两个切平面的距离(或者一个切平面到一个点的距离)。

  4. 受切面距离算法的启发,正切传播算法训练神经网络分类器的策略是:使得神经网络的输出 九、正切传播算法 - 图9 沿着同样类别样本所在的流形上移动时,保持局部不变性。

    • 局部不变性:要求输出 九、正切传播算法 - 图10 沿着流形的方向变化很小。即: 九、正切传播算法 - 图11 在流形的切向的分量为零。
    • 对于样本点 九、正切传播算法 - 图12,其流形切向量为 九、正切传播算法 - 图13。则局部不变性要求 九、正切传播算法 - 图14九、正切传播算法 - 图15 正交。
  5. 正切传播算法的正则化惩罚项 九、正切传播算法 - 图16 要求 九、正切传播算法 - 图17九、正切传播算法 - 图18九、正切传播算法 - 图19 方向的导数是较小的:

    九、正切传播算法 - 图20

    • 这里并没有严格要求其为零,而是比较小即可。

    • 九、正切传播算法 - 图21 是这样算出的:

      • 首先根据样本的类别来分成不同的流形。
      • 然后找出 九、正切传播算法 - 图22 在本流形的近邻点来计算出梯度。
  6. 正切传播有两个主要缺点:

    • 模型的正则化只能抵抗无穷小的扰动。因为若扰动较大,则可能切平面变化较大。

      作为对比:显式的数据集增强能够抵抗较大扰动。

    • 梯度沿着切向方向分量很小的假设对于采用了relu单元的模型是困难的。因为 relu单元的导数与 九、正切传播算法 - 图23 无关,是个常数。

      sigmoid或者tanh单元就没有这个问题,因为可以通过采用大权重在饱和区来收缩导数。

  7. 正切传播算法和人工数据集增强(如:沿着 九、正切传播算法 - 图24 轴的平移)都要求模型对于输入变化的某些特定的方向是不变的。

    • 正切传播算法要求模型对于输入位于流形切平面上的所有方向上的小变化都是不变的。
    • 正切传播算法能够抵抗较大扰动。
  8. 流形正切分类器:使用自编码器通过无监督学习来学习流形的结构,然后使用正切传播算法来正则化神经网络分类器。