Clustering and Unsupervised Anomaly Detection with l2 Normalized Deep Auto-Encoder Representations

论文链接

前言

我们熟知聚类在模式识别和计算机视觉等领域中是非常重要的任务,随着神经网络的快速发展,兴起了对于聚类深度无监督表示的热潮,目前的许多工作都是在自动编码器的变种上进行的,并且根据编码器部分的低维输出作为聚类部分的输入.这篇文章中展示了对编码器的输出进行l2标准化,从而使得在欧式距离上更加的分散和紧促,从而提高聚类的性能.并将此算法运用到无监督异常检测.

论文解读

此前我们经常应用的l1,l2正则标准是将神经网络权重进行约束,从而防止网络的过拟合问题,此文章也采用一种归一化的技术,但是与l1,l2,以及batch normalization不同,这里的约束是没有参数的,只是简单的将每个激活向量的范数设置为1,然而,它仍然可以作为一种正规化方法,因为它对一些激活的硬约束具有固定的规范。 这有点类似于l2范数正则化。 一个关键的区别在于,在l2范数正则化中,约束的是权重,但在我们的情况下,它适用于激活函数。 另一个关键的区别是我们将激活规范固定为1,而l2范数正则化会对大权重规范进行惩罚,并且不会将规范固定为任何值。这里个人觉得此篇论文的重要点是提出了一种类似正则化的方法,从而间接提升了分类算法性能.

下面我们介绍本文用到的自编码器结构及相应数学公式:

自编码器回归 自编码器聚类_自编码器


其中 I 为自动编码器的输入数据, f() 代表了激活函数或者卷积的操作,E(I)代表编码器部分的输出(论文是对这一部分做了操作).

自编码器回归 自编码器聚类_无监督学习_02

同理其中 I 为自动编码器的输入数据, g() 代表了激活函数或者卷积的操作,D(E(I))代表解码器部分的输出,既重构的输入.

自编码器回归 自编码器聚类_自编码器_03


L为整体的loss,即重构误差.ok,下面介绍重点!!!

自编码器回归 自编码器聚类_正则化方法_04


Ec 也就是我们经过对编码器的输出E(I)进行变换所得到的输出.然后重新构造损失函数Lc.

接下来我们看一下运用了L2标准化与没用的L2变转化对于分类的区别(实验数据采用MNIST)

自编码器回归 自编码器聚类_异常检测_05


从图中可以看出,训练期间的l2归一化(图c)导致更多可分离的簇。 一个例子是MNIST数据集中数字7的分布。 请注意,数字用颜色代码表示,颜色条在图1中可用。清楚地观察到,在训练期间没有标准化(图a),数字7被分成两部分,其中小部分被包围 在数字8,9,6和2之间。 在训练后应用标准化(图b),这种效果变得更加明显。 因此,我们在此清楚地观察到,在训练之后应用标准化根本没有帮助。 但是,在训练期间由于l2归一化约束(图c),我们看到数字7与其余数字明显分离为单个群集。 此外,可以观察到,与其他簇相比,图c中的簇更紧凑以下为运用聚类方法和无监督方法的流程图:

自编码器回归 自编码器聚类_自编码器_06

自编码器回归 自编码器聚类_无监督学习_07