本文学习文章“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的更多相关文章

  1. 数据是企业的无价財富——爱数备份存储柜server的初体验(图文)

    非常早就像上这样一套数据备份系统,每天採用原来的软件备份加手动备份的方式,总有些不是太方便的地方. 加上企业规模的不断扩大,系统的增多,业务数据也日显重要.容不得半点中断和数据丢失.这不,出于对系统数 ...

  2. iOS富文本

    背景:前些天突然想做一个笔记本功能,一开始,觉得挺简单的呀,一个UITextView,网络缓存也不干了,直接本地NSUserDefault存储,然后完事了,美工,弄几张好看的图片,加几个动画,也就这样 ...

  3. iOS之富文本

    之前做项目时遇到一个问题: 使用UITextView显示一段电影的简介,由于字数比较多,所以字体设置的很小,行间距和段间距也很小,一大段文字挤在一起看起来很别扭,想要把行间距调大,结果在XCode中查 ...

  4. 完美解决 向UILable 文字最后插入N张图片,支持向限制行数的UILable 最后一行插入,多余文字显示...

    效果: ====直接上代码吧=== // // UILabel+StringFrame.h // QYER // // Created by qyer on 15/3/19. // Copyright ...

  5. 在线富文本编辑器FckEditor配置(.Net Framework 3.5)

    进入FCKeditor文件夹,编辑 fckconfig.js 文件.1.上传设置  .  var _FileBrowserLanguage         = 'php' ;         // a ...

  6. 向安富利(Avnet)学什么?

    这个只做电子元器件分销的企业,居然能数次进入<财富>排行榜.看来,这是一个在供应链上创造价值的高手.在企业竞争已经集中到供应链竞争的今天,安富利的成功之道,无疑具有特别的意义. 2000年 ...

  7. 富文本 SpannableString Span

    经典使用场景 SpannableStringBuilder needStartSSB = new SpannableStringBuilder("需要"); SpannableSt ...

  8. 【ThinkPHP学习】ThinkPHP自己主动转义存储富文本编辑器内容导致读取出错

    RT. ThinkPHP的conf文件里的Convention.php有一个配置选项 'DEFAULT_FILTER' => 'htmlspecialchars', // 默认參数过滤方法 用于 ...

  9. 百度ueditor富文本编辑器的使用

    百度ueditor富文本编辑器的使用 //以下为我在官网下载的ueditor v1.3.5 php版的大楷配置步骤第一步: //配置文件的引入应该比功能文件先引入,最后设置语言类型.即:editor. ...

  10. ASP.NET MVC + 百度富文本编辑器 + EasyUi + EntityFrameWork 制作一个添加新闻功能

    本文将交大伙怎么集成ASP.NET MVC + 百度富文本编辑器 + EasyUi + EntityFrameWork来制作一个新闻系统 先上截图: 添加页面如下: 下面来看代码部分 列表页如下: @ ...

随机推荐

  1. 两个新出的 JavaScript 运算符

    在 ECMAScript 2021(ES12)中,JavaScript 引入了新的逻辑赋值操作符 &&= 和 ??=.这些操作符将逻辑运算符与赋值运算符相结合,提供了更加简洁.直观的赋 ...

  2. 使用Microsoft.Extensions.AI简化.NET中的AI集成

    项目介绍 Microsoft.Extensions.AI是一个创新的 .NET 库,它为平台开发人员提供了一个内聚的 C# 抽象层,简化了与大型语言模型 (LLMs) 和嵌入等 AI 服务的交互.它支 ...

  3. python的迭代器和生成器?

    python中的迭代器和生成器都是用来处理数据序列的. 迭代器 迭代器是一个可以记住遍历位置的对象,使用iter()创建一个迭代器,使用next()方法依次返回迭代器中的每一个元素,如果数组里面的数据 ...

  4. html代码新手教学

    HTML 是超文本标记语言(HyperText Markup Language)的缩写,是用来描述网页结构的标记语言.在这篇教学中,我们将介绍一些 HTML 基础知识,帮助新手快速学习并掌握如何编写简 ...

  5. NZOJ 模拟赛4

    T1 数字游戏 大家列队后,都觉得累了,于是一起坐到院子中的草地上休息.这时Anna突然想跟她的最大竞争对手Cici玩一个数字游戏,她要你编写程序帮助她取得胜利. 第i次游戏初始时有一个整数N_i(1 ...

  6. 异步编程在ArkTS中具体怎么实现?

    大家好,我是 V 哥,很好奇,在ArkTS中实现异步编程是怎样的,今天的内容来聊聊这个问题,总结了一些学习笔记,分享给大家,在 ArkTS中实现异步编程主要可以通过以下几种方式: 1. 使用async ...

  7. Hello Markdown(完结)

    Hello Markdown Markdown是一种轻量级的「标记语言」. 专注于文字内容: 纯文本,易读易写,可以方便地纳入版本控制: 语法简单,没有什么学习成本,能轻松在码字的同时做出美观大方的排 ...

  8. zookeeper 分布式锁服务

    分布式锁服务在大家的项目中或许用的不多,因为大家都把排他放在数据库那一层来挡.当大量的行锁.表锁.事务充斥着数据库的时候.一般web应用很多的瓶颈都在数据库上,这里给大家介绍的是减轻数据库锁负担的一种 ...

  9. 【Spring】IOC核心源码学习(二):容器初始化过程

    接上文 啃啃老菜: Spring IOC核心源码学习(一) ,本文将以 ClassPathXmlApplicationContext 这个容器的实现作为基础,学习容器的初始化过程. ClassPath ...

  10. re模块 函数模式详解

    re模块 python爬虫过程中,实现页面元素解析的方法很多,正则解析只是其中之一,常见的还有BeautifulSoup和lxml,它们都支持网页HTML元素解析,re模块提供了强大的正则表达式功能 ...