SAN基于卷积自动编码器进行受限优化:最大化某一分类器表现的同时最小化另一分类器表现

电子说

1.3w人已加入

描述

编者按:UW-Madison统计学助理教授Sebastian Raschka简明扼要地概述了他的最新研究SAN(半对抗神经网络)。SAN基于卷积自动编码器进行受限优化:最大化某一分类器表现的同时最小化另一分类器表现。

简要总结手头的项目,和包括同事、学生在内的更一般的受众分享,我觉得这是一个不错的主意。因此,我给自己的挑战是用不到1000个单词完成总结,避免让具体细节和技术术语分散注意力。

本文主要讨论了我最近和iPRoBe实验室合作的研究项目,研发隐藏面部图像的特定信息的技术。本文谈论的是关于“保持可用性的同时最大化隐私”的研究(这一目标和差分隐私研究的目标有些类似)。

如果你对本文讨论的研究项目感兴趣,可以参考以下两篇论文获取更多信息:

Semi-Adversarial Networks: Convolutional Autoencoders for Imparting Privacy to Face Images(半对抗网络:赋予面部图像隐私的卷积自动编码器,ICB 2018,arXiv:1712.00321)

Gender Privacy: An Ensemble of Semi Adversarial Networks for Confounding Arbitrary Gender Classifiers(性别隐私:对抗任意性别分类器的半对抗网络集成,BTAS 2018,arXiv:1807.11936)

保持可用性的同时改善隐私

我们处理的研究问题可以看成一个更一般的受限优化问题:我们希望在保持计量生物学可用性的同时隐藏面部图像的特定信息。具体来说,我们有三个目标:

扰乱性别信息

确保面部图像看起来真实

保留计量生物学识别可用性

计量生物学识别包括两种子任务:在一对多匹配中识别未知人物的身份(A)和在一对一匹配中验证某人的身份(B):

这里,“扰乱”性别信息意思是给定的性别分类器不再能够可靠地预测某人的性别。我们可以设想很多为什么需要防止自动提取个人属性的理由。这里给出三个典型的例子:

基于性别的画像

窃取身份(通过结合众多可以公开获取的资源)

在用户不知情的情况下提取数据

无论何时,只要拍摄、上传、(在中央数据库中)储存面部图像,就可能引起上面提到的问题。作为反制措施,在销售给第三方前,系统(例如,超市监控摄像头)可以预配性别扰乱技术,使得最终用户更难侵犯用户的隐私,防止出于未经许可的目的收集数据。比如,隐藏面部图像数据库中的信息可能同时有助于确保GDPR合规。

半对抗网络的一般用途

当然,我们轻而易举就能隐藏性别数据,只需增加图像噪声或加扰到一定程度。然而,我们需要牢记的是显著改动图像可能同时让面部图像变得无用(计量生物学识别)。

尽管我在上一节中突出了研发SAN的主要动机(保持可用性的同时改善隐私),SAN背后的主要思路可以看成更一般的方法,受限优化任意损失函数。这意味着SAN可以用于任何我们希望在最大化某一分类器的表现的同时最小化另一分类器的表现的问题。因此,即使你处理的不是面部识别问题,SAN同样可能有助于解决你面临的受限优化任务。

下一节将描述我们在ICB 2018提交的论文中的SAN总体架构。

半对抗网络架构

根据我们在论文中提供的图像,SAN的架构可能看起来有点晦涩,不过,如果我们将它分成三个主要部分,就比较直截了当:

扰乱输入图像的自动编码器,确保图像看起来接近原图

能够给出精确预测的面部匹配器

不能给出精确预测的性别分类器

SAN的训练过程可以总结为以下的PyTorch(伪)代码:

ae = AutoEncoder()

gc = GenderClassifier()

fm = FaceMatcher()

gc.load_state_dict(torch.load('saved_fm_model.pkl'))

fm.load_state_dict(torch.load('saved_gc_model.pkl'))

for fixed_model in (gc, fm):  

for param in fixed_model.parameters():  

param.requires_grad = False

optimizer = torch.optim.Adam(ae.parameters(), lr=learning_rate)

for epoch in range(num_total_epochs):  

# ...  

cost = loss_reconstruction + loss_gender_classification + loss_face_matching  

cost.backward()  

optimizer.step()

(完整代码发布在GitHub仓库iPRoBe-lab/semi-adversarial-networks) 注意,在评估SAN模型时,不仅使用了未见面部图像数据集,同时还丢弃了训练中使用的性别分类器和面部匹配器,使用了一组未见面部匹配器和性别分类器。

致好奇名字由来的读者,下图解释了为何我们将这一配置称为半对抗:

多样性和概括性

正如我们的BTAS 2018论文提到的,我们最近致力于通过增强数据集等措施改善原SAN模型的概括性表现。例如,为了避免Buolamwini等在Gender shades: Intersectional accuracy disparities in commercial gender classification(性别阴影:商业性别分类器的区际差异)中讨论的偏差,我们过采样了深肤色个体的随机样本(在大多数面部数据集中为少数类别),以缓解潜在的偏差。此外,我们扩展了评估组合,引入了更多的未见性别分类器和面部匹配器。

后续

正如论文中提到的,目前还有很多方面有待探索,比如不同的集成方案,多属性扩展等。

本文大致介绍了我们在SAN和差分隐私方面的一些研究。更多研究成果即将发表。同时,我们很兴奋,能在今年秋季的BTAS 2018(10月22日-25日,洛杉矶)会议上呈现我们的最新结果,以及在ODSC West 2018(10月31日-11月3日)上报告我们的研究。

打开APP阅读更多精彩内容
声明:本文内容及配图由入驻作者撰写或者入驻合作网站授权转载。文章观点仅代表作者本人,不代表电子发烧友网立场。文章及其配图仅供工程师学习之用,如有内容侵权或者其他违规问题,请联系本站处理。 举报投诉

全部0条评论

快来发表一下你的评论吧 !

×
20
完善资料,
赚取积分