梯度隐私泄露

2023-10-27

动机

  • 传统认为,在用户与用户、用户与中心之间传输梯度信息是安全的,本文打破了这种理所当然。
  • 已知学习模型、权重参数W和真实梯度∇W,只需要少量迭代,可以反向推测出像素级的图像以及标签。
  • 这种推测实际上是一种优化过程,随机生成一组虚拟的图像及标签,结合模型和权重执行前向和反向计算,获得虚拟梯度,目标是最小化虚拟梯度和真实梯度的差距,通过不断地优化输入图像和标签,迭代少量次数后,可以使得这组图像和标签接近(恢复)出真实的图像和标签。
  • 如何抵抗这种现象或是攻击?梯度扰动(例如差分隐私);梯度压缩或稀疏化(例如梯度TOP-K选择);低精度(例如量化);大批量;高分辨率;安全算法(密码学、安全多方计算)。

梯度泄露推测方法(DLG)

在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述

  • 局限性:上述梯度泄露推测在批处理数量为1的时候表现良好;然而随着批处理数量的增加,梯度方向难以选择,收敛更加困难,需要的迭代更新次数增多,甚至无法收敛。
  • 因此,采取大批量更新优化是避免梯度泄露的方法之一,隐私安全强度有待论证。

梯度泄露防御方法

  • 梯度扰动
  1. 添加噪声(高斯噪声或拉普拉斯噪声)
    与噪声方差有关,噪声方差scale of 1 0 − × 10^{-×} 10×越大,梯度推测难度越大,但同时会影响检测任务的准确率;

  2. 低精度,即参数量化(单精度float16、bfloat16(float32的截断形式)、int8)
    float16和bfloat16精度对梯度推测攻击无效;int8可以抵抗这种攻击,但会严重损害准确率。
    在这里插入图片描述

  • 梯度压缩或稀疏化
    将不重要的梯度、或是变化幅度较小的梯度修减为0;使得梯度下降方向选择困难;显然剪枝比例超过20%后,根据梯度信息无法推测出原始图像和标签;梯度TOP-K选择也属于这个范畴,详见这里
    在这里插入图片描述

  • 大批量;高分辨率;安全算法(密码学、安全多方计算)。
    本文提出的DLG梯度泄露推测算法限制batchsize ≤ \le 8,输入图像精度 ≤ 64 × 64 \le 64 \times 64 64×64
    密码学算法中,同态加密显然是安全领域的圣杯,但它要求梯度为整数形式,这涉及编码优化的问题;且适用范围只针对参数服务器;此外,计算和通信开销也是需要关注的优化方向;
    安全多方计算,典型的是两方(多方)秘密共享,但对实时性(同步)要求较高,如何降低通信开销是需要考虑的;**伪随机函数(PRF)**需要得到关注。

梯度信息推测出数据集信息(三种预设)

在这里插入图片描述

  1. 若获得梯度信息,根据权重梯度与偏置梯度的比值可以恢复出数据输入。
    在这里插入图片描述
    在这里插入图片描述
    在这里插入图片描述
  2. 若第一层梯度信息加密,可以根据第二层梯度信息恢复出隐藏层输出 O u t h i Out_{h_i} Outhi(第二层的输入),再利用第一层连接原理解方程组可以恢复出数据输入。
    在这里插入图片描述
    在这里插入图片描述
    在这里插入图片描述
  3. 上述两种情况假设偏置为定值(例如常数1),若神经网络模型偏置项数值由随机数生成;一般采用试错法,采用可能的偏置,比较推测梯度与真实梯度的差距,从而获得近似偏置值,偏置比较接近时可能导致隐私泄露,偏置一般表现为图像亮度变化。
    在这里插入图片描述
  • 应对方法:联邦学习中,传输梯度信息修改为传输权重信息,不再限制用户端的权重更新方式;采用同态加密处理权重信息,协作服务器执行加法权重聚合(同态加法性质)。

参考文献

  1. 2019_NIPS_Deep Leakage from Gradients
  2. 2020_自动化学报_支持数据隐私保护的联邦深度神经网络模型研究
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

梯度隐私泄露 的相关文章

  • IOC和DI的关系

    IOC 控制反转 全称为 Inverse of Control 将对在自身对象中的一个内置对象的控制反转 反转后不再由自己本身的对象进行控制这个内置对象的创建 而是由第三方系统去控制这个内置对象的创建 简单来说就是把本来在类内部控制的对象

随机推荐

  • LLM Data Pipelines: 解析大语言模型训练数据集处理的复杂流程

    编者按 在训练大语言模型的过程中 构建高质量的训练数据集是非常关键的一步 但关于构建大模型训练所需数据集的通用数据处理流程 Data pipelines 的相关资料极为稀少 本文主要介绍了基于Common Crawl数据集的数据处理流程 首
  • 基于Spring Boot+ Vue的健身房管理系统与实现

    小熊学Java全能学 面试指南 https javaxiaobear cn 摘要 随着健身行业的快速发展 健身房管理系统成为了提高管理效率和用户体验的重要工具 本论文旨在设计与实现一种基于前后端分离的健身房管理系统 通过前后端分离的架构模式
  • R语言笔记:机器学习【决策树(Decision Tree】

    写在开头 我是一个学R的小白 因为读研老师要求开始接触R 记一记笔记留给自己以后回顾 顺便分享出来嘻嘻 我把需要深入的的函数进行介绍 方便了解这些函数的用法 一些简单的函数我就不放出来啦 决策树这部分的笔记主要是利用分类回归法哈 rpart
  • Python_集合去重的底层原理

    Python 集合去重的底层原理 https www cnblogs com linshuhui p 9580620 html
  • JAVA枚举类型(enum)的巧妙应用

    枚举类型的应用 实例 总结 根据接口文档的需求 需要使用通用的返回值类型进行返回 实例 return 调用的error方法就是先new一个ApiRestResponse对象 然后返回 之前在controller层调用的ImoocMallEx
  • Java和Java之父

    詹姆斯 高斯林 James Gosling 1955年5月19日出生于加拿大 是Java编程语言的共同创始人之一 一般公认他为 Java之父 1983年高斯林获得了美国卡内基梅隆大学计算机科学博士学位 博士论文的题目是 The Algebr
  • python编程语言介绍-Python基础手册 1 —— Python语言介绍

    python logo png Python 是一门优雅而健壮的编程语言 它继承了传统编译语言的强大性和通用性 同时也借鉴了脚本语言和解释语言的简单性和易用性 一 Python 的历史 Python是由创始人贵铎 范 罗萨姆 Guido v
  • js 字符串转换数字

    本文转载至 http www phpweblog net linxiaobo archive 2008 12 29 6250 html PS 今天用到了 一下子想不起来 所以写下来 省得下次又找 方法主要有三种 转换函数 强制类型转换 利用
  • centos 上安装redis 3.0.5

    官网下载安装包 直接使用make编译 报如下错误 root localhost redis 3 0 5 make cd src make all make 1 进入目录 usr local opentest redis 3 0 5 src
  • 记一次udf提权

    靶场myandmygirlfriend 前面的信息收集就不说了 arp scan l nmap扫描主机和端口 dirsearch扫描目录 打开页面可以看到 only be accessed local 谷歌翻译发现是只能本地访问 看一眼源码
  • Problem:ImageView不能显示图片。

    1 问题分析 要实现的功能是 ImageView被加载进了一个绝对布局对象中 并通过不断地设置LayoutParam来改变其位置 其中ImageView中的图片是以方法setBackgroundDrawable加载的 而用此方法 在过去有一
  • STM32ADC多通道采集(基于DMA)

    首先简单介绍DMA DMA Direct Memory Access 直接内存存取 用来提供在外设和存储器之间或者存储器和存储器之间的高速数据传输 无需CPU干预 节省CPU资源 ADC转换出来的值直接赋值给定义好的变量中 配置好的DMA可
  • PCA降维算法的介绍、多角度推导及python实现

    一 算法原理及数学推导 在对于数据的处理上 特征维度过高经常是一个无法忽视的问题 但是单纯的降维压缩对于数据本身会使得数据信息遭到严重损失 不过以PCA为代表的线性降维算法对这方面有所保证 它的目标是通过某种线性投影 将高维的数据映射到低维
  • JVM内存模型

    内存模型主要分为共享内存和线程独享内存 内存分配原理为1 JVM先检查new关键字 并在常量池中定位到一个类的引用 2 检查定位到的类是否已经经过了加载 解析 初始化等步骤 3 为其分配内存 存储对象实例 一 共享内存 1 运行时常量池 编
  • C++连接数据库

    一 sql h ifndef SQL H define SQL H include
  • 聊聊Spring注解@Transactional失效的那些事

    一 前言 emm 又又又踩坑啦 这次的需求主要是对逾期计算的需求任务进行优化 现有的计算任务运行时间太长了 简单描述下此次的问题 在项目中进行多个数据库执行操作时 我们期望的是将其整个封装成一个事务 要么全部成功 或者全部失败 然而在自测异
  • 通过刷脸来支付的确带给了我们很多便利

    在携带手机不方便或者受到限制的场所 也是刷脸支付的重要应用场景 比如游泳池附近 海边沙滩游乐场 比如易燃易爆的场所 学校 工厂等禁用手机的地方 随着刷脸支付如此私密的功能被越来越多的人接受 刷脸功能也一定不会止步于此 未来更多场景的应用是大
  • bottle.py 实现批量文件上传

    bottle py是python的一个Web框架 整个框架只有一个文件 几十K 却自带了路径映射 模板 简单的数据库访问等web框架组件 确实是个可用的框架 初学web开发可以拿来玩玩 其语法简单 部署也很方便 官方文档 http bott
  • 女程序员珍妮的故事

    我不想说出她的名字 这里就叫她珍妮吧 珍妮有5个最好的朋友 其中2个是 Google 的工程师 一个是 Eventbrite 的工程师 一个是架构师 另外一个是她的老爸 一个很可爱的人 是珍妮家乡的州足球队的主席 珍妮毕业时拿的是企业管理专
  • 梯度隐私泄露

    梯度隐私泄露 动机 梯度泄露推测方法 DLG 梯度泄露防御方法 梯度信息推测出数据集信息 三种预设 参考文献 动机 传统认为 在用户与用户 用户与中心之间传输梯度信息是安全的 本文打破了这种理所当然 已知学习模型 权重参数W和真实梯度 W