AI驱动的生态系统中的数据管理:WhiteNoise的介绍
WhiteNoise是OpenDP最新提供的差异隐私系统。差异隐私的目的是维护个人身份信息的安全性并防止数据库重建攻击。WhiteNoise系统提供的方法是工具包的一部分,该工具包使研究人员可以轻松地利用差异隐私技术来增强其现有流程。
差异隐私系统
差异隐私系统提供检查,平衡和控制,使研究人员和分析人员能够在
机器学习模型内的模型准确性与数据隐私约束之间取得平衡。该系统允许用户:
控制数据-通过用户预算限制数据访问请求的完整性
增加噪声–将噪声注入数据集(ε/噪声级与精度成反比)
报告-提供私有数据并透明化结果
谁是OpenDP?
OpenDP是一种开源协作,旨在构建工具系统,以实现对敏感个人数据的隐私保护分析。作为哈佛隐私工具项目和微软之间的一项共同努力,如今该项目包括了行业,学术界和政府的贡献。
在OpenDP白皮书中了解有关差异隐私和OpenDP的更多信息
白噪声库
可以在GitHub上将OpenDP White Noise库用作算法的开源库,用于生成差分私有算法,以对敏感数据进行统计分析和机器学习。当前的功能假设研究人员受到数据所有者的信任,并能够使用SQL在表格数据存储上创建差异化私有结果,在服务内实现共享隐私预算,以组成查询和差异化隐私分析,以进行黑盒随机测试。
WhiteNoise方法是用Rust编写的,可以通过协议缓冲区(protobuf)在Python中加以利用。正在做其他工作以使功能在R中也可用。
WhiteNoise核心组件包含执行差异性隐私的统计评估和分析所必需的库。
分析 -计算的图形表示
验证程序 -用于验证差异私有的rust库
运行时 -Rust参考运行时
绑定 -python语言绑定
WhiteNoise系统组件包括与核心组件进行交互的机制。
数据访问-用于拦截和处理SQL查询的Python库
支持:PostgreSQL,SQL Server,Spark,Presto,Pandas
服务 -REST端点,用于针对共享数据源提供请求或查询
评估器 –支持隐私,准确性,效用和偏差测试
系统::数据访问
在AI驱动的组织中,我们如何使数据更易于用于组织中的分析和见解,同时还保护客户和客户的私人数据?WhiteNoise SQL DataReader是Python中可用的包装器,当调用PrivateReader方法时,该包装器触发向数据集添加白噪声。详情如下:
解析器–获取查询和元数据
验证器-验证器检查查询是否满足差异性隐私的要求
重写器–修改查询以强制执行范围
数据库执行–查询由目标数据库引擎执行
后处理–将汇总提交给差异隐私算法以创建差异私有结果
让我们看看如何使用WhiteNoise库和来自Kaggle.com的Titanic火车数据集。下面的代码段是一个调用SQL Data Reader多么容易的示例。研究人员需要导入WhiteNoise模块,该模块公开opendp.whitenoise.metadata和opendp.whitenoise.sql库。阅读器库包装了Pandas库中的PandasReader模块。
上面突出显示了致电读者的步骤。您必须首先针对数据源实例化PandasReader对象,然后针对PandasReader对象实例化WhiteNoise PrivateReader。然后可以将查询传递给WhiteNoise PrivateReader对象。如图所示,WhiteNoise包装器易于实现,并且可以在PostgreSQL,SQL Server,Spark,Presto和Pandas中扩展。
查看来自PrivateReader的结果时,应注意,随后对PrivateReader的调用将导致稍有不同的结果。当将随机噪声注入数据集时,结果应均匀分布。
YAML文件中有什么?
PandasReader对象和WhiteNoise PrivateReader对象都采用CollectionMetadata对象,并读取有关数据集的元数据。
收入,年龄,性别和医疗特征都是可以视为个人身份和私人的属性。
对可识别个人身份的数据集进行分析时,哪些字段是私有的?研究人员进行实验需要哪些领域?谁应该访问这些字段?
组织可以利用元数据文件来定义哪些字段需要预算,并设置变量的上限和下限。
可以用YAML或直接用代码构造元数据
右边是Titanic训练集的示例YAML文件。
系统::服务
WhiteNoise库包括用于自动生成REST客户端的方法和通过大头钉定义的API模型。这些API提供对核心模块的访问:数据集,线性回归,逻辑回归,SQL和综合数据。
核心::分析与验证器+系统::评估器
核心库中有统计方法,可在常用的汇总统计计算中强加差异隐私:均值,方差,矩和协方差。通过返回受到高斯,几何或拉普拉斯噪声干扰的数据集,可以对数据进行私有化。每种方法都有可用的机制以及使数据集数字化,过滤和转换的方法。
在实验中,数据集的大小也可以视为私有的,或者研究人员可以使用未知大小的数据集。核心库提供了夹紧,调整大小,计算n和无效检查的方法。钳位是定义变量上限和下限,调整添加记录到数据集的大小以掩盖总体大小的方法,n是估计样本数据大小,而null是确定验证器是否可以保证结果的能力。
下面的示例将高斯噪声添加到数据集中的“年龄”值中。可以通过传递的epsilon值来调整隐私使用情况。较大的ε意味着较少的隐私。较小的ε意味着更多的隐私。
分析后,评估者可以让我们分析和评估我们的分析是否满足差异隐私标准:
隐私权测试-报告是否符合不同的隐私权条件?
准确性测试-报告的可靠性是否落在上限和下限之内?
效用测试-置信范围是否足够接近数据?我们在最大化隐私吗?
偏差测试-重复查询的分布是否均衡?
我们已经了解了WhiteNoise软件包如何使系统能够保护个人身份信息。想更多地了解责任ML和WhiteNoise?OpenDP的GitHub存储库包含Python笔记本,可帮助您开始使用WhiteNoise库。上周,Microsoft Build 2020宣布了新的Responsible ML和WhiteNoise功能。您可以在Set 9 Juarez的Channel 9 AI-Show上观看哈佛大学隐私工具项目负责人Salil Vadhan,并了解WhiteNoise背后的科学。您还可以查看Azure AI公司副总裁Eric Boyd发布的有关负责任ML和我们可以信任的构建AI系统重要性的文章。
此外,全球AI社区获得了负责任ML工具的预览。Eva Pardi提供了Interpret-Text的概述,Interpret-Text是一个开放源码包,使开发人员能够了解其模型行为以及进行单个预测的原因。Willem Meints讨论了FairLearn,这是一个python程序包,使开发人员能够评估和解决模型中的公平性和观察到的不公平性。最后,Sammy Deprez通过Microsoft Seal和OpenEnclave将带您进入保密ML的神奇世界。

关注 CDA人工智能学院 ,回复“录播”获取更多人工智能精选直播视频!