论文部分内容阅读
虽然生成对抗网络(Generative Adversarial Network,简称GAN)已经被广泛应用于很多实际领域,但是GAN仍然存在缺陷导致无法生成高质量的模拟数据。虽然当前GAN的变体尝试解决这个问题,但是他们在实际运用中仍然存在不少问题。现存的GAN的变体或存在梯度负数(如WGAN)或者生成的数据仍然存在相同图片或者图片模糊等问题(如MGAN)。本文研究的对象主要是在三个方面,即如何解决GAN小样本生成及评估问题,如何解决GAN存在的模型崩溃和梯度消失问题。(1)本文提出了一个新的规范化惩罚函数来迫使生成器生成带有极小异常点的负样本,以及将Droupout函数和生成器融合以此生成高维稀疏数据。另外,针对不同领域数据特点,本文设计了不同的生成数据评估模型。首先,本文研究了如何把GAN应用在小样本数据(包括工业领域的布匹和气缸缸体数据以及医疗领域的癌症基因数据)。这两个数据的共同点是可用数据搜集十分昂贵,这就导致很难在实际工作中训练一个机器人去替代人的工作。不同点是,工业领域中的数据属于imbalanced dataset,即不平衡数据。其意味着次品数量非常少而正品数量非常多。另外,工业领域中的次品和正品的最大区别是由于机器原因每个次品仅仅有一个占比很小的异常域(异常域/整张图片≈1/2000)。因此本文将此类数据集称为extremely imbalanced dataset,我们称之为极不平衡数据。而传统的不平衡数据里,以DCGM数据集为例,其属于不平衡数据,异常域占比约为≈1/23。对于极不平衡数据来说,传统GAN及其变体很难生成那个占比很小的异常域。为了解决这个问题,本文设计了一个新的约束函数,即将异常域和从生成图片里截取同样大小面积物的差值融入到GAN训练之中,去迫使生成器G生成带有异常域的样本。另外,为了评估生成数据是否可以作为真实数据的补充,本文采用Faster-RCNN作为评估模型。其次,对于癌症基因数据来说,一般将其视为一个高维的稀疏数字矩阵。如本文研究的卵巢癌数据,其特征数量达到9850而病人却只有372个。另外,癌症数据不同于其余领域的数据,其主要有两部分组成。第一个集合是基因数据集,主要是医生利用DNA检测技术确诊病人患病,第二个集合是病患对应的临床数据,主要包含了每个病人的生存状态和存活时间。在基因数据集里,每一列代编一个基因组,如果观察到某个病人对应的基因组发生变异则对应值为1,否则为0。因此,其对应的数据密度为0.6%。本文将探究如何利用GAN生成具有稀疏特性的模拟数据,并探究如何利用Network-based Stratification和KaplanMeier算法评估生成的稀疏模拟数据。(2)针对GAN梯度消失问题,本文构造一个含有原始数据分布的随机空间,并从此空间进行采样去合成新数据。本文研究了如何解决GAN梯度消失问题。当GAN训练的时候,GAN的损失函数(loss function)只是确保了生成器(generator)可以被训练为一个映射函数,其作用是把一组噪音(noise)从随机空间(randomized space)映射到原始数据空间(original data space)。为了衡量转换后的数据和真实数据的距离,GAN利用Jensen-Shannon divergence(简称为JS-divergence)来测量生成数据和真实数据的相似度。其值越小,则代表生成的数据越和原始数据相似。但是,当生成分布和原始数据的分布在映射空间不存在覆盖区域(overlapping area)时,JS散度是个常量,无法反映两个分布的真实距离。为了确保解决这个问题,本文设计了一个带有原始数据特征信息的噪音分布。考虑到噪音分布是包含在生成数据的分布里,因此在GAN训练的过程中可以避免出现可以忽略的覆盖域。具体是,本文采用Non-negative matrix factorization(NMF)对原始数据进行分解得到基矩阵W,然后从(0,1)均匀分布采样噪音,并将此基矩阵W和噪音进行融合形成新的输入。生成器G将此新的输入转化为模拟数据。本方法在MNIST(1×28×28),CIFAR10(3×32×32)和Celeba(3×128×128)数据集上验证了提出的方法的有效性。(3)针对GAN模型崩溃问题,本文雇佣多个生成器,并利用互信息技术迫使这些生成器互斥地学习数据的不同流形,使得生成的数据多样性丰富本文研究了如何解决GAN的模型崩溃问题。一般来说,真实数据拥有一组离散的流形。而GAN模型往往只能学到几个甚至一个真实数据的流形,因为损失函数(loss function)只是保证了GAN生成了以假乱真的模拟数据。至于模拟数据的质量则没有考虑。因此,为了实现GAN可以学习真实数据的所有流形,本文提出了multi-generator mutual information GAN。采用互信息(mutual information)是用来防止生成器(generator)去学习同一个流形。因为我们期待不同的生成器去学习不一样的流形。为了可以同时训练多个网络(generators和discriminator),本文重新设计了minimax formula。另外,为了评估生成数据的多样性,本文采用最大均方差(Maximum Mean Discrepancy,也称之为MMD)来计算生成数据和原始数据的相似度。相关实验结果验证了提出的方法的有效性。最后,本文将对提出的方法进行详细讨论,并分析各种评估方式的优点和不足之处。