富数-AnonymFL
本文学习文章“2022 WAIC|「全匿踪联邦学习」AnonymFL正式发布:破解用户ID暴露难题,实现真正合规可信的隐私计算”,记录笔记。
引言
2022年08月26日,富数科技宣布实现了“全匿踪联邦学习”,突破了无需安全求交、不泄露交集ID、在全匿名数据集下进行联邦学习的技术难题。
2022年09月01日,在2022 世界人工智能大会的“可信AI论坛”上正式发布全新产品「全匿踪联邦学习」AnonymFL,解决了目前隐私计算方案中普遍存在的“缺少个人同意“、”ID泄露“的重大法律风险问题,让机构之间的数据要素价值流通真正合规可信。
好像没开源,这是核心产品。
好奇具体用了什么算法。


- 先混淆,再对齐。
背景
机构和机构之间进行纵向联邦学习,中间不能少的一步就是安全求交、样本对齐。按照目前行业内的普通采用的安全求交技术(PSI),包括基于RSA、基于OT等不同的技术路线,都有一个共同的特点——只保护交集之外的样本不被暴露,交集之内的用户ID必须在所有参与方进行同步(同步即暴露)。因为不同步就无法进行后续的联邦训练。
那么把ID进行哈希加密(这里应该是单纯的哈希,不是加密(加随机数))共享是不是就完全合规了?答案是否定的,因为ID哈希加密依然可以唯一识别到特定自然人,在实际应用场景下,交集之内的用户ID在未经个人用户的授权下也违背了《个人信息保护法》要求。因此,不少机构的法务部门会要求暂缓通过隐私计算对外进行数据服务合作,但也有部分机构在夸大隐私计算技术安全的承诺下,实施商业化项目,却并没有消除用户ID暴露的风险。
为了攻克这个技术瓶颈,富数科技自主研发了「全匿踪联邦学习」AnonymFL——实现在无交集泄露的、匿名化的多方数据集上进行联邦学习。按照《个人信息保护法》“第四条,个人信息是以电子或者其他方式记录的与已识别或者可识别的自然人有关的各种信息,不包括匿名化处理后的信息。”,匿名化处理后满足各项合规要求。
ID哈希加密属于匿名化么?所以说把ID哈希后暴露到底违法么?
介绍
和普通的安全求交不同,全匿踪的样本对齐,经过了密态混淆,参与方无法得知对方每一行样本ID,就连自己的每一行样本ID也无从知晓,交集ID可实现不被泄露的同时又保持对齐。之后再执行密态条件下的匿名化,得到一个完全不再是个人信息的数据,即使进行解密,也无法识别到个人(这是上面仅哈希做不到的!)。
如何处理数据?混淆、匿名化的?
经过了匿名化处理后的样本,参与方持有的是全匿样本的碎片,包括碎片化的标签、碎片化的特征。里面的样本有的是相交的,有的是不相交的。不在交集里的样本也参加训练,但它的值是一个共享的密态0,所以虽然参与计算,但不会产生任何结果上的影响。(混淆?)
整个流程和经典的纵向联邦逻辑回归基本一致,密态计算sigmoid,密态计算损失值,密态计算梯度,进行迭代直到收敛。计算量和通信量会有所增加,但耗时依然在可接受的范围内,依然保持了高性能和高精度。
特性
1. 不暴露样本交集
与传统联邦学习不同:AnonymFL不再使用安全求交输出双方共同的样本ID集合,而是让多于交集的样本一起进入到联邦学习计算(混淆)。参与各方无法获取有哪些样本参与了联合建模,从而避免暴露各自的用户ID。富数科技自研创造的匿踪样本对齐算法:在保持匿踪的条件下,实现了参与各方的样本对齐。针对匿踪对齐的样本,又设计了匿踪的联邦学习算法:在保持匿踪的条件下,进行联合建模,迭代训练直到收敛。
2. 实现真正的匿名化
为了进一步满足《个人信息保护法》合规要求,AnonymFL增加了对匿踪对齐的样本集的匿名化算法处理。经过匿名化算法处理的匿踪对齐样本集,无法识别到特定自然人且不能复原。(即先对齐,再匿名化)
对匿名化后的样本集将不再属于个人信息,并不再需要获得用户的授权同意,可以进行各种合规的计算、建模和加工处理,是一种保留了高价值、又安全合规的可流通的数据要素。
3. 保持高性能、高精度
富数科技在保证安全的首要基础上,对匿踪对齐算法、匿名化算法、匿踪联邦学习算法进行了计算量和空间存储的优化,实现了性能的可用性,同时保持精度不降低。
扩展
- 匿名化。只有将用户信息匿名化,才能使用用户信息。
- 泄漏信息。计算传输过程中,可能会泄漏中间信息。
- 合谋。部分参与方可能会合谋,获取额外信息。
应用
应用到了反欺诈、联合营销等用户授权难度高,而应用需求又非常迫切的实际场景中。
未来,我们也将积极将其拓展到智慧民生、智慧医疗、智能政务、智能汽车等高价值数据要素流通场景中去,为实现全国数据资源流通“一盘棋”目标贡献力量。
补充,后面又看到一篇文章,友商也站出来解读了,现在学习一下来自友商的文章“全匿踪联邦学习--样本对齐”
解读

- 友商的话我也很赞同~

- 这样是不是就暴露了技术所用的算法,哈哈~
Circuit-PSI

- 交集的共享结果是?想让你知道的,比如“交集之和,交集最大值等”
- 以下内容来自:VOLE-PSI: Fast OPRF and Circuit-PSI from Vector-OLE

- 其中\(X=\left \{ x_i \right \} ,Y=\left \{ y_i \right \},Q=\left \{ q_i \right \},Z=\left \{ z_i \right \}\)。
- 这就是VOLE(vector oblivious linear evaluation,向量伪随机线性计算)的功能,如果\(x_i=y_i\),则\(z_{i'}^0\oplus z_{i'}^1=(\hat{x}_{i'} || \hat{y}_{i'})\),否则就为0。
- 另外相关属性值是?相当于item值对应的标签label。

\(P_1\)的相关属性值为\(\hat{X}\in \left \{ 0,1 \right \}^{\sigma x}\)。
\(j\in [1,k]\)。
Simple Hash是每次插入一个数据时,用到所有的哈希函数,最后表\(T_Y\)中有\(k*n\)个数据(每行都有)。
Cuckoo Hash是每次插入一个数据是,随机选一个哈希函数,最后表\(T_X\)中有\(n\)个数据(一行有)。
执行OPPRF操作:
- 发送方有键值对\(L=(y',r_i||\hat{y}\oplus w_i')\),其中\(y'\in T_y[i]\)
- 接收方有表\(T_X\),其中\(x'\in T_X[i]\)
- 若\(y'=x'\),则接收方得到\(r_i||\hat{y}\oplus w_i'\)
执行VOLE操作:
- 发送方有\(r_i||w_i\)
- 接收方有\(r_i’||w_i’||\hat{x}\)

- 这部分看不太懂,后续补充。
- 功能就是双方都得到了\(Z=\hat{x}||\hat{y}\)
富数-AnonymFL的更多相关文章
- 数据是企业的无价財富——爱数备份存储柜server的初体验(图文)
非常早就像上这样一套数据备份系统,每天採用原来的软件备份加手动备份的方式,总有些不是太方便的地方. 加上企业规模的不断扩大,系统的增多,业务数据也日显重要.容不得半点中断和数据丢失.这不,出于对系统数 ...
- iOS富文本
背景:前些天突然想做一个笔记本功能,一开始,觉得挺简单的呀,一个UITextView,网络缓存也不干了,直接本地NSUserDefault存储,然后完事了,美工,弄几张好看的图片,加几个动画,也就这样 ...
- iOS之富文本
之前做项目时遇到一个问题: 使用UITextView显示一段电影的简介,由于字数比较多,所以字体设置的很小,行间距和段间距也很小,一大段文字挤在一起看起来很别扭,想要把行间距调大,结果在XCode中查 ...
- 完美解决 向UILable 文字最后插入N张图片,支持向限制行数的UILable 最后一行插入,多余文字显示...
效果: ====直接上代码吧=== // // UILabel+StringFrame.h // QYER // // Created by qyer on 15/3/19. // Copyright ...
- 在线富文本编辑器FckEditor配置(.Net Framework 3.5)
进入FCKeditor文件夹,编辑 fckconfig.js 文件.1.上传设置 . var _FileBrowserLanguage = 'php' ; // a ...
- 向安富利(Avnet)学什么?
这个只做电子元器件分销的企业,居然能数次进入<财富>排行榜.看来,这是一个在供应链上创造价值的高手.在企业竞争已经集中到供应链竞争的今天,安富利的成功之道,无疑具有特别的意义. 2000年 ...
- 富文本 SpannableString Span
经典使用场景 SpannableStringBuilder needStartSSB = new SpannableStringBuilder("需要"); SpannableSt ...
- 【ThinkPHP学习】ThinkPHP自己主动转义存储富文本编辑器内容导致读取出错
RT. ThinkPHP的conf文件里的Convention.php有一个配置选项 'DEFAULT_FILTER' => 'htmlspecialchars', // 默认參数过滤方法 用于 ...
- 百度ueditor富文本编辑器的使用
百度ueditor富文本编辑器的使用 //以下为我在官网下载的ueditor v1.3.5 php版的大楷配置步骤第一步: //配置文件的引入应该比功能文件先引入,最后设置语言类型.即:editor. ...
- ASP.NET MVC + 百度富文本编辑器 + EasyUi + EntityFrameWork 制作一个添加新闻功能
本文将交大伙怎么集成ASP.NET MVC + 百度富文本编辑器 + EasyUi + EntityFrameWork来制作一个新闻系统 先上截图: 添加页面如下: 下面来看代码部分 列表页如下: @ ...
随机推荐
- STM32F103RCT6搭配“ST_LINK V2 √RoHS 'A 2023 04'”在CubeIDE中下载程序到单片机
一.请参考本站大佬文章进行接线: ST_LINK V2接口和连接方式 二.步骤: 到此,大功告成. 小手点赞,水逆退散!!!
- Five minute introduction to ANTLR 3
What is ANTLR 3? ANTLR - ANother Tool for Language Recognition - is a tool that is used in the const ...
- 正则g修饰符对test方法的影响
标签: js 坑位 最近在使用正则的时候遇到一个问题,从一个数组中选出符合我要求的元素做进一步使用,但正则验证莫名的失效不通过,坑位代码片段如下 测试地址 : var reg = /\[.{32}\] ...
- 一图归纳三大种类矩阵范数:诱导范数,元素范数,Schatten范数,涵盖谱范数,2范数
转载自:https://blog.csdn.net/qq_27261889/article/details/87902480
- ChatGPT生成接口测试用例(二)
5.1.4 自动生成测试数据 测试数据的生成通常是接口测试的一个烦琐任务.ChatGPT可以帮助测试团队生成测试数据,包括各种输入和它们的组合.测试人员可以描述他们需要的数据类型和范围,ChatGPT ...
- Collector的配置和使用
目录 Collector的配置和使用 Collector配置 Receivers Processors Exporters Service Extensions 使用环境变量 Collector的使用 ...
- X-Frame-Options
X-Frame-Options头主要是为了防止站点被别人劫持,iframe引入 nginx配置形式: add_header X-Frame-Options ALLOWALL; #允许所有域名ifram ...
- dubbo(一)spring schema拓展技术
https://blog.csdn.net/java_zldz_xuws/article/details/84648398 在阐述dubbo原理之前,我先介绍一下dubbo与spring怎么糅合在一块 ...
- jQuery ajax - serializeArray() 方法 实例表单提交
serializeArray()在ajax表单提交时候非常方便获取元素 定义和用法 serializeArray() 方法通过序列化表单值来创建对象数组(名称和值). 您可以选择一个或多个表单元素(比 ...
- Qt开源作品15-视频监控画面
一.前言 视频监控系统在整个安防领域,已经做到了烂大街的程序,全国起码几百家公司做过类似的系统,当然这一方面的需求量也是非常旺盛的,各种定制化的需求越来越多,尤其是这几年借着人脸识别的东风,发展更加迅 ...