Neural Network Inversion in Adversarial Setting via Background Knowledge Alignment(翻译)

    科技2022-08-07  108

    通过背景知识对齐在对抗环境中进行神经网络反演 摘要 深度学习技术的广泛应用引起了对训练数据和测试数据的新安全性关注。在这项工作中,我们将研究对抗性设置下的模型反演问题,其中对手旨在从模型的预测值中推断出有关目标模型的训练数据和测试数据的信息。我们开发了一种解决方案来训练第二个神经网络,该神经网络充当目标模型的逆向执行反演。可以使用对目标模型的黑盒访问来训练反演模型。我们提出了两种在对抗环境中训练反演模型的主要技术。首先,我们利用对手的背景知识来组成一个辅助集来训练反演模型,该模型不需要访问原始的训练数据。其次,我们设计了一种基于截断的技术来对齐反演模型,以便根据对手根据受害者用户的数据获得的部分预测对目标模型进行有效的反演。我们在多个图像数据集的各种机器学习任务和模型架构中系统地评估我们的方法。我们还在Amazon Rekognition(一种提供“机器学习即服务”的商业预测API)上确认了我们的结果。我们证明,即使对黑匣子模型的训练数据有部分了解,并且只有部分预测值,我们的反演方法仍然能够对目标模型进行准确的反演,并且性能优于以前的方法。

    1.介绍 机器学习(ML)模型(尤其是深度神经网络)正变得无处不在,为各种应用提供了动力。机器学习技术的大规模采用增加了软件系统在大量复杂数据中的容量,从而实现了广泛的应用。例如,面部识别API(例如Amazon Rekognition API [2])提供面部属性的分数,包括情绪和睁眼程度。还有一些在线服务可以评估用户的面部表情和年龄[8,50,52]。用户经常在社交媒体上分享他们的脸部美容分数,以取乐。预测分数肯定与输入的面部数据相关联,但是尚不清楚可以恢复原始数据的准确度。在此类应用程序中会出现安全问题。 模型反转是一种旨在从模型的预测中获取有关训练数据的信息的技术。模型反演的研究工作大致分为两类。第一类通过在数据空间中使用基于梯度的优化来反转模型[21、30、37、39、43、44、72]。我们称此类为基于方法优化的方法。例如,提出了模型反演攻击(MIA)[21]通过生成目标类别的代表性样本来推断针对神经网络的训练类别。它将反演任务转换为优化问题,以查找给定类的“最佳”数据。 MIA适用于简单网络,但已证明对卷积神经网络(CNN)等复杂神经网络无效[28,58,65]。这主要是因为基于优化的方法的优化目标并未真正捕获数据空间的语义,我们将在2.2节中进一步讨论。第二类方法[10、17、18、53]通过学习与原始模型相反的第二模型来反转模型。我们将这种方法称为基于培训的方法。他们的目标是从其计算机视觉功能(包括神经网络各层中的激活)重建图像。因此,为了最大程度地重建图像,他们在分类器的相同训练数据上使用完整预测向量训练第二个模型。 在这项工作中,我们专注于对抗方案,在该方案中为敌人提供了分类器和预测结果,旨在使输入数据和/或分类的语义有意义。这种问题也称为反演攻击[21,22],其中可以从其预测值中推断出有关输入数据的信息。有两种对抗性设置,即数据重构和训练类别推理。 在这项工作中,我们专注于对抗方案,在该方案中为敌人提供了分类器和预测结果,旨在使输入数据和/或分类的语义有意义。这种问题也称为反演攻击[21,22],其中可以从其预测值中推断出有关输入数据的信息。有两种对抗性设置,即数据重构和训练类别推理。 数据重建:在这种攻击中,根据分类器的预测向量,要求对手重建未知数据,这恰好是分类器的倒置。例如,在一个以面部图像输出人的身份的面部识别分类器中,攻击者的目标是重建一个人的面部图像。 训练类推论: 意人(类)的可识别面部图像。可以通过反转分类器以生成代表样本(被分类为所需类别)来实现这种攻击[21]。 但是,对抗设置中的反转与现有的模型反转设置不同。具体来说,在对抗设置中,攻击者没有分类器的训练数据。因此,使用相同训练数据来训练“反演”模型的先前已知的基于训练的方法无法直接应用。现有的基于优化的方法需要对分类器进行白盒访问以计算梯度,因此如果分类器为黑盒,则它们将无法工作。更重要的是,对手可能仅获得有关受害者数据的部分预测结果。例如,ImageNet数据集[34]具有20,000多个类别。由于预测向量中的多数值很小,因此仅释放前5至10个预测类别更为实用[68]。受害者用户还可能将部分预测分数发布到社交媒体上。部分预测在很大程度上限制了反演模型的重建能力。例如,图1的(a)列显示了将“截断的”预测向量求逆的结果(即,将1/5的最大值保留下来,而将其余的值掩码为0)。较差的结果可能是由于反演模型的过度拟合。因此,尽管在完整的预测向量上重建是准确的,但是轻微的偏差(例如预测向量中的截断)将导致截然不同的结果。 在本文中,我们提出了对抗设置下的模型反演问题,并提出了一种有效的攻击方法。 我们采用上述基于培训的方法。 即,训练第二神经网络(称为反演模型)以执行反演。 为了解决缺乏访问训练数据的问题,我们的方法基于背景知识从更通用的数据分布中提取(反演模型的)训练数据。 可以说,这组辅助样本对于对手来说要容易得多。 例如,针对面部识别分类器,对手可以在不知道确切训练数据(分布)的情况下从Internet上随机爬行面部图像以组成辅助集。 图1(c)列显示了在辅助样本上训练的反演模型的重建结果。 重建的面部图像是可识别的。

    图1:针对面部识别分类器的我们和以前的方法的训练数据重建和训练类推论。 当只有1/5的预测结果可用时,列(a)和(b)将我们的方法与已知的基于训练的(TB)方法进行比较。 (c)列显示了通过在辅助样本上训练反演模型来反演完整预测向量的结果。 (e)-(g)列将我们的方法与MIA和已知的先前TB方法进行了比较。 请注意,在所有实验中,我们将辅助样本用于我们的方法。 图2:商业预测API的反转。 (a)恢复受害者的容貌。 (b)基本事实。 在训练过程中,没有看到所提出的个人使用我们的倒置模型。

    我们认为这是因为辅助样本保留了通用的面部特征(例如,脸部边缘,眼睛和鼻子),并且此类信息足以规范化最初不适的反演问题。有趣的是,我们的实验表明,即使在可以获得实际训练数据的情况下,使用通用样本扩充训练数据也可以提高反演精度。 为了使反演模型在对手仅获得受害者用户数据的部分预测结果时也能起作用,我们提出了一种截断方法来训练反演模型。主要思想是在训练过程中向反演模型提供截短的预测(在辅助样本上)。这种截断迫使反演模型根据截断的预测最大程度地重构样本,从而使反演模型与截断的值对齐。此外,截断有助于以类似的特征选择方式减少过拟合[26]。图1(b)列显示了使用我们的截断技术反转部分预测向量(即,将1/5的最大值保留,而将其余的值屏蔽为0)的结果,该结果明显优于(a)列的结果。 事实证明,截断技术在训练类推论的第二个问题中很有效。为了推断训练类别,我们将分类器对辅助样本的预测截断为一热向量。训练完成后,可以通过将每个训练类的热向量作为输入来为每个训练类生成代表性样本。图1的(e)列显示了我们训练类推断的结果。它明显优于MIA(第(f)列)和以前的基于训练的方法(第(g)列)。 根据对手的角色,我们设计了两种训练反演模型的方法。首先,如果对手是没有训练数据但对分类器具有黑匣子访问权限的用户(即,只有预测结果可供他使用),我们将通过从头开始训练一个单独的模型来构造反演模型。其次,如果对手是训练分类器的开发人员,则可以在相同的训练数据上与分类器一起训练反演模型,从而得出更精确的反演模型。在下一个版本中,目标是迫使分类器的预测也保留必要的信息,从而帮助反演模型重建数据。为此,我们使用反演模型的重建损失来规范分类器的训练。 我们评估我们在多种图像数据集上用于各种机器学习任务和模型架构的方法。结果表明,我们的攻击可以在不知道训练数据分布的情况下准确地从部分预测中重建数据,并且在训练类推论上也优于以前的方法。我们在Amazon Rekognition API上确认了我们的反转技术,该技术可检测用户上传的图像上的面部特征,例如情绪,胡须和性别。我们不了解API使用的后端模型。如图2所示,仍然有可能从这种有限的信息中准确地重建受害者用户的面孔。这项工作强调,即使对手只能访问有限的信息,也可以提取隐藏在模型预测中的丰富信息。我们希望这项工作有助于增强用户对处理派生数据的认识。

    贡献 总而言之,我们在本文中做出了以下贡献。 •我们观察到,即使对训练集有部分了解,也有可能利用这样的背景知识来规范最初不适定的反演问题。 •我们制定了一个实际的方案,使对手仅获得部分预测结果,并提出了一种截断方法,该方法可以将反演模型与截断的预测空间对齐。 •我们的反演方法可以用于训练类推理攻击。 实验结果表明,我们的方法优于现有的训练类推论工作。 •我们观察到,即使分类器的训练集可用,使用通用样本对其进行扩充也可以提高反演精度。

    2.背景 2.1机器学习 在本文中,我们专注于监督学习,更具体地说,是使用神经网络训练分类模型(分类器)[36]。 该模型用于对输入数据进行预测。 模型的生命周期通常由训练阶段(在其中创建模型)和推理阶段(在其中发布模型以供使用)组成。

    机器学习模型 机器学习分类器对通用假设函数Fw(具有参数w)进行编码,该函数从训练数据集中学习,目的是对看不见的数据进行预测。函数Fw的输入是从d维空间X中的数据分布px(x)得出的数据点x∈Rd,其中每个维表示数据点的一个属性(特征)。 Fw的输出是k维空间Y中的预测点Fw(x),其中每个维对应于预定义的类别。学习目标是找到每个输入数据和类之间的关系,函数Fw:X→Y。神经网络(深度学习模型)由基本非线性激活函数(神经元)的多个连接层组成,其连接为由模型参数w加权,并在最后一层的激活信号(称为对数)上添加归一化指数函数 ,此函数可将任意值转换为以下形式的实值向量: [0,1]的总和为1。因此,输出可以解释为输入落入每个类的概率。

    训练阶段 令x表示从基础数据分布px(x)提取的数据,而y是x的向量化类。 训练目标是找到一个函数Fw以很好地近似空间X×Y中每个数据点(x,y)之间的映射。为此,我们使用损失函数L(Fw(x),y)来测量 类别y和分类器的预测Fw(x)之间的差。 正式地,训练目标是找到使预期损失最小的函数Fw。 实际概率函数px(x)难以精确表示,但是在实践中,我们可以使用从中得出的样本来估计它。 这些样本构成训练集D⊂X。我们为每个数据x∈D预先定义一个类别y,作为训练过程中的监督。 因此,我们可以训练模型来最小化训练集D上的经验损失。 但是,此目标可能会导致模型过拟合,该模型在其训练数据上的预测误差非常低,但对于从px(x)提取的看不见的数据却无法很好地概括。 通常将正则项R(Fw)添加到损失LD(Fw),以防止Fw过度拟合训练数据。 总而言之,分类器的训练过程是找到最小化以下目标的模型Fw: 其中正则化因子λ控制分类函数和正则化函数之间的平衡。 用于解决此优化问题的算法是梯度下降算法的变体[5]。 随机梯度下降(SGD)[79]是一种非常有效的方法,它通过逐步计算训练数据的随机小选择子集(迷你批次)上的平均梯度来更新参数。

    推理阶段 在推断阶段(或称为测试阶段),模型Fw用于对看不见的数据进行分类。 具体而言,函数Fw将来自相同数据分布px(x)的任何数据x用作输入,并输出预测向量Fw(x)=(Fw(x)1,…,Fw(x)k),其中 Fw(x)i是数据x属于类别i和∑i Fw(x)i = 1的概率。

    2.2模型训练 我们的方法与先前有关机器学习和计算机视觉社区的神经网络反转的许多工作有关。 反向神经网络有助于理解和解释模型的行为和特征表示。 例如,计算机视觉中的典型反演问题是根据其计算机视觉特征(例如HOG [15]和SIFT [42]),或者根据网络各层中包含分类器预测Fw(x ) 在上面。 通常,这些反演方法分为两类:基于优化的反演[21、30、37、39、43、44、72];最类似于我们的方法,是基于训练的反演[10、17、18、53] 。 基于优化的反演。该工作分支的基本思想是在输入空间X中应用基于梯度的优化,以找到图像xˆ,其预测值近似于给定的Fw(x)。通过用向量化的y替换Fw(x)[21,66],这种反演也可以用于生成某些y类的代表性图像(即训练类推论)。为此,图像x 1应该使Fw(x)和Fw(x 1)之间的一些损失函数最小。因此,它需要访问模型的白盒以计算梯度。然而,反过来预测神经网络实际上是一个困难的不适定问题[17]。优化过程往往会产生与自然图像并不真正相似的图像,特别是对于大型神经网络而言[76]。此外,该方法涉及在测试时进行优化,因为它需要计算梯度,这使其相对较慢(例如,GPU上每个图像6s [44])。附录A中提供了有关基于优化的反演的更多讨论。 基于训练的反演。 这种反演训练另一个神经网络Gθ(本文中称为反演模型)对原始Fw进行反演。 具体来说,给定相同的图像和预测训练集(Fw(x),x),它从头开始学习第二个神经网络Gθ,以很好地近似预测和图像之间的映射(即Fw的逆映射)。 反转模型Gθ将预测Fw(x)作为输入并输出图像。 形式上,这种反演是找到一个最小化以下目标的模型Gθ。 其中R是工作中采用的图像重建损失,例如L2损失[18]。 与基于优化的反演相比,基于训练的反演仅在训练反演模型的过程中成本高昂,这是一次性的工作。 根据给定的预测进行重构只需通过网络进行一次单向传递(例如,GPU上每个图像5毫秒[18])。

    3.逆模型反演 对手可以是黑箱分类器Fw的用户,也可以是Fw的开发人员。 对手的能力和目标因角色而异,我们考虑三种情况:(1)一位好奇的用户,打算从受害者的截断的谓词向量中重建受害者的输入数据; (2)打算推断Fw功能的好奇用户; (3)打算建立Fw的恶意开发人员,其随后可以帮助从受害者的截断的谓词向量中重建受害者的输入。

    3.1(场景1)使用Blackbox分类器重建数据 在这种情况下,对手是一个好奇的用户,他想推断分类器Fw的训练数据或其他受害用户的输入数据(即Fw的测试数据)。对手可以访问Fw的黑匣子。也就是说,对手可以将输入自适应地馈送到Fw并获得输出。对手不知道分类器的训练数据(分布),架构和参数。但是,对手对Fw有一些背景知识。具体地说,对手知道以下内容: •尽管对手不知道用于训练Fw的实际训练数据,但对手可以从训练数据的“更通用”分布pa提取样本。例如,假设Fw是针对少数几个人的面孔进行训练的人脸识别分类器,尽管对手不知道这些人的面孔,但对手知道训练数据是人脸图像,因此可以从一个大池中提取许多样本面部图像。直观地讲,如果pa是在原始尺寸上进行了一些降维后的分布,则pa分布比原始分布更通用。 •对手知道Fw的输入格式,因为他知道分布pa。对手也知道Fw的输出格式。也就是说,对手知道谓词向量的维数。该假设是合理的,因为即使Fw可以返回选定的预测值,对手仍然可以估计预测向量的维数。例如,他可以使用一组输入数据查询Fw,并在返回的预测中收集不同的类别作为维度。 分类器Fw也被许多其他良性用户使用。 我们假设对手有能力获得fw的截短的谓词向量Fw(x),其中x是受害者用户的输入,而m是受害者确定的预定义参数。 给定一个预测矢量g,我们说当g的所有m个最大值都保留在f中,而其余的均被截断为零时,f被截断了,表示为truncm(g)。 例如,trunc2((0.6, 0.05, 0.06, 0.2, 0.09)) = (0.6, 0, 0, 0.2, 0) 现在,给定f,对Fw进行黑盒访问,并从分布pa中获取样本,对手希望从分布pa中找到最有可能的数据,使得trunc(Fw(x))= f。 就是说,理想情况下,对手要找到一个满足以下条件的xˆ: 让我们将从Fw,f和pa获得xˆ的问题称为数据重建问题。 3.2(场景2)训练类推理 与场景1相同,在此方案中,对手是一位好奇的用户,具有对分类器Fw的黑匣子访问权限,并从通用分布pa获知样本。 不同于数据重建,对手想要找训练类的代表性数据。 给定黑盒访问分类器Fw和目标类y的能力,对手想要找到满足以下条件的数据xˆ。 其中Fw(x)y是fw将x分类为y类的置信度。 3.3(场景3)联合分类和模型反演 我们还考虑了以下情况:对手是恶意开发人员,他训练分类器Fw并将其出售/分发给用户。 与前两种情况不同,在这里,对手具有对分类器的训练数据,体系结构和参数的全面了解,并且可以自由决定Fw是什么。 我们假设Fw发布后,对手能够从用户那里获得截断的谓词,而对手想要重建用户的输入。 因此,在这种情况下,对手的目标是训练能够满足准确性要求的分类器Fw(不算原始分类器的任务),同时提高数据重建的质量。

    3.4如果在对抗设置中应用先前的工作怎么办 让我们强调一下对手设置与以前的反向设置之间的区别。首先,在我们的对抗设置中,当对手是用户时,如果他仅对分类器具有黑箱访问权限,则包括MIA在内的基于优化的现有反演方法将不起作用,因为它们需要白箱访问才能计算梯度。此外,许多研究表明,针对大型神经网络的MIA倾向于生成语义上无意义的图像,甚至与自然图像也不相似[28,65]。如图1列(f)所示,我们的实验结果也得出了相同的结论。其次,作为用户的对手不知道分类器的训练数据,这使得以前的基于训练的方法无法在相同的训练数据上训练反演模型。第三,对手无论是用户还是开发人员,都可能获得截断的预测结果,而不是完整的结果。如图1栏(a)和(g)所示,这使得在完全预测上训练的先前反演模型无法有效地从局部预测重建数据。 4.方法 我们的方法采用前面提到的基于训练的策略来反转分类器。整个框架如图3所示。与直接从Fw直接反转给定预测向量的基于优化的方法不同,此处,首先训练了反演模型Gθ,该模型随后将给定预测向量作为输入并输出重建的样本。这类似于自编码器[7],其中Fw是“编码器”,Gθ是“解码器”,并且可以将预测视为潜在空间。有3个方面与自编码器不同。 (1)在方案1和2中,与自编码器不同,给出并固定了Fw。此外,Fw的训练数据不可用于训练Gθ。第4.1节介绍了如何获取Gθ的训练集。 (2)由于我们的对手仅获得截断的预测,因此我们需要一种“重新对齐”潜在空间的方法。 4.2节给出了建议的截断方法。 (3)在方案3中,尽管Fw不固定,但与自编码器不同,对Fw精度还有其他要求。也就是说,这是一个联合分类器和反演模型问题,其中Fw是分类器,而Gθ是反演模型。第4.3节介绍了我们的训练方法。

    图3:基于训练的反演方法的框架。 分类器Fw将数据x作为输入并产生预测矢量Fw(x)。 反演模型Gθ输出以预测为输入的重构数据xˆ。

    4.1Gθ的训练数据:辅助设定 Gθ构造中的第一个重要组成部分是训练集,在本文的其余部分中将其称为辅助集。辅助集应包含足够的语义信息以规范不适定的反演问题。我们通过从比原始训练数据分布px更通用的数据分布pa中抽取样本来构成辅助集。例如,针对1,000个人的面部识别分类器,可以通过从Internet收集随机个人的公共面部图像来组成辅助样本。这些辅助样本仍保留一般的面部特征,例如面部边缘以及眼睛和鼻子的位置,这些是原始训练数据的共享语义特征。我们认为,此类共享功能可提供足够的信息来规范化原本不适当的反演任务。为了进一步提高Gθ的重建质量,我们可以特别选择辅助集以更好地对准反演模型。例如,针对人脸识别分类器,我们选择主要是正面的数据集作为辅助集,以使反演模型与正面对齐。我们的实验结果证明了从更通用的数据分布中采样辅助集的有效性,如5.2节所示。即使在构建过程中从未看到训练类,该反演模型也可以精确地重建训练数据点。 4.2模型反演的截断方法 我们提出了一种截断训练Gθ的方法,以使其与部分预测结果对齐。 图4显示了分类器Fw的架构及其反演模型Gθ。其思想是将分类器对辅助样本的预测截断到与受害者用户数据的部分预测向量相同维数的情况下,并将其作为训练反演模型的输入特征,从而迫使反演模型最大限度地根据截断的预测重建输入数据。正式地,让a为从pa抽取的样本,而Fw(a)为分类器的预测。 令m为受害者数据上部分预测向量的维数。 我们将预测向量Fw(a)截短为m个维度(即,保留前m个得分,但将其余得分设置为0)。 训练反演模型Gθ以最小化以下目标。 其中R是损失函数,本文使用L2范数作为R。通过删除Fw(a)中不重要的类(即,置信度较小的类),可以将截断过程理解为相似的特征选择方法[26]。它有助于减少Gθ的过拟合,从而仍可以从保留的重要类中重建输入数据。训练Gθ之后,对手可以将截断的预测Fw(x)馈送到Gθ并获得重建的x。可以采用我们的反演模型Gθ进行训练类别推理(场景2),这与MIA中的对抗目标相同[21]。可以将训练类推论视为设置m = 1,这意味着对手仅知道该类信息,并且仅针对生成每个训练类的代表性样本的目标。 MIA假定对手在推断阶段具有白名单访问Fw的权限。相反,我们的方法适用于对Fw的黑箱访问。此外,我们的方法甚至可以在Fw仅释放具有置信度值的最大预测类的情况下起作用,因为我们可以通过从辅助集上的分类器预测中收集不同的类来近似训练类的总数。这大大降低了对手推断训练类的能力的要求。 我们的实验结果表明,训练反演模型的截断方法提高了截断预测的重建质量。 以前基于训练的直接将部分预测输入反演模型的方法会产生无意义的重建结果(请参见第5.3节中的更多评估详细信息)。 图4:分类器和反演模型的体系结构。 分类器Fw将数据x作为输入,并生成预测Fw(x)。 将该预测向量截断(如果需要)为新向量trunc(Fw(x))。 反转模型Gθ以截断的预测为输入,并输出重构数据Gθ(trunc(Fw(x)))。

    4.3分类器与反演模型的联合训练 当对手是分类器的开发者时,他可以与分类器一起训练反演模型,从而获得更好的反演质量。 特别是,让D作为分类器的训练数据。 我们用额外的重建损失RD(Fw,Gθ)对分类损失LD(Fw)(公式2)进行正则化。 直观上,这鼓励分类器的预测也将输入数据的基本信息保留在潜在空间中,以便反演模型可以很好地对其进行解码以恢复输入数据。 在本文中,我们使用L2范数作为重建损失RD(Fw,Gθ)。 联合训练可确保更新Fw以适合分类任务,同时优化Gθ以从截断的预测向量重建数据。 值得注意的是,在训练Gθ时,我们发现直接使用预测向量Fw(x)不会产生最佳的反演结果。 这是因为通过softmax函数(请参阅第2.1节)将输出层的对数z缩放为[0,1](总和为1)以形成预测Fw(x),实际上削弱了输出的激活层,因此会丢失一些信息以供以后解码。 为了解决这个问题,我们在下面将预测Fw(x)重新缩放到其对应的对数z,并在实验中使用这些z替换预测Fw(x)。 其中log是元素级的,c是标量,它被添加到log(Fw(x))元素级,并且在训练反演模型时也进行了优化。 表1:分类器Fw及其反演模型Gθ的数据分配。

    5.实验内容 在本节中,我们评估了该方法的反演性能,并将其与现有工作进行了比较。 我们评估三个因素:辅助集的选择,截断方法和完整预测大小。 我们还将评估由亚马逊提供的商业面部识别API的方法。 5.1实验设置 我们对四个基准图像识别数据集进行评估。为简单起见,所有数据集均转换为灰度图像,每个像素值均为[0,1]。我们在下面详细介绍每个数据集。 •FaceScrub [55]。 URL数据集,包含530张个人的100,000张图像。我们仅能下载530个人的48,579张图像,因为在撰写期间并非所有URL都可用。我们根据官方的边界框信息提取每个图像的面部。每个图像调整为64×64。 •CelebA [41]。包含来自Internet的10,177名名人的202,599张图像的数据集。我们删除了FaceScrub中包含的296名名人,最终获得了9,727名名人的195,727张图像。这可以确保我们修改后的CelebA与FaceScrub没有类交集。该大规模面部图像数据集可以代表人脸的一般数据分布。为了提取每张图像的脸部,我们通过左上角坐标(35,70)的宽度和高度108进一步裁剪了官方的aligncropped版本(尺寸178×218)。每个图像的大小调整为64×64,并且也调整为32×32。 •CIFAR10 [33]。数据集包含10个类别(飞机,汽车,鸟类,猫,鹿,狗,青蛙,马,船和卡车)的60,000张图像。每个图像调整为64×64,还调整为32×32。 •MNIST [35]。由10个类别的70,000个手写数字图像组成的数据集。每个图像调整为32×32。 我们使用FaceScrub和MNIST训练目标分类器Fw。对于使用数据集D训练的每个Fw,我们分别使用相同的训练集D,从D的更通用分布得出的训练集以及从与D语义上不同的分布得出的训练集分别训练反演模型Gθ。我们将这三种训练数据分别称为相同,通用和不同。表1列出了每个Fw及其对应的Gθ的数据分配。请注意,通用数据分布的辅助集与Fw的训练数据(即FaceScrub和MNIST)没有类交集。具体来说,我们通过删除也包含在FaceScrub数据集中的名人来清理CelebA。我们随机选择MNIST的5个类别(即数字0、1、2、3、8)来训练Fw,并使用其他5个类别(即数字4、5、6、7、9)形成辅助集。不同数据分布的辅助集由从与训练数据明显不同的数据分布中抽取的样本组成。 我们使用CNN训练Fw,并使用转置的CNN训练Gθ。 FaceScrub分类器包含4个CNN块,其中每个块由卷积层,批处理归一化层,最大池化层和ReLU激活层组成。在CNN块之后添加两个完全连接的层,并在最后一层添加Softmax函数,以将任意神经信号转换为[0,1]中总计为1的实值向量。FaceScrub反演模型包括5个转置的CNN块。前四个块每个都有一个转置的卷积层,后跟一个批处理归一化层和一个Tanh激活函数。最后一个块具有一个转置的卷积层,后跟一个Sigmoid激活函数,该函数将神经信号转换为[0,1]中的真实值,该值是相同范围的辅助数据。 MNIST分类器和反演模型的结构与FaceScrub相似,但分类器中有3个CNN块,反演模型中有4个转置的CNN块。有关模型架构的更多详细信息,请参见附录B。FaceScrub分类器和MNIST分类器在它们的测试集上分别达到了85.7%和99.6%的准确率(80% train, 20% test),与目前最先进的分类性能相当。 我们在运行Ubuntu 16.04 LTS的工作站上训练Fw和Gθ,该工作站配备了两个Intel Xeon CPU E5-2620 V4(2.1Ghz / 8核),256GB RAM和两个NVIDIA Tesla P100 GPU卡。 我们使用PyTorch [60]来实现神经网络。 在训练Gθ期间对Fw的查询数量等于辅助样本的数量。 大致上,在我们的辅助设备上,训练FaceScrub Fw的Gθ不到12小时,而训练MNIST Fw的Gθ不到6小时。 训练Gθ后,它将通过神经网络进行一次前向遍历,以预测值作为输入来执行反演攻击,这仅需要几毫秒的时间。 图5:辅助设备对FaceScrub Fw上反演质量的影响。 我们使用相同(第一行),通用(第二行)和不同(第三行)数据分布的辅助集来训练反演模型。 图6:辅助装置对MNIST Fw的反演质量的影响。 我们使用相同(第一行),通用(第二行)和不同(第三行)数据分布的辅助集来训练反演模型。

    表2:辅助装置对反演质量影响的定量测量(均方误差)

    5.2辅助集的作用 对反演质量的影响。我们在图5和图6中展示了随机选择的训练数据和Fw的测试数据的反演结果(方案1)。我们还在表2中展示了重建图像与地面真实性之间的均方误差。看到辅助集的数据分布与训练数据分布越接近,反演质量(在视觉和定量上)都越好。值得注意的是,通用数据分布的辅助集与分类器的训练数据没有类的交集,这意味着反演模型在构造过程中从未见过训练类,但仍可以从这些类中准确地重建数据。例如,MNIST中的数字5、6、7和9不包括在辅助集中,但是Gθ可以相当准确地重建这些数字。这进一步证明,一般的背景知识可能足以使不适定反演正规化。但是,如果辅助集的数据分布与通用数据分布相距太远,则如图5和6的第三行所示,倒置效果将不令人满意。 总结Ⅰ:即使不完全了解分类器Fw的训练数据,也可以通过使用从背景知识衍生的更通用分布中提取的辅助样本训练Gθ来进行准确的反演。 对反演对齐的影响。我们将清理后的CelebAdataset划分为 分为正面,向左,向右,向下和向上的脸5个子集。我们将每个子集用作训练Gθ的辅助集,并测试特定辅助集是否可以对齐反演结果。我们使用适用于Python3的OpenCV库[12]和FAN网络[13]来检测面部朝向(有关更多详细信息,请参见附录C),最终获得109,105个正面,48,137个左转面部,33,632个右转面部,4,278个转弯向下的面和2,304向上的面。我们在图7中显示了Facescrub分类器的随机选择训练数据和测试数据的反演结果。很明显,可以看到特定的辅助集确实将Gθ的反演结果与相应的面部方向对齐。值得注意的是,在本实验中,辅助集是从仅包含一种姿势的更“专业”分布中提取的,而原始训练数据却包含所有5种姿势。 图7:辅助集对反演路线的影响。 我们使用celebA的正面,左侧,右侧,向下和向上的辅助集来训练反演模型。 我们将结果显示在FaceScrub分类器的随机选择的训练数据和测试数据上。 5.3截断的影响 让我们将对手根据受害者用户的数据获得的部分预测的维度表示为m。我们对FaceScrub分类器执行m = 10、50、100和530,对MNIST分类器执行m = 3、5和10的反向攻击(方案1)。我们在图9的FaceScrub分类器和图10的MNIST分类器上展示了截断方法和以前的基于训练的方法(即无截断)的结果。辅助集由来自FaceScrub分类器通用数据分布的样本和来自MNIST分类器相同数据分布的样本组成。随机选择显示的训练数据和测试数据。 我们可以看到我们的方法优于以前的方法。我们的方法可以为所有m生成高度可识别的图像。先前的方法虽然可以在m很大时生成可识别的图像,但是在m很小时却不会产生有意义的结果。对于我们的方法,当m相对较小时,倒置结果似乎是目标人的普通面孔,而面部细节并未完全表现出来。例如,在图9的第7列中,地面真值是侧面,当m = 10和50时,我们的求逆结果是正面,而在m = 100时,我们的求逆结果变成侧面。该结果表明截断确实有助于通过将Gθ与正面面部图像对齐来减少过度拟合,并且m越小,观察到的泛化越多。我们还对反演质量进行了定量测量,如图8所示。我们的方法的均方误差比以前的方法小得多,尤其是当m较小时。 总结Ⅱ:我们的训练反演模型Gθ的截断方法使得当对手仅获得部分预测结果时,仍然有可能进行准确的反演。 图8:定量测量Gθ的截断(m)对FaceScrub Fw的反演质量的影响。 x轴是m,y轴是均方误差。 图9:Gθ的截断(m)对FaceScrub-Fw反演质量的影响。我们和前面方法的结果分别在奇数列和偶数列中显示。 图10:G循环截断(m)对MNIST Fw反演质量的影响。我们的结果和前面的方法分别在奇列和偶列给出。

    5.4完整预测大小的影响 第5.3节研究了截短的预测值m的影响。在本节中,我们研究了完整预测的大小的影响。令k为完整预测的维数。在我们的实验中,我们从FaceScrub和MNIST数据集中随机选择k个类别作为Fw的训练数据。我们为FaceScrub设置k = 10、50、100和530,为MNIST设置k = 3、5和10。我们在图11中展示了针对FaceScrub分类器的反演结果,在图12中展示了针对MNIST分类器的反演结果。在所有实验中,我们都假定对手获得了完整的预测向量(即m = k)。辅助集由来自FaceScrub分类器的通用数据分布和来自MNIST分类器的相同数据分布的样本组成。随机选择显示的训练数据和测试数据。我们的实验结果表明,k的影响与我们讨论的m的影响相似。 k越大,目标数据的重构越准确,k越小,对应类的语义通用倒置。我们对不同k下的反演质量的定量测量(如图13所示)还表明,均方误差与k成反比。这是因为k和m都影响对手可以获得的预测信息量。因子k决定完整预测向量的大小。因子m决定分类器从k维预测向量释放多少个预测类。 图11:完整预测大小(k)对FaceScrub Fw的反演质量的影响。 图12:完整预测大小(k)对MNIST Fw的反演质量的影响。 图13:在FaceScrub Fw上定量测量全预测尺寸(k)对反演质量的影响。x轴是k, y轴是均方误差。

    5.5训练课程推论 本节评估关于训练类推理攻击的反演模型Gθ(方案2)。我们将我们的方法、MIA和以前的基于训练的方法(没有截断)与在FaceScrub上训练的相同Fw进行比较。对于我们的攻击,我们使用CelebA作为辅助集。它与FaceScrub没有类交集。因此,在其上训练的反演模型Gθ在构造过程中从未见过目标训练类。特别是,我们首先使用辅助集来估计训练类的总数,然后获得530个类,而这实际上是真实数量。在训练反演模型的过程中,我们通过将其余类别填充为零,将每个辅助样本(即具有置信度的最大预测类别)上分类器的预测结果编码为530维向量。我们使用编码的预测作为特征来训练Gθ。训练Gθ后,我们将每个训练类转换为一个530维的单热点向量,并将该一热点向量馈入Gθ。 Gθ的输出是训练类的推断图像。 我们通过遵循[21]的算法1来实现先前的MIA攻击。同样,我们为所有x设置AuxTerm(x)= 0,因为对手除了目标标签之外没有其他信息。我们还将处理功能设置为NLMeans去噪滤波器,然后是高斯锐化滤波器。我们在图14中比较了我们的方法和先前方法的反演结果。我们可以看到,当MIA应用于CNN时,MIA推断出的图像在语义上是没有意义的,甚至不形成可识别的面孔。这与以前的研究工作[28,65]中得出的结论一致,在该研究中获得了类似的不令人满意的反演结果。先前基于训练的反演也无法生成可识别的面部图像。通过捕获诸如眼睛,鼻子和胡须等语义特征,我们的方法能够为每个人(类)生成高度人类可识别的面孔。一个有趣的发现是,即使Fw的训练面部图像具有各种角度,表情,背景,甚至闪电,我们的方法也始终产生正面。一个可能的原因是辅助数据包含大多数正面。由于训练将反演模型与训练分布对齐,因此生成了可识别的正面。 图14:训练类的推理结果。 我们介绍了MIA(第一行),先前基于训练的(TB)反演(第二行)和我们的反演(第三行)的结果。 总结Ⅲ:我们的方法在训练针对复杂神经网络的类推论方面优于以前的方法。 我们的实验结果表明,我们的方法可以生成高度可识别且具有代表性的训练类样本。

    5.6反演模型的构建:受过黑匣子Fw训练VS受过Fw联合训练 反演模型Gθ可以使用给定的固定黑盒Fw进行训练(如方案1&2),也可以与Fw一起进行训练(如方案3)。我们评估并比较了两种构造方法之间Gθ的反演质量和Fw的分类精度。为了使Gθ的构造方法成为影响反演性能的唯一因素,我们使用与Fw相同的训练数据作为黑匣子Fw构造的辅助集。两种构建方法的所有其他培训详细信息(例如时期,批处理大小,优化程序)都相同。我们使用Gθ对FaceScrub和MNIST分类器执行测试数据重构。特别是,我们将分类数据集分为50%作为训练数据,其余50%作为测试数据。我们在图15和图16中展示了针对FaceScrub和MNIST分类器的两种构造方法的反演结果。我们可以看到,与Fw联合训练构造Gθ可以比黑盒Fw训练得到的测试数据更准确的重建。 。为了量化重建质量,我们在表3的第5列和第6列中介绍了通过两种方法构造的Gθ的平均重建损失,即均方误差(MSE)。我们可以看到,联合训练实际上导致了测试集上的重建损失。这个结果很直观,因为联合训练可以使Fw的预测向量也保留有关输入数据的必要信息以及分类信息,以便Gθ可以很好地对其进行解码以进行重建。但是,以较低的分类精度为代价获得了更好的重建质量。我们在表3的第二列和第三列中显示了分类准确度。我们可以看到,由于联合训练,分类准确度确实有所下降,但仍在可接受的范围内(0.2%-1.5%)。请注意,分类精度,尤其是FaceScrub的分类精度(78.3%),比早期实验中的分类精度(85.7%)稍低,因为这里我们使用原始集的50%来训练Fw,这比以前的Fw少了80%数据集。当然,对手(方案3中的恶意开发人员)可以选择放弃联合培训。也就是说,首先训练Fw以实现高精度,然后对手训练Gθ。有趣的是,对手可以选择使用两个不同的训练集,一个用于Fw,另一个用于Gθ。在此实验中,我们使用CelebA作为辅助集来增强原始训练集。我们在图15的第三行中显示结果,并在表3的最后一列中显示测试集的平均重建损失。我们可以看到,通过使用通用数据扩展训练集,使用黑盒训练的反演模型Gθ Fw可以达到与Fw联合训练的Gθ相当的重建质量。 图15:Gθ的反演结果:用黑盒FaceScrub Fw训练与用FaceScrub Fw联合训练。 我们使用CelebA作为第三行的辅助集的增强训练数据。 图16:Gθ的反演结果:用黑盒MNIST Fw训练与用MNIST Fw联合训练。 总结IV:与分类器Fw一起训练的反演模型Gθ在反演质量方面优于由黑盒Fw训练的Gθ,但代价是可接受的精度损失。 用更多通用数据增强辅助集可以改善由黑盒Fw训练的Gθ,使其与与Fw联合训练的Gθ相当,并保持准确性。 5.7商业预测API的实验 我们在商业Amazon Rekognition API [2]上评估了我们的方法,该API可检测用户上传的图像的面部特征。我们不了解API使用的后端模型。我们使用辅助数据集查询API,并使用预测(面部特征)作为输入来训练反演模型。我们评估反演模型,以重建未知个人的图像和已知个人的未知图像。我们使用清理后的CelebA数据集的80%作为辅助集,而将其余20%留作已知个体的受害者图像。我们将FaceScrub数据集用作未知个人的受害者图像。请注意,我们使用原始的全尺寸CelebA图像查询API以获取准确的预测,但是使用调整后的64×64图像来训练反演模型(其架构如图19所示)。总而言之,我们向Amazon Rekognition API发送了156582个查询(辅助样本)以训练Gθ,并发送了87724个查询(受害者图像)以测试Gθ重建受害者数据的能力。 Gθ的训练时间也大约少于12小时。在撰写本文时,Amazon Rekognition API产生的功能包括情绪(7),微笑(1),面部属性(9),边界框(4),面部地标(60),姿势(3),质量(2)自信心(1)。我们舍弃脸部的边界框,质量和置信度,并使用其余的80种功能。我们将特征值标准化为[0,1]。将面部界标坐标转换为它们到边界框边界的距离与框宽/高的比率,以框的左上角为原点。附录D中的图22给出了在四舍五入之前进行预处理的预测面部特征的示例。 我们分别针对三种不同的截断特征尺寸训练了三个反演模型:80个特征;移除地标的20个功能;和17个功能(通过删除地标和姿势)。为了进一步测试我们方法的鲁棒性,我们将受害者图像的原始特征值分别舍入为1、3和5个小数。我们在图17中给出结果。我们可以看到,如果将受害者图像的预测的80个特征全部输入到反演模型中,则它可以准确地重建这些图像(行6)。此外,它可以捕获比API所提供信息更多的信息。例如,它还可以恢复有关脸颊,牙齿和头发长度的信息。四舍五入的预测特征值对反演没有明显影响(行3-5)。即使从反演模型的输入中删除了地标信息,它仍然可以恢复可识别的面孔(行2)。如果同时删除了地标和姿势信息,则恢复的面孔将不能令人满意,但是可以捕获API输出中包含的面部特征,例如太阳镜,胡须,年龄范围和性别(行1)。我们进一步对反演质量进行了定量测量,并将结果显示在表4中。我们可以从视觉和定量上证实我们的结论。 图17:Amazon Rekognition API的反转。 第一行是通过从受害图像上的API输出中删除界标和姿势而得出的17个要素上Gθ的结果。 第二行是通过删除界标在20个要素上的Gθ的结果。 第3-6行是Gθ在80个要素上的结果。 表4:在Amazon Rekognition API上进行反转的定量测量(均方误差)。 6讨论 先前的工作已经建立了过度拟合与训练数据推断之间的联系。例如,Yeom等。 [75]表明,先验模型反转攻击[21,22]和隶属推断攻击[65]密切相关,并且都对目标模型的过拟合敏感。最近的工作[67]还利用过度拟合将关于训练数据的私人信息嵌入到模型中。相反,我们的工作利用泛化将信息从辅助数据集“传输”到训练Gθ的任务。泛化使模型能够适当地适应新的,以前看不见的数据,基于该模型,转移学习可以将在解决一个问题时获得的知识应用于另一个但相关的问题。使用辅助数据训练Gθ与转移学习有关。具体来说,对从通用数据分布中提取的辅助数据进行充分概括的Fw的软预测会在类之间编码丰富的信息。 Gθ将学习捕获此类隐藏的有用信息以重建输入数据。我们的截断方法进一步帮助Gθ专注于最重要的特征。因此,极度过拟合的模型在软预测中不会提供有用的信息,但是对于工作模型而言通常不是这种情况。 用户有直接或间接发布导出的预测结果的趋势。例如,iOS具有内置功能,允许用户共享从其面部派生的AR表情符号[62]。许多用户在社交媒体上分享他们的面部年龄分数以娱乐[71]。一些共享平台甚至要求用户提供他们的预测结果[70]。幸运的是,这些预测值目前仍很粗糙,这可能使得难以完全反转模型。但是,这些预测服务的潜在增强版本将来可能会提供更准确的值,这可能导致更准确的反演攻击。此外,MLaaS公司经常在隐私权政策中声明,他们不存储或滥用用户上传的数据[6,51],但很少提及他们如何处理导出的预测结果。希望我们的工作可以帮助鼓励公司更新隐私政策(例如,明确说明如何处理导出的预测结果)。 模型反转攻击将有用信息泄漏给恶意方。例如,在面部识别系统的情况下,对手可以恢复其面部图像用作训练数据的个人的代表性面部[21、65]。然而,对于这种攻击是否应归类为隐私攻击,存在相反的观点[47,65]。 7相关工作 机器学习隐私。研究人员强烈建议机器学习模型对其训练数据遭受各种隐私威胁[3、22、31、58、65]。例如,给定对ML模型的访问权,对手可以推断出有关其训练集的重要信息[3]。成员推理攻击[48,65]使对手能够了解自己选择的记录是否属于私人培训的一部分。模型反演攻击[21,22]试图推断训练数据的代表性样本或敏感属性。一些工作进一步改进了敏感属性推断,方法是将其形式化[74],或者不知道非敏感属性[27]。Giuseppe等人[4]表明,对手可以在目标模型的推理阶段推断出训练数据集的统计信息。同样,Hitaj等人[28]研究的是协作学习中的信息泄露,但研究的是训练阶段的信息泄露。最近的工作还研究了协作学习[48,73]和ML即服务平台[67]中的隐私问题。 上面提到的某些攻击会推断出有关训练数据的敏感属性或统计信息。 其他人可以提取训练数据点,但必须操纵模型的训练过程。 成员推理攻击在推理阶段起作用,但是需要给出数据。 另一方面,我们的工作研究了如何在推论阶段根据预测结果重新构建特定的训练数据点或测试数据点。 **对抗设置中的机器学习。**各种工作表明,机器学习模型在对抗环境中很容易受到攻击[14、16、25]。尤其是,对手可能会迫使受害人模型偏离其预期的任务,并按照对手的意愿而举止失常。攻击者可以通过破坏训练阶段(例如,通过对抗性数据增强使训练集中毒[9,40],采用对抗性损失功能[25]),恶意修改受害者模型[14]或喂养受害者来发动这些攻击具有对抗性样本的模型[24、49、57、59、69]。相反,我们的重点不是要使ML模型偏离其预期任务,而是要研究从模型对它们的预测中重建输入数据的可能性。安全和隐私保护的ML在ML技术带来安全和隐私威胁之后,许多研究致力于提供ML模型的安全和隐私保护训练[1,11,56,61,64]这些技术是为了保护有助于训练集的用户数据的隐私性。我们的工作研究了一种不同的威胁模型,其中,对手针对给定模型的预测结果,以重建用户数据为目标。 最近还提出了一些有关保护机器学习模型预测的研究工作[20,32]。 例如,Dwork和Feldman [20]研究了一种使模型的预测相对于训练数据实现差异隐私的方法。 另一方面,我们的工作是通过训练另一个反演模型来研究预测向量和输入数据之间的映射。 Juvekar等。 [32]提出了使用加密工具进行安全神经网络推理的Gazelle框架。 但是,我们的工作是研究一种设置,用户将其预测结果(例如,预测的面部美容和着装感觉得分)发布到社交媒体上,从而导致模型的预测暴露出来。 用于解释的ML反演。 尽管深度神经网络已经在各种应用中表现出了令人印象深刻的性能,但仍不清楚为什么它们表现如此出色。 在解释和理解神经网络方面已经进行了很多研究[45,54,63,66,76,78]。 反转神经网络是了解神经网络学习表示的一种重要方法[19、23、29、54、66、77]。 此类研究工作会颠倒神经网络,以便对其进行理解和解释。 因此,反演可以利用模型和训练数据的所有可能信息。 相反,我们的工作是在对手能力有限的对抗环境中反转神经网络。

    8结论 我们在训练对手模型的基础上提出了一种有效的模型反演方法,该方法是训练与原始模型相反的模型。我们观察到,即使不完全了解原始训练数据,通过对从更通用的数据分布中提取的辅助样本进行训练,也可以进行精确的反演。我们提出了一种将截断预测作为输入来训练反演模型的截断方法。截断有助于使反演模型与对手可能根据受害者用户的数据获得的部分预测相一致。我们的实验结果表明,我们的方法可以在对抗环境中实现准确的反演,并且性能优于以前的方法。 预测结果携带的看似粗糙的信息可能会导致用户和开发人员因果共享此类信息。另一方面,我们的工作显示了在对抗性环境中应用时,反演模型的惊人重建精度。在未来的工作中,研究如何将其他损失函数和其他生成技术(如生成对抗网络)整合到对抗反问题中是很有趣的。

    致谢 我们要感谢我们的牧羊人Vincent Bindschaedler和匿名审阅者的宝贵反馈。 这项研究得到了新加坡国家研究基金会新加坡总理府的支持,部分受其AI新加坡计划(奖励号:[AISG-100E-2019-0033])和部分受其国家网络安全研发计划(授予号: NRF2016NCR-NCR002-012)。

    基于优化的反演 已经进行了一系列研究,使用先验自然图像P(xˆ)来规范优化。 先验定义了图像的一些统计信息。 形式上,求反是找到一个使随后的损失函数最小的xˆ。 O(xˆ)= L(Fw(xˆ),Fw(x))+ P(xˆ)(10) 其中L是一些距离度量标准,例如L2距离。 在文献中已经研究了各种图像先验。 例如,一个共同的先验是α-范数Pα(x)= || x ||αα,这会促使恢复的图像具有较小的范数。 Simonyan等。 [66]使用L2范数,而Mahendran和Vedaldi [44]证明相对较大的α产生更好的结果。 他们在实验中选择L6范数。 Mahendran和Vedaldi [44]还研究了对图像先验使用总变化(TV)PVβ(x),这可以鼓励图像具有分段恒定的补丁。 在下面定义。 此外,在将输入图像提供给网络之前随机移动输入图像还可以用来规范最近工作中的优化[46]。此外,Yosinski等。 [76]研究了其他三个先验的组合。高斯模糊用于惩罚图像中的高频信息。它们以较小的标准裁剪像素,以仅保留图像中的主要对象。此外,它们还剪切对激活贡献很小的像素。该贡献量度了将像素设置为0时激活增加或减少的程度。Fredrikson等人。 [21]采用降噪和锐化滤波器作为模型反转攻击(MIA)中的先验方法。 MIA的目标是为培训课程生成具有代表性的图像。 然而,在这些方法中简单的手工设计的先验P是有限的。它不能真正捕获训练数据空间中的语义信息,因此重建质量(特别是针对大型网络的重建质量)并不令人满意。此外,该方法涉及在测试时进行优化,因为它需要计算梯度,这使其相对较慢(例如,GPU上每个图像6s [44])。

    B模型架构

    C头姿势检测 我们首先通过识别每个图像的面部标志,然后通过解决透视n点(PnP)问题来估计CelebA数据点的头部姿势[38]。面部标志由FAN网络[13]检测,这是一种基于深度学习的方法,用于检测给定面部图像的68个标志。我们使用Python库2构建FAN网络。通过Python3的OpenCV库[12]解决了PnP问题,该库为面部界标生成旋转矩阵和平移矩阵。我们将它们转换为Eular角度(偏航角,俯仰角和横滚角),以将CelebA数据集划分为正面,左转,右转,下翻和翻开面。 在我们的实验中,如果面部图像的偏航角小于-14°,则将其分类为“向左转”;如果其倾斜度小于-35°,则将其分类为“向下”;大于15°则“向上翻”。如果面部图像的偏航角度为[−14°,14°],俯仰角度为[−35°,15°],而侧倾角度为[−10°,10°],则称其为正面图像。我们丢弃其欧拉角不满足上述条件的图像。最终,我们获得109,105个正面,48,137个向左转的脸,33,632个向右转的脸,4,278个向下的脸和2,304个向上的脸。

    D预处理的亚马逊API输出

    Processed: 0.019, SQL: 8