[论文阅读]LOGAN: Membership Inference Attacks Against Generative Models

LOGAN: Membership Inference Attacks Against Generative Models

https://arxiv.org/abs/1705.07663v4

Proceedings on Privacy Enhancing Technologies (PoPETs),第 2019 卷,第 1 期。

这篇文章是17年的一篇文章,在大模型还未兴起的时候,文中的方法是相当有效的,因为全文的推理攻击都建立在成员数据在模型中是过拟合的这一机器学习模型结论。然而大模型使得这种过拟合性质淡化,这些方法最终都接近于随机猜测。这点在[论文精读]Do Membership Inference Attacks Work on Large Language Models?-CSDN博客

中已经论述过了。

文章是针对生成模型的成员推理攻击。

预备知识

生成式模型(Generative Model)是机器学习中用于学习数据分布并能够生成新样本的一类模型。与判别式模型(Discriminative Model)不同,生成式模型不仅能够对输入数据进行分类或预测,还能够生成新的数据实例,这些实例在统计上与训练数据相似。生成式模型试图捕捉并建模数据的底层生成过程。

生成式模型的关键特性包括:

1. 数据分布学习:生成式模型通过学习训练数据的分布来捕捉数据的潜在结构和模式。

2. 样本生成:模型能够生成新的数据样本,这些样本在统计上与训练数据具有相似性,但不是简单的复制,而是新的、未曾见过的数据点。

3. 潜在空间:生成式模型通常定义了一个潜在空间(latent space),这是一个低维的、通常是连续的表示,数据的生成过程就是从这个潜在空间中采样并映射到数据空间。

4. 概率框架:生成式模型通常在概率框架下工作,它们对数据的生成过程进行建模,因此可以计算数据的概率分布。

常见的生成式模型包括:

- 自回归模型(Autoregressive Models):如像素RNN和PixelCNN,通过学习数据的顺序依赖性来生成数据。

- 变分自编码器(Variational Autoencoders, VAEs):通过编码器将数据映射到潜在空间的分布参数,然后从这个分布中采样并使用解码器生成数据。

- 生成对抗网络(Generative Adversarial Networks, GANs):由生成器和判别器组成,生成器生成数据,判别器评估数据的真实性,两者相互竞争以提高生成数据的质量。

- 流模型(Flow Models):如Normalizing Flows,通过一系列可逆的变换将简单的分布转换为复杂的分布,从而生成数据。

- 玻尔兹曼机(Boltzmann Machines):一种能量基模型,能够学习数据的联合概率分布。

生成式模型在多个领域有着广泛的应用,包括图像和音频合成、自然语言处理、药物发现、游戏开发等。它们不仅能够用于数据增强和生成新的创意内容,还能够帮助理解数据的生成机制,以及在数据隐私保护方面发挥作用。然而,生成式模型的训练通常比判别式模型更具挑战性,需要仔细设计模型架构和训练策略以避免模式崩溃(mode collapse)等问题。

也就是说,生成式模型会生成和输入比较类似的东西,比如VAE变分自编码器,可以用于生成与训练数据集风格相似的新图像。例如,在手写数字识别领域,VAE可以从MNIST数据集中学习数字的潜在表示,并生成新的手写数字图像。这些生成的图像在统计上与原始训练数据相似,但具体内容是全新的。在实际应用中,VAE通过编码器网络将输入图像映射到一个潜在空间的分布参数(通常是均值和方差),然后从这个分布中采样并使用解码器网络生成新的图像数据。这个过程涉及到重构误差和KL散度的最小化,以确保生成的图像与原始数据的相似性以及潜在表示的连续性。通过这种方式,VAE不仅能够生成新的图像,还可以用于图像编辑、数据增强和异常检测等任务。

方法

1.威胁模型

黑盒攻击:攻击者只能对受到攻击的目标模型进行查询,无法访问模型的内部参数

白盒攻击:黑盒权限+经过训练的目标模型的参数。

攻击的准确性是用正确推断位训练集成员的记录的分数来衡量。

假设:两种情形下,攻击者都知道训练集的大小,而不知道其原始数据点。攻击的变体允许攻击者访问一些进一步的侧面信息。攻击者拥有一组怀疑是成员的数据点(攻击方式的构造并不依赖于数据集)、知道训练集的大小但是不知道如何把数据点拆分成训练集和测试集

白盒攻击中,攻击者只需要访问目标GAN模型的判别器。文中考虑了这样的设置:目标模型参数(GAN中的生成器和判别器模型)在数据泄露后被泄露(被开盒了)或者是模型最初在云上训练然后被压缩或者部署到移动设备上。

黑盒设置:假设攻击者没有任何关于训练记录或者目标模型的先验或者侧面信息。攻击者不知道目标模型的参数和超参数,不了解目标模型的架构、不知道用于训练目标模型的数据点,也不知道训练中使用数据点的类型(因为这是通过在推理的时候对目标模型进行采样推断得出的)、无法获取目标模型生成预测分数

2.白盒攻击

该场景下,攻击者可以访问生成器和判别器。现攻击者有一个数据集,其中n条数据是训练集(成员),m条数据是非成员数据。

攻击者直接创建判别器的本地副本,然后把持有的数据集全部输入到判别器中,得到输出结果的概率向量。如果目标模型在训练数据上过拟合,则判别器会对成员数据设置更高的置信度,此时攻击者只需要把结果按照预测概率进行排序,前n个最大置信度的数据即为成员。(攻击者不用训练任何模型,直接使用目标模型,因为有访问权限)

3.没有辅助知识的黑盒攻击

目标模型没有限制为GAN,因为黑盒未知模型的构造,目标模型可能就没有判别器(比如VAE)。同样假设攻击者持有一个数据集X,其中n个成员,m个非成员。但是攻击者未知训练集是如何从持有的数据集X构建的,因此无法访问数据集中样本的真实标签,也就无法使用判别方法来训练模型(如果已知真实标签,则直接拿来训练一个二分类器即可)

攻击者需要训练GAN以在本地重新构建目标模型,并且在这个过程中创建一个判别器,用于检测生成目标模型中Gtarget的过拟合。

无辅助只是的黑盒攻击

 攻击者需要根据查询结果在本地训练GAN,训练之后就回到白盒攻击上面了,使用本地训练好的判别器生成数据样本对应的概率并排序取前n 个,分类为成员数据。

4.有限辅助知识的黑盒攻击

攻击者可以利用有关训练集的有限附加信息。此外,攻击者可能能够收集其他信息,例如,从在线社交网络上的图片或数据泄露的数据集中收集信息,这些图片已被用于训练受到攻击的目标模型。访问有关训练集的侧面信息意味着攻击者可以“增强”黑盒攻击。

考虑两种设置:生成性和判别性设置;在这两种情况下,攻击者对 test 数据集和/或 Training 数据集的成员了解不完整。

4.1判别性设置:

攻击者训练一个简单的判别模型来推断成员身份

有限知识下的判别式场景

 可行是因为攻击者可以访问数据是否是成员的二进制标签(这个标签源自查询目标模型得到的输出),因此不需要训练生成模型来检测过拟合。这种设置下,攻击者对以下方面的辅助知识有限的两种情况:1.攻击者有 100%肯定没有用于训练目标模型的样本(持有100%非成员数据) 2.攻击者持有训练集(100%成员)和测试集样本(100%非成员)

在这两种情况下,一般的攻击方法是相同的:攻击者训练本地模型以检测目标模型中的过拟合。在 (1) 中,判别器 D 被送入来自该辅助集的样本,标记为负样本,而目标模型生成的样本被标记为正样本。如果目标模型过度拟合训练集, D 将学习区分训练样本和测试样本。在 (2) 中, D 同时输入目标生成的样本和辅助训练样本,标记为真实样本,以及来自辅助测试集的样本,标记为 fake。一旦攻击者训练了判别器,攻击就会再次进行, 如图 3 白盒攻击所示。

必须考虑到攻击者知道一些测试样本(即假样本),以便正确训练二进制判别器。

对情况1进行一个总结叙述:攻击者持有绝对非成员的数据Xtest,以及一些未知具体成员or非成员的数据集X(一直在提及的n个成员数据和m个非成员数据的总和),将Xtest视为负样本(因为一定是非成员),将X输入黑盒模型得到的结果Y视为正样本(里面有成员也有非成员,也就是有正样本也有负样本),如果黑盒模型是过拟合的,那么正样本内部数据之间是有差异的,且负样本和这些正样本中的某类数据是很相似的,判别器就需要将正样本进行细分,重新划分决策边界。

抽象一下就是要重新划定决策边界,这就是判别器的训练。 情况2则是在情况1的基础上增强了成员非成员之间的界限划定,因为有绝对成员数据和绝对非成员数据的存在,使得二者之间的界限更加明晰。

如果目标黑盒模型训练的数据非常大(比如LLM),那么判别式方法就不会很准确,因为成员数据并不是过拟合的,成员非成员之间的边界比较模糊,无法训练一个有效的判别器,这一点在论文中已经被证实[论文精读]Do Membership Inference Attacks Work on Large Language Models?-CSDN博客,结果接近于随机猜测。

4.2生成式设置:

两种辅助有限知识,(1)持有绝对成员(2)持有绝对成员和绝对非成员

有限辅助知识-生成式

 攻击者需要训练的是一个本地的生成对抗网络GAN,该模型目的在于检测目标模型中的过拟合。

场景(1)下,攻击者的判别器使用攻击者的生成器生成的结果进行训练(是负样本),而绝对成员和黑盒模型的输出视为正样本。直观地说,如果攻击者模型具有最初训练的样本的辅助知识,那么它预计攻击者模型更擅长识别目标模型中的过拟合。

在 (2) 中, Db​b 使用辅助测试集生成的样本和来自辅助测试集的 Gb​b 样本进行训练,标记为负样本,以及目标模型生成的样本和辅助训练集的样本,标记为真实。攻击者 GAN 经过训练,可以学习直接区分测试和训练样本。同样,一旦攻击者训练了他们的模型,来自 X 的数据点就会被输入到Db​b ,他们的预测就会按照图 3 进行排序。

这篇论文主要研究了关于对生成模型进行成员推断攻击的可能性,并展示了攻击模型的设计和实验结果。研究使用了几种最先进的生成模型,包括用于面部复杂表征的LFW数据集、用于物体表征的CIFAR-10数据集以及用于医学图像的Diabetic Retinopathy数据集,展示了攻击方法对这些复杂数据集的敏感性。通过对不同训练参数的攻击以及对抗性策略的抗性进行评估,研究发现目前的防御措施要么无效,要么会显著降低生成模型的性能,包括训练稳定性和/或样本质量。研究还讨论了云服务提供商如何使用作者提出的方法来评估生成模型的隐私保护性能。
该论文的贡献包括设计了基于白盒和黑盒设置的攻击方法,展示了白盒攻击在检测生成模型过拟合方面的优异性能,以及如何通过对手生成对抗网络提高黑盒攻击的性能。在实验中,作者测试了多个最先进的模型,包括Deep Convolutional GAN(DCGAN)、Boundary Equilibrium GAN(BEGAN)以及DCGAN与Variational Autoencoder(VAE)的组合模型,使用了包括LFW、CIFAR-10和Diabetic Retinopathy在内的复杂数据集,对攻击的效果进行了实验评估。研究结果表明,当前的生成模型容易受到成员推断攻击,且防御策略要么无效,要么会降低模型性能,并展示了攻击对不同训练集大小和训练参数的敏感性。
总体来说,该论文提出了一种针对生成模型的成员推断攻击方法,并对攻击的实施、敏感性和对抗性策略进行了深入研究。这项研究对生成模型的隐私保护和安全性提出了挑战,并为研究人员提供了更深入了解生成模型保护隐私的重要性和目前面临的挑战。

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/news/884415.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

使用Vite构建现代化前端应用

💓 博客主页:瑕疵的CSDN主页 📝 Gitee主页:瑕疵的gitee主页 ⏩ 文章专栏:《热点资讯》 使用Vite构建现代化前端应用 引言 Vite 简介 安装 Vite 创建项目 启动开发服务器 项目结构 配置 Vite 开发模式 生产构建 使用插…

Node.js:模块 包

Node.js:模块 & 包 模块module对象 包npm安装包配置文件镜像源 分类 模块 模块化是指解决一个复杂问题时,自顶向下逐层把系统划分成若干模块的过程。对于整个系统来说,模块是可组合、分解和更换的单元。 简单来说,就是把一个…

【Arduino】一分钟快速在vs code 编译开发Arduino

下载Arduino 对于一些开发者来说,Arduino开发较为不方便,不管从代码的阅读性、开发效率等等方面,vs code都要优于Arduino IDE开发,而且vs code开发可以使用插件,比如一些AI代码插件,可以加快开发速率&#…

WPF+MVVM案例实战(十九)- 自定义字体图标按钮的封装与实现(EF类)

文章目录 1、案例效果1、按钮分类2、E类按钮功能实现与封装1.文件创建与代码实现2、样式引用与封装 3、F类按钮功能实现与封装1、文件创建与代码实现2、样式引用与封装 3、按钮案例演示1、页面实现与文件创建2、运行效果如下 4、源代码获取 1、案例效果 1、按钮分类 在WPF开发…

Java基本语法和基础数据类型——针对实习面试

目录 Java基本语法和基础数据类型标识符和关键字有什么区别?Java关键字有哪些?Java基本数据类型有哪些?什么是自动装箱和拆箱?自动装箱(Autoboxing)自动拆箱(Unboxing) 自动装箱和拆…

c# 值类型

目录 1、c#类型2、值类型2.1 结构体2.2 枚举 1、c#类型 类型(Type)又叫数据类型(Data Type)。 A data type is a homogeneous collection of values,effectively prensented,equipped with a set of operations which manipulate…

【压力测试】如何确定系统最大并发用户数?

一、明确测试目的与了解需求 明确测试目的:首先需要明确测试的目的,即为什么要确定系统的最大并发用户数。这通常与业务需求、系统预期的最大用户负载以及系统的稳定性要求相关。 了解业务需求:深入了解系统的业务特性,包括用户行…

【玉米叶部病害识别】Python+深度学习+人工智能+图像识别+CNN卷积神经网络算法+TensorFlow

一、介绍 玉米病害识别系统,本系统使用Python作为主要开发语言,通过收集了8种常见的玉米叶部病害图片数据集(‘矮花叶病’, ‘健康’, ‘灰斑病一般’, ‘灰斑病严重’, ‘锈病一般’, ‘锈病严重’, ‘叶斑病一般’, ‘叶斑病严重’&#x…

PAT甲级-1048 Find Coins

题目 题目大意 给出硬币的个数n和要付费的钱m&#xff0c;接下来给出每个硬币的面值。要求从这些硬币中找到两个硬币v1, v2&#xff0c;使得v1 v2 m&#xff0c;且v1 < v2&#xff0c;输出v1 v2。如果不能找到这两个硬币&#xff0c;输出No Solution。 思路 刚开始用的…

算法练习:LCR 179. 查找总价格为目标值的两个商品

题目链接&#xff1a;LCR 179. 查找总价格为目标值的两个商品 利用双指针位于数值两端来进行控制&#xff0c;定义sum来记录两指针分别对应的值的和&#xff0c; 这里有个重要的点就是该数组是升序&#xff0c;所以&#xff1a; 当sum > target时&#xff0c;end--&#x…

构建数据湖仓的开源技术栈有哪些

湖仓一体架构是一种新兴的数据管理方式&#xff0c;它融合了数据湖和数据仓库的优势&#xff0c;提供了统一的数据存储、事务支持、数据治理、实时与批处理能力以及弹性和可扩展性。在开源领域&#xff0c;湖仓一体技术栈的选择非常关键&#xff0c;因为它直接影响到系统的灵活…

每日OJ题_牛客_排序子序列_模拟_C++_Java

目录 牛客_排序子序列_模拟 题目解析 C代码 Java代码 牛客_排序子序列_模拟 排序子序列_牛客笔试题_牛客网 (nowcoder.com) 描述&#xff1a; 牛牛定义排序子序列为一个数组中一段连续的子序列,并且这段子序列是非递增或者非递减排序的。牛牛有一个长度为n的整数数…

电脑软件:推荐一款免费且实用的电脑开关机小工具

目录 一、软件简介 二、软件功能 三、软件特点 四、使用说明 五、软件下载 今天给大家推荐一款免费且实用的电脑开关机小工具KShutdown&#xff0c;有需要的朋友可以下载试一下&#xff01; 一、软件简介 KShutdown是一款精巧且实用的定时自动关机小工具&#xff0c;对于…

网关如何传递信息给微服务

前情回顾 上篇我们已经完成了网关对所有微服务请求的拦截以及JWT的登录校验。 客户端和微服务之间的桥梁--网关&#xff08;身份校验&#xff09;https://mp.csdn.net/mp_blog/creation/editor/143425484 问题引入 现在的问题是在一些微服务业务中&#xff0c;需要用到用户…

BGP路由优选+EVPN

BGP 的路由优选规则是一套多步决策链&#xff0c;用来确定在多个可行路由中选择最优的路由。BGP 是一种路径向量协议&#xff0c;通过这些优选规则&#xff0c;网络管理员可以控制数据流量的流向&#xff0c;确保网络的稳定性和效率。下面以一个实例来详细说明 BGP 的优选规则及…

Vue3图片懒加载(vue3-lazyload)

Vue2图片懒加载 参考文档&#xff1a;vue3-lazyload 效果如下图&#xff1a;vue3-lazyload0.3.8 在线预览 安装 npm install vue3-lazyload # or yarn add vue3-lazyload # or pnpm add vue3-lazyload引入并注册 import { createApp } from vue import VueLazyLoad from v…

Hudi Upsert原理

1. 前言 如果要深入了解Apache Hudi技术的应用或是性能调优&#xff0c;那么明白源码中的原理对我们会有很大的帮助。Upsert是Apache Hudi的核心功能之一&#xff0c;主要完成增量数据在HDFS/对象存储上的修改&#xff0c;并可以支持事务。而在Hive中修改数据需要重新分区或重…

ctfshow web入门文件上传总结

1.web151 前端验证 前端验证&#xff0c;修改html代码&#xff0c;上传还有一句话木马的php文件,之后用蚁剑连接即可找到flag <?php eval($_POST[1])?>2.web152 后端验证&#xff0c;修改mime类型(content-type) burp抓包&#xff0c;修改content-type为image/png …

基于Spring Boot+Vue的助农销售平台(协同过滤算法、限流算法、支付宝沙盒支付、实时聊天、图形化分析)

&#x1f388;系统亮点&#xff1a;协同过滤算法、节流算法、支付宝沙盒支付、图形化分析、实时聊天&#xff1b; 一.系统开发工具与环境搭建 1.系统设计开发工具 后端使用Java编程语言的Spring boot框架 项目架构&#xff1a;B/S架构 运行环境&#xff1a;win10/win11、jdk1…

手把手写Linux第一个小程序 - 进度条(5种版本)

本专栏内容为&#xff1a;Linux学习专栏&#xff0c;分为系统和网络两部分。 通过本专栏的深入学习&#xff0c;你可以了解并掌握Linux。 &#x1f493;博主csdn个人主页&#xff1a;小小unicorn ⏩专栏分类&#xff1a;linux &#x1f69a;代码仓库&#xff1a;小小unicorn的代…