Label Inference Attacks Against Vertical Federated Learning

article/2025/8/22 17:15:17

USENIX Security 2022

摘要:

随着欧盟《通用数据保护条例》、中国《中华人民共和国数据安全法》等法案的颁布实施,联邦学习(Federated Learning,FL)作为一种具有隐私保护属性的分布式机器学习模型训练范式,日益被各大互联网公司所重视。

FL中的分支之一,水平联邦学习(Horizontal Federated Learning,HFL)适用于如下场景:各个训练参与者(或称数据提供者,以下统一称为“参与者”)的数据集在特征空间对齐,而在样本空间互不重叠;例如两个不同地域的地方银行之间的协作——两者的用户群体互不重叠,但是特征都是年龄、收入、职业等。

而另一分支,垂直联邦学习(Vertical Federated Learning,VFL)则适用于另一场景:各个参与者的数据集在样本空间一致,但在特征空间不同;例如某银行与某电商平台之间的合作——两者的用户群体存在重叠,但是各自拥有不同的用户特征。

FL因其隐私保护属性被重视,但是一些研究工作发现FL中仍然存在各种间接隐私泄露问题。目前学术界关于FL中隐私泄露的工作主要专注于HFL,对VFL的潜在隐私风险缺乏探索,本文拟填补此研究空白。考虑到VFL适用场景下,各个参与者各拥有一部分特征数据,而标签数据则被保护在服务器端,所以标签数据的隐私性是VFL必须保证的。事实上,标签数据往往具有敏感的隐私属性,例如,某人是否患有某种疾病。然而,本文研究发现,现有的VFL架构对于标签的存储使用具有间接的隐私泄露风险:架构中由参与者维护的底层模型参数、训练算法中的梯度交换机制都有可能被潜在的恶意参与者利用,以窃取服务器端的标签数据。

在图1所示的VFL体系结构中,只有一个参与者拥有标签,这与HFL不同,HFL中每个参与者都有自己的标签样本。确保私人标签的隐私是VFL提供的基本保证,因为标签可能是参与者的关键资产或高度敏感。此外,敌对参与者可能会试图利用被盗的标签建立类似的业务,或将敏感标签出售给地下行业。

针对VFL架构的特点,本文提出三种标签推断攻击:

  1. 基于模型补全和半监督学习的被动攻击

    研究发现,VFL架构中,某恶意的参与者可以先补全本地模型(即给本地模型添加分类层),然后使用半监督学习算法(如MixMatch),借助少量辅助打标样本fine-tune补全后的模型的分类层。最后,输入本地feature到训练后的补全模型,即可推断标签。实验结果表明,此被动攻击方法可以在文本、图像等各种模态的多个数据集上有效地推断训练和测试样本的标签。

  2. 基于本地恶意优化器的主动攻击

    研究发现,VFL架构中,某恶意的参与者可以通过恶意提高本地优化器的学习率获得模型参数优化时的优先权,并使得本地模型间接获得更好的特征提取能力,以增强基于模型补全的攻击方法的效果。实验结果表明,此主动攻击方法可以在文本、图像等各种模态的多个数据集上提升标签推断成功率。

  3.  基于梯度推算的直接攻击

    受到相关工作《iDLG: Improved Deep Leakage from Gradients》的启发,本文进一步研究发现,对于不设置top model的VFL架构,可以直接依据服务器端反传的梯度的符号,推算出当前训练数据的标签。因为基于直接推算,此直接攻击方法在实验涉及的所有数据集上取得了100%的标签推断成功率。

    另外,本文评估了4种主流联邦学习隐私增强方法:梯度加噪,梯度压缩,PPDL(Privacy-preserving deep learning)和梯度离散化。实验结果显示现有的这4种防御无法有效抵御标签推断攻击:无法做到既基本维持模型在原任务上的性能,又有效降低标签推断攻击的推断成功率。例如对于梯度加噪,噪声过低时无法使得标签推断成功率显著降低,噪声过大时又导致模型在原任务上性能降低过多,无法找到合理的平衡点。 


http://chatgpt.dhexx.cn/article/4blEsAOq.shtml

相关文章

因果推理简介(causal inference)

结构因果模型SCM 结构因果模型(SCM)由内生变量 V V V、外生变量 U U U和映射函数 F F F构成。因果的定义:若 Y Y Y在 f X f_X fX​ 的定义域中,则 Y Y Y是 X X X的直接原因 ;如果 Y Y Y是 X X X的直接原因,…

变分推断(Variational Inference)

1.变分推断简称VI,是一种确定性近似推断方法 2.基于平均场理论的VI是假设q(z)可以分解为M个独立qi 3.采取坐标上升法可以求解VI问题 4.VI有两个局限:假设太强,同时积分也不一定能算 5.为了解决积分不能算问题,考虑采取随机梯度法进…

【因果推断与机器学习】Causal_inference: Chapter 4

Chapter4: Estimation 一旦我们找到了识别因果量的策略,我们就需要选择如何使用统计方法估计这些因果量。我们使用受实际计算应用程序启发的示例来描述最常用的方法。首先,我们介绍因果估计的基础知识:如何从已确定的估计值到估计器&#xf…

variational inference

theta: org parameter, theta_P: variational parameter 1. goal: 估计p(z|x) 2. 找p(x|theta)likelihood的lower bound,再max这个lower bound 就能找到 p(z|x)的近似分布q(z|theta_P) 3. 找complete likelihood ln[p(x,z)]的关于qj j!i的期望 4. incomplete lik…

Paddle Inference(模型推理)实例分析

一、Paddle推理生态 二、API说明 create_predictor 方法 # 根据 Config 构建预测执行器 Predictor # 参数: config - 用于构建 Predictor 的配置信息 # 返回: Predictor - 预测执行器 paddle.inference.create_predictor(config: Config)加载预测模型 - 非Combined模型 impo…

对于jetson nano 的docker部署jetson-inference等模型

对于Nvidia jetson nano来说是一款十分优秀的网络模型部署设备我对于nano来说也是学习了2个星期左右.这也是对我这一阶段做一个复习总结吧! 目录 烧录 下载jetson-inference dock镜像部署操作 跑个例程助助兴 找到函数接口进行调整 我用的是jetson nano a02 版本 是4GB内存…

LLM Inference 串讲

大家好,这里是 NewBeeNLP。 本文主要概述一下当前LLM 是如何生成文本及为什么对应的资源(cost/latency)与prompt 和completion 都有关系。更佳阅读体验请点击原博客地址:LLM Inference 串讲(https://xv44586.github.io/2023/03/10/llm-inf/) …

【PaddleInferenceSharp】基于C#和Paddle Inference 部署PaddlePaddle模型

1. 项目介绍 Paddle Inference 是飞桨的原生推理库, 提供服务器端的高性能推理能力,直接基于飞桨的训练算子,因此它支持飞桨训练出的所有模型的推理;Paddle Inference 功能特性丰富,性能优异,针对不同平台不…

Paddle Inference C++ 依赖库安装(Windows)

Paddle Inference C 依赖库安装 1. 环境准备2. 下载安装库3. 设置环境变量4. VS C 项目配置 Paddle Inference 是飞桨的原生推理库, 提供服务器端的高性能推理能力。由于 Paddle Inference 能力直接基于飞桨的训练算子,因此它支持飞桨训练出的所有模型的…

ESIM:Enhanced LSTM for Natural Language Inference

原文链接:https://aclanthology.org/P17-1152.pdf ACL 2017 概述 对于自然语言推理任务,Bowman等人在2015年提出了一个大数据集,大多数工作就开始使用神经网络来对该任务进行训练。但作者认为序列模型的潜力还没有完全被挖掘,因此…

Triton Inference Server教程2

本文介绍如何编写一个config文件,config.pbtxt文件中包含哪些可以配置的参数,这些参数又会对triton server产生什么影响。 必须指定的模型参数 platform/backend:模型要在什么backend上面运行,可以用两种参数指定,一…

变分推断(variational inference)/variational EM

诸神缄默不语-个人CSDN博文目录 由于我真的,啥都不会,所以本文基本上就是,从0开始。 我看不懂的博客就是写得不行的博客。所以我只写我看得懂的部分。 持续更新。 文章目录 1. 琴生不等式2. 香农信息量/自信息I3. 信息熵4. 相对熵/KL散度/信…

Hugging Face - 推理(Inference)解决方案

每天,开发人员和组织都在使用 Hugging Face 平台上托管的模型,将想法变成概念验证(proof-of-concept)的 demo,再将 demo 变成生产级的应用。 Transformer 模型已成为广泛的机器学习(ML)应用的流…

变分推断(Variational Inference)解析

一、什么是变分推断 假设在一个贝叶斯模型中, x x x为一组观测变量, z z z为一组隐变量(参数也看做随机变量,包含在 z z z中),则推断问题为计算后验概率密度 P ( z ∣ x ) P(z|x) P(z∣x)。根据贝叶斯公式…

深度学习-在线推断(Inference)技术

深度学习一般分为训练和在线推断两个部分,大家平时经常关注的多为训练阶段,也就是搜索和求解模型最优参数的阶段。而当模型参数已经求解出来,如何使用模型,以及在在线环境中部署模型,也是非常重要的。 一般会比较关注其…

推理(Inference)与预测(Prediction)

在机器学习的背景下,很多人似乎混淆了这两个术语。这篇文章将试图澄清我们所说的这两个词是什么意思,每一个词在哪里有用,以及它们是如何应用的。在这里,我将举几个例子来直观地理解两者之间的区别。 推理和预测这两个术语都描述…

嵌入式C语言自我修养:从芯片、编译器到操作系统(附送书籍)

关注星标公众号,不错过精彩内容 来源 | 宅学部落 最近,阅读了王工(王利涛)赠送的一本由他编著的书籍《嵌入式C语言自我修养》,感觉写的挺不错。今天分享一下这本书籍《嵌入式C语言自我修养》:从芯片、编译器…

进行嵌入式C语言编程调试的通用办法

总结了一下调试我们嵌入式C程序的一些基本的办法和思想,供大家学习参考: 打印日志:在代码中添加打印语句,输出变量值、函数调用等信息,以便在程序运行时观察程序执行情况。 断点调试:在代码中添加断点&…

linux c与c语言的区别吗,嵌入式c语言与c语言的区别

原标题:嵌入式c语言与c语言的区别 最广泛使用的系统编程语言是C语言,它是使用自由格式源代码的简单编程语言;它曾用于以前用汇编语言构建的应用程序中。嵌入式C是C语言的扩展,它在嵌入式系统中应用于编写嵌入式软件,那么二者之间究竟有什么差异呢? 一、启动过程 1. 通用c…

嵌入式C语言——常见面试题

1、描述一下gcc编译过程? gcc编译过程分为4步骤:预处理、编译、汇编、链接。 预处理:头文件包含、宏替换、条件编译、删除注释。编译:主要进行词法、语法、语义分析等等,检查无误后把预处理好的文件编译成汇编文件。…