【生成式对抗网络+缺失数据】GAMIN:生成对抗多重插补网络,用于高度缺失数据
论文总结
1、提出了GAMIN,并用于高度缺失数据,在MNIST和CELEA两个图像数据集中评估了模型性能;
2、核心创新点:
处理高缺失率:当缺失率很高(比如90%)时,直接用一个网络学习填补会非常困难。GAMIN采用了两步策略:先“猜”一个大概(用GG),再“改”得更合理(用II)。
置信度预测:这是论文最重要的贡献。由于高缺失率下,一个缺失图像可能有多个合理的填补(比如缺失的像素可能属于数字8或9),GAMIN会为同一个输入生成多个候选填补(重复运行GG和II多次)。然后,它根据“工作量”——即从粗糙填补 x~x~ 到精修结果 x^x^ 变化了多少——来给每个结果打分。变化越小的,说明初始猜测越准,置信度越高。最后只输出置信度最高的几个结果(Top-k填补)。
对抗训练:用两个判别器,从不同角度保证生成数据的质量:DGDG 确保候选填补 gg 本身像真实数据;DIDI 确保最终的填补结果 x^x^ 也像真实数据。
摘要
我们提出了一种针对高度缺失数据的新型插补方法。尽管大多数现有的补值方法关注中等缺失率,但对于高缺失率超过80%的插补仍然重要且具有挑战性。鉴于我们预期多重插补对于高缺失率是必不可少的,我们提出了基于生成对抗性网络(GAN)的生成对抗多重插补网络(GAMIN)。与采用GAN的类似插补方法相比,我们的方法有三项新颖贡献:1)我们提出了一种新的插补架构,能够生成插补候选。2)我们提出了一种信心预测方法,用于进行可靠的多重补补。3)我们用GAMIN实现它们,并基于置信度使用新颖的损失函数进行训练。我们利用MNIST和CelebA综合了高度缺失的数据集,进行了各种实验。结果显示,我们的方法在80%至95%的高缺失率下优于基线方法。
引言
在许多测量案例中,数据是由于各种原因部分被观测到的缺失数据。为了处理这些缺失数据,补值将缺失数据转换为完整数据,以便进一步处理而不丢弃缺失值。有许多补补方法,这些方法仍在研究中,最近尤其在深度学习领域。有多种直接方法,如零插补、均值插补和甲板补补。零插补将每个缺失值替换为零,平均插补则用观测值的平均值替换每个缺失值。deck插补从候选补值堆中进行选择[1]。其中最有前景但不直接的方法之一是回归补补,它基于观察值估计缺失值。近年来,大多数补补方法采用回归补补,因为它能够适当处理多元缺失数据并学习缺失值的统计数据。补美方法可分为单一补补和多补补法。单一补补方法表示,每一个缺失的数据对应一个完整数据。另一方面,多重补补方法建议对应一个缺失数据,包含多个完整数据集合。在这种情况下,每个插补都是独立处理的,对应的结果会合并成一个结果[2]。从数据集中学习是回归补值方法中最重要的部分之一 [3, 4, 5, 6]。在深度学习文献中,有两种主要方法来从大数据集中学习补值。首先,深度自编码器用于监督学习,从完整数据集中学习[7],排除无监督版本[8]。其次,基于近期流行的生成对抗网络(GAN)[9],生成器输入缺失数据,判别器预测[10]中的缺失。在[11]的补补方法中,生成器通过填补缺失数据来欺骗判别器,从而区分由另一个称为misGAN生成的假完整数据。同样,[12] 使用判别器进行多元时间序列缺失数据补补,该判别器区分补补与实际缺失数据。本文重点关注高度缺失数据的补值,这是一个具有挑战性的问题。根据给定数据集的结构化或分布程度,对于高度缺失的数据集,多重补补是理想的,因为高缺失率使缺失值的分布呈多模态。例如,MNIST [13] 的数字几乎难以识别,缺失率达90%,甚至人类也可能在多个候选数字之间感到混淆。我们还采用了缺失数据补值的GAN技术。虽然[10]和[11]的补补架构相同,但我们提出了一种新的补补架构,使得通过生成器运行。虽然[11]在训练过程中还有另一个生成器用于生成假完整数据,但我们的补本架构生成器同样在测试过程中工作。这种架构激发了一种新的置信度预测方法。因此,我们的方法有三个主要提案:1)新颖的补补架构,2)基于补补架构的置信度预测,3)针对我们的多重补补网络GAMIN的学习与推断方法。澄清一下,这三者是为高度缺失数据集的多重补补的无监督学习而设计的。 在第二部分,我们描述了相关工作的细节,特别是针对[10]和[11]。在第三部分,我们提出问题。在第四部分,我们分析缺失性和补缺结构的一般性。在第五节中,我们详细介绍了GAMIN的细节,包括我们的补位架构和置信度预测。最后,在第6节,我们展示了MNIST [13]和CelebA [14]数据集的实验结果。
相关工作
本节简要介绍了GAIN[10]和misGAN [11]。两种方法的补偿架构相同,但使用 GAN 的学习过程不同。在 GAIN [10] 中,插补器被视为生成元,判别器试图区分输入的每个组成部分是否被归算。采用提示机制根据理论分析调整MCAR案例的辨别难度。该算法在低维度且缺失率低的数据集上表现良好。虽然它在50%缺失率的MNIST下也能工作,但对于高度缺失的数据集,通常会收敛到零补补或均值补。此外,通过重复多样潜在变量抽样的多重补补,差异不足以很好地预测补补的多模态性。 另一方面,[11]中的补补方法对高度缺失的数据集效果更好。论文提出了一个针对缺失数据集misGAN的GAN架构,并基于该数据集进行了补补方法。misGAN的生成器包括一个生成虚假完整数据的数据生成器和一个掩码生成器,生成显示漏掉哪个组件的假掩码。然后,通过用假掩码将假完整数据覆盖来生成假缺失数据。为了训练这些生成器,判别器会尝试区分假缺失数据和真实缺失数据。补补时使用另一对生成元和判别器。补缺生成元通过置入缺失数据来欺骗相应的判别器,该判别器区分补补和伪造完整数据。
问题表述
在本节中,我们将描述问题的表述及其范围。首先,我们采用Rubin关于缺失性的表述[2]。由于我们处理的是 d 维实值数据向量,完备数据 x 是从分布 P (x) 中抽取的 d 维随机向量。缺失数据向量 xm 可以用缺失的条件分布 P (xm|x) 机制表示。我们的数据集假设是基于分布 ΣP (xm|x)P (x) 的 i.i.d. 样本集合。然而,由于我们关注无监督学习,训练数据集D = {xim}iN=1仅是缺失数据向量的集合。此外,还应标明缺失的组件。此外,某些缺失特性如缺失率被认为已知会调整超参数或架构。如果一个补补方法是随机的,只需重复一次即可获得多个补补。然而,我们需要考虑每个插入的置信度,因为有些随机插入并不是好的插入。然后,为了符合鲁宾规则[2],即对每个插补视同价处理,我们可以通过根据置信度排序随机插补来选择顶k插补。因此,我们带有置信预测的补值方法可以视为一般的多重补补方法。我们不仅需要建模随机补补P (x|xm),还要建模顶k个补补P ({xt(i)}ik=1|{习}is=1),其中习是总数 s 个随机插补的第 i 个随机插补,t(i) 是所选顶 i 个插补的索引。
缺失与补缺模型
本节介绍了使用替换概念的缺失性和补缺的通用模型。
缺失模型
图1:缺失数据 xm 源于用掩码函数 M 替换 y 掩蔽完整数据 x 的缺失进展。
如[2]所示,缺失数据向量可以通过替换缺失分量表示,如图1所示。有两种方式可以表示模型的两个输出中缺少 component。我们可以简单地使用二元遮罩m来表示缺失,或者需要仔细选择替换向量y,其中字段Y不是数据向量R域的子集,以暗示缺失而不使用掩码。对于这两种情况,缺失的数据都可以用掩蔽函数M表示如下:
其中x(i)、m(i)、y(i)和M(x, m, y)(i)分别是x、m、y和M(x, m, y)的第i个分量。注意我们使用扩展形式的遮罩函数,它广播 x 和 y 的标量输入。例如,M (x, m, 0) 等于 M (x, m, 0),其中 0 是一个 d 维零向量。缺失有三种类型:完全随机缺失(MCAR)、随机缺失(MAR)和非随机缺失(MNAR)。本文重点关注MCAR案例,其可表示为P (m|x) = P (m),因为高度缺失的数据集大多由意外外部因素或测量系统控制在实际测量前引起。这两种情况都意味着完整数据与缺失无关。
插补模型
在缺失数据被替换为另一个替换yim后,插入者从替换数据̃x和掩码m计算补补ˆx。
由于缺失模型的输出是指示缺失组件的必要条件,插补器的输入也需要指示缺失组件。然而,如果替换域Y不是实数,如“nan”,以表示缺失分量,则没有合适的算术运算来计算补补。因此,补全方法应再次用另一种替换替换,如下所示:
由于缺失模型的输出是指示缺失组件的必要条件,插补器的输入也需要指示缺失组件。然而,如果替换域Y不是实数,如“nan”,以表示缺失分量,则没有合适的算术运算来计算补补。因此,补充方法应再次用另一种替换替换,如下所示:其中yim是对填补的另一种替换,该填补域等于数据,x ̃为替换数据。由于替换后无法识别缺失,我们需要输入掩码m和替换数据x̃。
可以有多种替换方法,每种方法都可以解释为简单的先验补补方法之一。例如,用零代入对应零补补方法,用均值代入对应均值补补法。[10]和[11]中使用的统一随机替换法可以被解释为基于缺乏信息先验知识的补值。基于这一解释,我们的方法被动机选择一个适合补补的替换y。注意,为了执行随机补补,替换应是随机的。
图3。插补器将条件生成 ˇx 处理为补补 ˆx,以保持观察到的分量。条件生成通常不使用掩码。
此外,插补其有约束条件,即观察到的成分值应通过补补保持。因此,再次使用替换使抑制子满足以下约束:
其中xˇ是插入器中的条件生成,xˆ是插入的最终输出。其余的抑制部分实际上是回归缺失值,如图3所示。由于回归不使用掩码,回归表现为一般条件生成元,给定替换数据 x ̃ 生成补补。之所以需要在不戴面具的情况下进行,是因为为了保持目标,方便无监督学习。目标是最小化观测分量回归值与实际观测值之间的差异,如下所示:
其中Lob表示目标的观测恒等损失函数,d是两个d维向量之间的差函数。然而,如果我们输入掩码,目标可能过于容易地满足,而不会学习缺失特征。虽然观察保持目标在低缺失率下效果良好,但还需要一个额外的对抗目标[11]。其目标是通过使补值xˆ真实化,如下所示,欺骗判别器:
其中 Ladv 是补缺判别子 DI 的对抗损失。因此,条件生成元尝试翻译适用于观察到的分量的缺失分量,这就意味着补补。在[11]中,即使没有观察保持目标,条件生成元也能很好地学习补补。
多重插补的性能指标
对于多重补补,性能指标将遵循Rubin规则[2]。然后,我们需要计算每个补补的平均RMSE。然而,RMSE对于高缺失率的情况来说,性能指标不足以衡量。例如,简单的补补方法如均值补法在RMSE方面优于大多数复杂补补方法。然而,复杂插补的实际插补示例明显优于简单插补的例子。为了减少RMSE与实际结果之间的不一致,[11]引入了Fre ́chet起始距离(FID)[15]。然而,尽管它可以衡量插补本身的质量和多样性,但它忽略了缺失数据与补补之间的匹配。例如,即使插补被随机置换,FID分数也不会改变。因此,检查FID有用,但不足以评估补值的性能。RMSE的另一种方法是广义能量距离[16],它利用多个插补之间的距离。这对包含多个真实数据的数据集非常有用。然而,如果我们通过模拟缺失机制来综合缺失数据集,该数据集将由缺失数据对及其单一真实完整数据组成。取而代之的是,我们引入了新的绩效指标——top-k RMSE,它计算了多个插值中最小RMSE的平均值。该指标检查多个补值中至少有一个是否与真实性匹配。此外,我们还需要考虑补算的目的。例如,如果使用MNIST进行分类,我们会在补值后检查分类准确性。在这种情况下,我们可以用top-k分类精度代替Rubin规则。
所提出的网络:GAMIN
虽然我们的方法受[11]的补补法启发,但除了若干小改动外,还有三个主要变化。首先,我们改变了补补架构,使无条件生成器直接参与补值过程。其次,我们提出了一种新的置信预测方法和top-k补补方法。最后,我们用新的损耗函数训练了GAMIN,考虑了置信度。此外,我们移除了遮罩生成,改用缺失数据本身的掩码。此外,我们提出了假完整数据的条件生成,这种方式在补补时更高效
补值架构
图4。我们的补值架构与视觉示例。先验补植:缺失数据 xm 被无条件生成元生成的候选补补 g 替代。条件生成:先验的补值 ̃x 被翻译成更可能的补植。观察保持:补值ˆx收集条件生成ˇx缺失的成分和先前补补̃x的观察分量。MNIST 数据集示例:注意缺失值为红色,我们未选出最佳结果之一。
GAMIN的补补架构如图4所示。第一个替换向量 G 是无条件生成假完全数据。因此,既然可以将其视为候选补补,也可以将替换向量 x ̃ 视为先验补补。候选 g 越可能,条件生成元进行补补就越容易。此外,可以说作为伪完全数据的候选 g 比从其他替代方法中无信息的均匀分布中抽样的替换向量更可能。 然而,存在一种情况,候选 g 是结构良好的完备数据,但与真实补补相比均匀生成的样本更有差异。当缺失率足够低时,条件生成元可以通过简单细化很好地补值先验补补 x ̃。然而,在这种情况下条件生成元期望的行为是复杂的。因此,条件生成元很难在相对较差的先验补补的情况下进行补补,而这些补补大多来自不良候选。 简而言之,我们补补架构的一个主要问题是条件生成元在错误先验补替补时的行为。为了使学习过程对该问题具有鲁棒性和适应性,我们提出预测每个先验补值的置信度,并利用置信度设计推理和学习方法。
置信度预测
我们的补补架构在理想情况下有一个良好的特性:输入的先验补补越好,抑制者对其改变的工作就越少。例如,如果输入的真实补补是偶然输入的,则抑制者无需做任何操作。因此,我们置信预测的动机是,置信度可以通过压倒对先前补补 x ̃ 的变化幅度来衡量。由于候选 g 的分布是聚类的,工作量也可以被聚类。例如,在MNIST [13]中,如果缺失的数据和候选数据属于相同的数字或类似数字如7和9,则抑制者可能会对输入的更改更少。我们简单地将工作量定义为输入与输出之间的差额。由于抑制器由条件生成元和掩码函数组成,我们需要分别测量它们的工作量,如下:W = αd(x ̃, xˇ) + βd(xˇ, xˆ),(6),其中α和β为正实数。第一项是条件生成元输入与输出的差,第二项是替换值的差,保持图4中的观测值。如果差值可以用分量和表示,如绝对误差或平方误差,这两个项可以重写如下:d(x ̃, xˇ) = d(M (xm, m, g), xˇ) = do(xm, xˇ) + dm(g, xˇ), d(xˇ, xˆ) = d(xˇ, M (xm, m, xˇ)) = do(xˇ, xm)。(7) 其中 dm 是缺失分量的差值,do 是观察分量处的差值。因此,功量W可重写为:W = αdm(g, xˇ) + (α + β)do(xm, xˇ)。(8) 第一项是先验补补缺部分与条件生成缺失成分之间的差值。这可以解释为条件生成元对先验补位的信任程度。第二项与观测恒等损失方程(4)完全相同,表示真实补补性能的部分线索。简而言之,工作量可以估算条件生成元的行为和真实补值误差,从而预测置信度。如上所述,我们需要重复补补和置信预测以进行多重补补。因此,置信度预测必须考虑多重补补集合以相对确定置信度。给定缺失数据对及其候选数据的置信度可以建模为:C(xˆ; xm, g) = 1 Z(xm) exp[−γW ], (9)
其中γ为正实数,Z(xm)为给定缺失数据的归一化项。采用指数形式的原因是为了建模给定最接近真补补x时补补xˆ的高斯分布∗如下:
假设缺失数据 XM 和候选数据 G 是独立的,且 i 个其他真插补 P (x∗,i|xm) 对所有 i 相等,因为鲁宾规则意味着真多重插补是等价的。如上所述,真实补补误差 d(xˆ, x∗)可以用功 W 来近似。我们需要选择参数γ和归一化项。相反,在测试过程中,可以通过排序工作量来选择顶K值补。然而,在培训过程中,选择应当是软的,实际值用于损失计算。假设随机补补的数量s足够包含所有随机补补,则归一化项可近似如下:
其中 Wi 是第 i 次随机补补的功量。此时,置信度变为−γWis的软极大函数。因此,如果我们想强调差异,−γWis 的绝对差应大于 1。
利用置信度预测的损失函数
我们设计了两种类型的损失函数:首先,我们利用式(9)的置信度加权式(4)的观测恒等损失和方程(5)的对抗性损失,具体如下:
其中xˆi和xˇi分别是第i次重复的补补生成和条件生成。其次,我们需要最大化良好推断的信心。我们可以对工作量加权,而不是直接最大化良好补值的置信度。在这方面,方程(12)已经最大化了置信度从方程定义的功量第二项(8)中算出。因此,功量第一项的损失函数如下:
其中Lcon和Lunc分别是条件生成元和无条件生成元的补补损失函数。
判别器
图5。GAMIN 中的两个判别因子:DG 在用常数 τ 掩蔽后区分虚假完整数据和缺失数据。DI区分补缺和伪造完整数据。这两个双向箭头表明这些区分是独立且可切换的
与[11]类似,训练模型时使用了两个判别器,如图5所示。生成判别器总组批评无条件生成器在候选补值时也使用了虚假完整数据生成。它区分了掩蔽缺失数据M(xm, m, τ)和掩蔽代M(g, m, τ)。替换常数τ应谨慎选择,以暗示缺失,尽管它不能表示实际缺失的分量。因此,除了方程(16)外,还应有另一个代际损失函数用于无条件生成元,如下所示:
补值判别器DI同时批评生成器和插补器。它区分了补补xˆ和伪造完备数据g。对抗性损失的实际形式 Ladv 根据 GAN 结构类型确定。
条件替换
事实上,无条件生成在生成质量上存在一些实际限制。此外,尤其是在使用无条件生成作为候选人归补时,应适当调整多样性,使优秀候选人频繁出现。如果用缺失的数据替换无条件生成,我们可以解决这个问题。然后,两个生成元都变成了条件生成元,但候选填补的条件生成元学会不去补补,而应该学习更合格且相关的候选人。然而,由于候选补补应是随机的,我们不仅需要输入缺失的数据 xm,还需要输入随机潜在变量。因此,条件生成元 zx 的输入可以如下:
实验结果
本节将介绍如何综合缺失的数据集、实现细节以及我们的实验结果。此外,我们还展示了多种方法变体的消融研究。 我们主要在MNIST和CelebA上评估了我们的方法。首先,我们需要综合MCAR病例中可能的缺失类型。与[11]类似,我们模拟了独立丢失和平方观测。MNIST的缺失数据集分别以80%、85%、90%和95%的缺失率进行综合。对于正方形观测,我们分别合成了11x11(84.57%)和9x9(89.67%)的正方形。另一方面,我们通过CelebA缺少的像素级掉落保持了每个像素的颜色。 我们将置信预测的超参数选为α=1,β=1,γ=100。此外,我们将损失函数的超参数设置为 λ1=0.2、λ2=0.1、λ3=0.1 和 λ4=0.1。我们在小批量训练中重复了十次随机补补(s=10次)(批次为5),并在测试时间(s=20)中从二十个随机补值中选出前三个。我们基于现有代码实施了两种基线方法,GAIN cite09和misGAN cite10,并随机抽样了三个多重补补结果。 我们使用了三个性能指标:RMSE、top-k MSE和top-k 分类准确率。如前所述,RMSE是按照Rubin规则对每个多重补补的RMSE的平均值,而top-k RMSE则是每个多重补补的最小RMSE的平均值。
MNIST缺失数据
我们使用了一个128维的潜在变量和256-512个全连通(fc)层作为无条件生成元,784-784个fc层用于条件变量,512-256个fc层用于两个判别器。我们对0和1使用最小二乘对抗性损失。我们的网络由Adam优化器训练,学习率为105,涵盖150个训练轮数。图6显示了各种补补方法在退出缺失时的90%值补结果。显然,零补补法和均值补补法无法产生有意义的补补。GAIN [10] 会产生若干噪声或均值样的插入。另一方面,misGAN [11] 产生更干净的图像,但往往忽视了插补与真实性之间的对应关系。
为了定量研究表现,表1展示了RMSE和前三名RMSE的结果。我们将这两个值表示为“RMSE(前三名RMSE)”,在从0归一化到1的MNIST图像上计算。注意RMSE的不确定性,即方差由于数据集规模庞大,RMSE过小(<0.005),因此省略了。如表1所示,我们的方法优于另外两种方法。表2通过检查k个多重插补中至少一个分类正确,展示了top-k分类的结果。我们用完整的MNIST数据集训练LeNet[17],分类准确率超过99%。
图7显示了各种补补方法在约90%缺失率的平方观测下的补补结果。在这种情况下,GAIN产生的几乎为零的类似填补,misGAN产生的图像多样性比丢失缺失的写更少。我们的方法也存在一些失败,但能产生更多样化的补缺。
表3展示了MNIST平方观测数据集的定量结果。由于GAIN[10]收敛为零补补,我们未展示其结果。而misGAN[11]在平方观测中表现更好,而在dropout方面则表现更好缺失时,我们的方法在相同缺失率下,在缺失率下效果更好。
CelebA 缺失数据集
我们使用U-net[18]表示条件生成元,卷积神经网络用于无条件生成元和判别器,这些都用于misGAN [11]。此外,为了公平对比,我们使用了Wassertein的对抗损失和[11]的所有超参数。图8和表4分别展示了缺失CelebA的90%缺失者的补值结果和定量结果。这两个结果都表明,我们的方法对CelebA数据集的效果也更好。
消融研究
为了研究我们方法各个部分的影响,我们对方法的一些变体进行了实验。在第一个变体中,表示为“无子”,我们用GAIN [10]和misGAN [11]的统一替换法替代了我们的替换方法。在第二个变体中表示为“无损失”,我们去除了关于置信度的损失。然而,我们应用检验时间置信预测,对除变异“无”外的所有变异进行前三补补conf'。最后,我们用第5.5节的条件替换方法进行了关于变异'w/cond'的实验。表4显示了这些实验结果在MNIST缺失率的90%。条件替换方法提升了所有度量的性能。我们还观察到置信预测极大地提升了性能。然而,两个不含替换法和损失函数的变体在分类准确度上表现良好,但其补充多样性低于所提出的方法。
虽然我们专注于高缺失率的多重补补,但我们的方法同样可以在相对较低的缺失率下应用。因此,我们综合了一个50%MNIST退出率缺失的数据集。由于数据集的单模性可能降低了我们方法的优势,表6显示我们的方法在RMSE结果方面的性能略低。然而,其他指标和实际补值结果优于或等于GAIN[10]和misGAN[11]。
未来工作
我们提出了GAMIN,通过置信预测学习多重插补,采用一种新颖的补补方法。我们用高度缺失且结构化良好的图像数据集来评估方法。然而,我们需要改进针对低结构性或复杂缺失的方法。此外,我们还计划进行额外的绝对置信预测,以提升方法的可靠性。
