富数-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来制作一个新闻系统 先上截图: 添加页面如下: 下面来看代码部分 列表页如下: @ ...
随机推荐
- Codeforces 777 题目研讨
题目连接 A B C D E 题目分析 A 难度:普及− 题面翻译: 给你三张牌:\(0\),\(1\),\(2\). 最初选一张,然后依次进行 \(n\) 次交换,交换规则为:中间一张和左边的一张, ...
- 题解:CF687C The Values You Can Make
CF687C The Values You Can Make 题解 题目翻译感觉不明不白的(至少我看了几遍没看懂),这里给个较为清晰的题面. 题目描述 给你 \(n\) 个硬币,第 \(i\) 个硬币 ...
- WIN10 SERVICES -- 部署IIS
一 . 添加角色功能 二. 添加WEB服务器(IIS) 三. 打开TCP ASP.NET 安装 供运行端口
- 4. Spring Cloud Ribbon 实现“负载均衡”的详细配置说明
4. Spring Cloud Ribbon 实现"负载均衡"的详细配置说明 @ 目录 4. Spring Cloud Ribbon 实现"负载均衡"的详细配置 ...
- 狗的名字 ATCOER-ABC-171-C One Quadrillion and One Dalmatians
狗的名字 ATCOER-ABC-171-C One Quadrillion and One Dalmatians 题目链接 我们可以将名字看成26进制的数,就可以转化为将一个10进制转26进制的数的问 ...
- Java并发基础构建模块简介
在实际并发编程中,可以利用synchronized来同步线程对于共享对象的访问,用户需要显示的定义synchronized代码块或者方法.为了加快开发,可以使用Java平台一些并发基础模块来开发. 注 ...
- DSPf28335 --工程模版相关文件
创建工程需要的两个文件 DSP2833x_common 1.cmd 下图中的两个文件(由TI公司提供的) 1.28335_RAM_lnk.cmd :程序下载到RAM中进行调试和仿真所使用的启动文件. ...
- 震惊!推荐一款AI驱动的自动化测试神器:TestCraft
在当今快速迭代的软件开发环境中,自动化测试已经成为确保软件质量的重要一环.然而,传统的手动录制和编写测试脚本的方式不仅耗时耗力,还难以跟上敏捷开发的节奏. 本文将为大家介绍一款基于AI技术的自动化测试 ...
- 探索Matplotlib-Gallery:Python数据可视化的游乐园
探索matplotlib-gallery:Python数据可视化的游乐园 在数据科学的世界里,数据可视化是一个不可或缺的工具,它帮助我们理解数据.发现模式.并传达信息.Matplotlib是Pytho ...
- P11378[GESP202412 七级]燃烧 题解
闲话 花了一个小时. 主要原因:条初始值硬控我半小时,题目看错硬控我半小时(悲). 正文 看题目,就是求从哪个点出发所得到的所有单调下降序列的总长度最长(这个描述好奇怪,不过意思是对的). 题目中说的 ...