《Reinforcement Learning-Based Black-Box Model Inversion Attacks》详细解读

原文链接

1 摘要

什么是Inversion attack?
Inversion attack是一种隐私攻击,仅通过访问模型来重建用于训练机器学习模型的私有数据。

利用GAN从公用数据中提取知识然后进行白盒模型的inversion attack效果很好。
利用GAN在黑盒模型中进行inversion attack的攻击无法保证在有限的查询次数内完成攻击,而且效果不如白盒攻击。
为了克制上述问题:本文提出了一种基于强化学习的黑盒inversion attack。
攻击分包含以下几个要点:

  1. 将latent space的搜索描述为马尔科夫过程(MDP),之后利用强化学习来解决它。
  2. 强化学习的reward:生成图像的置信度分数
  3. 最后用MDP中训练的agent找到的latent vector来重构私有数据

2 Introduction

随着智能设备越来越多,面临了一个问题:
如何保证被用于训练的个人私有信息不被坏人从训练好的模型中窃取?
其中最出名的方法就是inversion attack,只要能够访问模型就能窃取数据。Inversion attack可以分为下面几类:

  • 白盒攻击:指攻击者可以获取受害者模型的所有参数。
    白盒攻击的步骤:
    1.利用GAN在公共的数据集上学习私有数据的先验知识
    2.利用梯度优化的方式搜索并找到特定标签数据的latent vectors

  • 黑盒攻击:指攻击者只可以访问到目标模型输出的置信度分数。
    黑盒攻击方法目前存在的问题:
    无法保证在有限查询次数内完成攻击(这一点对于Inversion attack很重要,因为线上的模型查询需要付费,其次如果查询次数过多有可能会被判定为异常)
    无法达到与白盒攻击差不多的攻击效果

  • label-only attack:指攻击者只可以访问到目标模型输出的hard label。

因此本文提出了:Reinforcement Learning-based Black-box Model Inversion attack (RLB-MI)

  1. 整合强化学习,从置信度分数中获得潜在空间探索的有用信息。
  2. 将GAN中潜在空间的探索表述为马尔可夫决策过程(MDP)中的一个问题。
  3. 根据生成图像的置信度得分为agent体提供奖励,并使用replay memory中的更新步骤使agent能够近似包含latent space的environment。
  4. agent根据这些信息选择的action可以比现有方法更有效地引到latent vector。
  5. 通过GAN从latent vector重建私有数据。
    (其中的latent vector可以看做是普通GAN中从高斯分布中采样的z,只是在这个论文中它是又马尔科夫过程生成的)

3 Proposed Method

下面这个是整个论文的总体流程图:
图1.总体流程图
解释这个流程图:
首先,我们有一个Agent(A),在第t次迭代中它会生成一个Action at ,当前的状态St 根据这个动作生成了下一个状态St+1 ,将St+1和at 两个向量传给GAN生成对应的图片,这个图片传递给目标模型T,T会给出相应的置信度分数,然后作为Reward RT来更新Agent

3.1 Problem Formulation

攻击目标

Inversion attack的攻击目标:从在私有数据Dpvt的训练的目标模型中重构目标类y的代表性数据。

攻击者能够获取的知识

  • 输入的数据
  • 查询后对应的软标签
  • 目标模型的用途

总体来说

给定一个在私有数据Dpvt训练的目标模型T
给定一个在公共数据Dpub训练的GAN
攻击者可以从T获得包含置信度分数的软标签
主要目标: 找一个latent vector可以让G生成高置信度的并且属于Dpvt 数据中的某个类的图片。

3.2 MDP for Latent Space Search

latent space搜索的MDP的组成部分:state、action、state transtion、reward。

State:MDP的state就是GAN的latent space
每一个episode,第一个状态s0 k维的标准正太随机向量:
s 0 ∼ N k ( 0 , 1 ) , s 0 ∈ R k s_0 \sim \mathcal{N}_k (0,1), s_0 \in \mathbb{R}^k s0Nk(0,1),s0Rk
k就是latent space的维度,每一个step t,st根据at来更新

Action:我们把action space看作是整个latent space。我们定义一个latent vector-shape action 作为guidance vetor。
从与state space相同的空间中选择action,可以广泛地探索整个latent space,防止agent陷入局部极小值,保证agent的收敛性。
each step t 时,当前状态st的动作at由强化学习的agent A来决定:
a t = A ( s t ) , a t ∈ R k a_t = A(s_t), a_t \in \mathbb{R}^k at=A(st),atRk

State transition:通过移动当前state向action靠近,移动的步长由diversity factor α来控制,每个step t 的状态转移定义为:
s t + 1 = α ⋅ s t + ( 1 − α ) ⋅ a t s_{t+1} = \alpha \cdot s_t + (1 - \alpha) \cdot a_t st+1=αst+(1α)at
其中α是一个超参数,α越大多样性越强。反之当α趋向于0时下一个状态会与当前的action完全相同,因此agent只是专注于为目标模型生成具有最高概率的图像,缺乏了多样性。

Reward:在state根据action更新后,agent会受到来自environment的reward。
G用更新后的latent vector来生成图片,模型T会推断并给出目标类y的置信度分数。
本文的Reward由三部分组成:
state score:
r 1 = log ⁡ [ T y ( G ( s t + 1 ) ) ] r_1 = \log [ T_y ( G ( s_{t+1} ) ) ] r1=log[Ty(G(st+1))]
action score:
r 2 = log ⁡ [ T y ( G ( a t ) ) ] r_2 = \log [ T_y ( G ( a_t ) ) ] r2=log[Ty(G(at))]

我们希望重建的图像具有目标类的特征,使其区别于其他类的图像,因此引入了下面的r3:
r 3 = log ⁡ max ⁡ { ε , T y ( G ( s t + 1 ) ) − max ⁡ i ≠ y T i ( G ( s t + 1 ) ) } r_3 = \log \max \{ \varepsilon, T_y ( G ( s_{t+1} ) ) - \max_{i \neq y} T_i ( G ( s_{t+1} ) ) \} r3=logmax{ε,Ty(G(st+1))i=ymaxTi(G(st+1))}
计算目标类的置信度得分与其他类的最大置信度得分之差。由于小于或等于零的数的对数值是未定义的,因此对数取相减值和小正数ε的较大值。
Each step完整的Reward:
R t = w 1 ⋅ r 1 + w 2 ⋅ r 2 + w 3 ⋅ r 3 R_t = w_1 \cdot r_1 + w_2 \cdot r_2 + w_3 \cdot r_3 Rt=w1r1+w2r2+w3r3

3.3 Solving the MDP With Reinforcement Learning

我们通过强化学习解决了将latent space搜索问题表述为MDP的问题。
MDP的environment包含了:目标模型T和生成模型G
我们使用Soft ActorCritic (SAC)来解决。

Soft ActorCritic (SAC)的具体流程:

Soft Actor-Critic (SAC) 是一种先进的强化学习算法,特别适合于解决具有连续动作空间的复杂问题。它结合了 Actor-Critic 方法的优势和熵正则化技术。以下是 SAC 的详细过程:

1. 初始化
  • 两个 Critic 网络:SAC 使用两个独立的 Critic 网络(通常是深度神经网络),它们分别估计状态-动作对的 Q 值。这种双 Critic 方法有助于减少过估计偏差。
  • Actor 网络:一个策略网络(Actor)用于选择动作。它输出一个概率分布,表示在给定状态下选择每个可能动作的概率。
  • 目标 Critic 网络:两个目标 Critic 网络与两个主 Critic 网络结构相同,但它们的权重是慢慢跟踪主 Critic 网络的。
  • Replay Memory:初始化一个用于存储经验的回放记忆。
2. 收集数据
  • 执行动作:Actor 网络根据当前状态选择动作。动作是从 Actor 网络输出的概率分布中采样得到的。
  • 存储经验:将经验(状态、动作、奖励、新状态)存储在 Replay Memory 中。
3. 训练过程
  • 从 Replay Memory 中采样:定期从 Replay Memory 中随机采样一批经验。
  • 更新 Critic 网络:使用采样的经验,计算目标 Q 值。目标 Q 值由奖励加上折扣后的下一个状态的预期回报(由目标 Critic 网络估计)组成。然后根据这个目标 Q 值和两个 Critic 网络的输出更新 Critic 网络。
  • 更新 Actor 网络:Actor 网络的更新是为了最大化 Critic 网络的输出值(预期回报)加上策略的熵。熵项鼓励策略保持一定的随机性,增加探索。
  • 更新目标 Critic 网络:慢慢地更新目标 Critic 网络的权重,使其接近主 Critic 网络的权重。
4. 改进和评估
  • 重复训练循环:持续执行动作、收集数据、更新网络的循环。
  • 策略改进:随着训练的进行,策略(Actor 网络)将逐渐改进,以在探索和利用之间实现平衡,同时最大化长期奖励。
5. 应用策略
  • 应用训练好的策略:一旦 Actor 网络经过充分训练,它就可以用于实际决策,如控制机器人或玩游戏。

SAC 的关键优势在于它自然地平衡了探索与利用,并且通过熵正则化鼓励更多的探索,这使得算法在处理不确定性和探索未知环境时表现出色。此外,双 Critic 架构有助于稳定训练过程并减少估计偏差。

训练完成后,我们可以通过给训练好的agent提供一个随机初始向量作为初始状态,来获得each episode的重构图像。

完整的训练过程见算法1:

在这里插入图片描述

Conclusion

我们提出了一种新的黑盒模型inversion attack,使用基于强化学习的GAN。我们将latent space探索作为一个MDP问题,并训练一个强化学习agent来解决MDP问题,即使在没有关于目标模型的信息(如权重和梯度)的情况下。提出的攻击解决了以前的黑盒攻击的问题。此外,实验结果表明,我们的攻击成功地重建了目标模型的私有数据。我们的攻击不仅优于最先进的黑盒攻击,而且优于所有其他方法,包括白盒和仅标签攻击。希望本研究能够对黑箱模型的反攻击与防御研究起到一定的推动作用。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

懒惰才能让科技进步

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值