假设分类样本有这样的性质:在同一个流形上的样本分类相同,不同流形上的样本分类不同。则分类器会有这样的特点:对于样本的局部变化不敏感。即:样本在流形上的移动时,分类器的输出不变。
假设样本 的流形为 ,样本 的流形为 。则这两个点的距离定义为:流形 到流形 的距离。
问题是计算两个流形的距离代价很高,因为它要求解两个集合的最近点。一个替代方案:用 点的切平面来近似 , 然后测量两个切平面的距离(或者一个切平面到一个点的距离)。
受切面距离算法的启发,正切传播算法训练神经网络分类器的策略是:使得神经网络的输出 沿着同样类别样本所在的流形上移动时,保持局部不变性。
- 局部不变性:要求输出 沿着流形的方向变化很小。即: 在流形的切向的分量为零。
-
这里并没有严格要求其为零,而是比较小即可。
是这样算出的:
- 首先根据样本的类别来分成不同的流形。
- 然后找出 在本流形的近邻点来计算出梯度。
正切传播算法和人工数据集增强(如:沿着 轴的平移)都要求模型对于输入变化的某些特定的方向是不变的。
- 正切传播算法要求模型对于输入位于流形切平面上的所有方向上的小变化都是不变的。
- 正切传播算法能够抵抗较大扰动。