学号:19011210109
姓名:苑航
嵌牛导读:大数据时代,需要对样式繁多,数目巨大的数据集进行处理。其中,数据扩充技术,可以作为一种关键技术,可以应用的场景包括并不限于对有限数据集的扩充,异常信号的检测等。这里介绍了一种基于对抗自动编码器(AAE)的DOPING算法的小样本数据扩充技术。
嵌牛鼻子:基于对抗自动编码器(AAE)的DOPING算法的小样本数据扩充技术
嵌牛提问:这里只是选了一篇关于大数据的论文进行解读,希望能抛砖引玉,相互学习。
一种基于对抗自动编码器(AAE)的DOPING算法的小样本数据扩充技术。技术方案示意图如图1所示。
本技术使用一种称为对抗自动编码器(AAE)的GAN变体,将高维多峰数据分布X转换为具有明确尾部概率的低维单峰潜在分布Z。然后,我们在潜在分布的“边缘”系统地对样本进行过采样,以增加不频繁的正常样本的密度。从而扩大数据集,减少对靠近边界的样本进行错误分类。
DOPING算法主要分为三个模块,首先对输入训练集X (要扩充的对象)在AAE进行编码,挖掘出潜在变量信息Z,然后将求X的边缘样本转移到求Z的边缘样本Zedge,并对进行插值,在潜在空间Z就实现了边缘样本的密度的增加,最后将AAE第一层的输出结果和第二层输出结果Xsynth相加,得到了扩充后的数据集X。下面对各个模块进行详细说明。
A.编码输入样本X
对抗自编码器(AAE, Adversarial Autoencoder )不同于自编码器(AE, Autoencoder), 具有两层结构,如下图2所示:
第一个模块只使用了第一行的自编码器,将训练集X通过AE,对其编码,生成一个潜在向量Z用于下一步的插值(这里假设该变量满足概率分布q(z)),然后解码器会尝试对这个潜在向量Z进行解码,重新生成数据。
B.扩充潜在空间Z
通过将求训练集X的边缘样本转移到求由AAE编码器生成的潜在空间Z的边缘样本上,并对Zedge进行插值,在潜在空间就实现了增加了边缘样本的密度,实现小样本数据扩充。
分两步,一是采样Z得到来自边缘潜在向量Zedge的样本集合,经查阅文献可知,通过潜在向量的范数对Z进行滤波,可以形成子集Zedge。方法如下,
其中,按如下方法固定β和α:将β大小设置为3个标准差,该标准差大于训练集的潜在矢量范数的平均值;将α设置为处于第90个百分位数后其余潜在向量的范数。
第二步,对边缘Zedge进行插值,插值方案如下: Zedge集合潜在分布的尾端附近邻域的潜在向量zNN,将其扩充为集合Zsynth。设样本服从分布,zsample是集合Zedge中挑选出要插值的向量,按如下公式进行插值:
将Zedge扩充为集合Zsynth。
C.合成样本Xsynth
由图2,AAE需要第二层生成器来将扩充后的潜在空间解码为扩充数据集样本。
设训练集X的潜在空间Z服从q(z)概率分布, p(z)是我们想要对扩充集合施加的先验分布,判别器D通过不断学习,预测输入的z来自于负样本(服从q(z)概率分布)还是正样本(服从预定义的p(z)概率分布)。由于这里的p(z)可以是任何我们可以生成的一个概率分布,因此整个对抗学习过程实际上可以认为是通过调整编码器不断让其产生数据的概率分布q(z)接近我们预定义的p(z),当模型训练完成后,由于p(z)与q(z)十分相近,因此可以直接通过p(z)产生我们需要的随机潜在向量,最后借助于解码器产生一个类样本数据。
将合成样本Xsynth添加到原始数据集X,
然后就完成了数据扩充。使用扩充后的数据可以用于各类异常检测算法。