跳到正文
原文

从模型解释中重建模型

Model Reconstruction from Model Explanations

arXiv· arXiv:1807.05185· FAT· Smitha Milli, Ludwig Schmidt, Anca D. Dragan, Moritz HardtUniversity of California, Berkeley本站收录· 12 天前· 原文发表入选 攻击精选关注度38

论文速读

攻击

据论文 PDF 整理(AI 生成),以原文为准

作者称,从梯度解释可重构模型:理论上 O(h log h) 查询学两层 ReLU 网络,实验上比预测 API 攻击省数个数量级查询。

威胁模型攻击者目标是从解释 API 重构出保密的专有模型 f。

问题
商业模型既想保密又要提供决策解释,二者存在张力。作者指出,流行的梯度类解释(saliency maps)可能在副作用中泄露模型本身。
方法
理论上给出用输入梯度查询重构两层 ReLU 网络的算法:沿随机直线二分搜索梯度突变点恢复超平面,再解线性方程恢复符号。实验上用梯度损失加 membership 损失的联合损失训练替代模型来匹配目标模型的输出和梯度。
实验与结果
理论上 O(h log h) 查询可精确重构两层 ReLU 网络,与维度无关。实验上梯度查询比 membership 查询省 10–1000 倍查询;SmoothGrad 处理后的梯度几乎不降低重构效果;模型类未知或数据分布未知(高斯查询)时梯度仍然有帮助。
局限与可以继续做的
理论结果仅限两层 ReLU 网络,作者提出能否扩展到 depth-3 或 k 层网络、能否设计抗重构的解释方法等开放问题;实验只在 MNIST 和 CIFAR10 的图像模型上做,未测试对解释 API 的查询限流等防御。
实验设置1-layer network (multinomial logistic regression)、2-layer neural network with ReLU activations 等 · MNIST、CIFAR10 · test accuracy of reconstructed classifier、number of queries
威胁模型
攻击者目标是从解释 API 重构出保密的专有模型 f。攻击者可以对自选输入 x 进行查询,获得模型在 x 处的函数值 f(x) 和输入梯度 ∇f(x)(membership and gradient queries),包括经 SmoothGrad 处理的梯度;受害系统是提供 saliency map 解释接口的商业模型。
被测模型
1-layer network (multinomial logistic regression)2-layer neural network with ReLU activationsConv (two convolutional layers each followed by a max-pool layer, followed by two dense layers)VGG11ResNet-18
基准
MNISTCIFAR10
指标
test accuracy of reconstructed classifiernumber of queries
AI 导读和推荐理由研究者从理论和实验证明,基于梯度的模型解释会快速泄露模型本身,专有模型的保密需求与提供解释之间存在张力。理论上,论文提出从输入梯度查询中学习两层 ReLU 网络的算法,以 O(h log h) 次查询即可高概率恢复功能等价的模型,查询次数与输入维度无关,对模型规模的依赖接近最优。实验中,作者给出的启发式方法在 MNIST 和 CIFAR10 上重建模型所需的查询量比依赖预测接口的重建攻击少几个数量级,如 MNIST 卷积模型用 10 次梯度查询达到 95% 准确率,而成员查询需 1000 次;经 SmoothGrad 处理的梯度也未能明显减缓重建。作者指出,解释质量标准必须与模型泄露风险相权衡。

研究者从理论和实验证明,基于梯度的模型解释会快速泄露模型本身,专有模型的保密需求与提供解释之间存在张力。理论上,论文提出从输入梯度查询中学习两层 ReLU 网络的算法,以 O(h log h) 次查询即可高概率恢复功能等价的模型,查询次数与输入维度无关,对模型规模的依赖接近最优。实验中,作者给出的启发式方法在 MNIST 和 CIFAR10 上重建模型所需的查询量比依赖预测接口的重建攻击少几个数量级,如 MNIST 卷积模型用 10 次梯度查询达到 95% 准确率,而成员查询需 1000 次;经 SmoothGrad 处理的梯度也未能明显减缓重建。作者指出,解释质量标准必须与模型泄露风险相权衡。

推荐理由论文从理论和实验说明基于梯度的解释接口会泄露模型,所需查询量比依赖预测接口的模型窃取攻击少几个数量级。

深度解读

6个问题,点开问题读完整回答

  1. 这篇论文试图解决什么问题?

    作者称,提供梯度类模型解释与模型保密存在张力:解释 API 会快速泄露模型本身。

    核心问题:基于梯度的模型解释(saliency maps)是否会让专有模型被重构,从而与模型保密发生冲突。

    • 场景与动机:商业 ML 模型正用于医疗诊断、就业、刑事司法等高风险决策,对模型解释的需求不断增长,而模型保密正是这一需求的部分动因。同时公司有正当理由保密模型:竞争价值、防止被博弈导致预测力下降、防止泄露训练数据敏感信息。
    • 现有工作的缺口:已有研究关注从预测 API 窃取模型(Tramèr et al. [19]),但作者指出,解释 API 这一互补的泄露渠道尚未被研究;解释方法研究(如各种 saliency map 变体)则未考虑模型泄露风险。
    • 核心观察:梯度比标签包含更多信息。线性模型 f(x)=⟨w,x⟩ 的梯度就是参数 w 本身,一次梯度查询即可学到;作者由此假设梯度查询能大幅减少重构所需查询数。
    • 论文贡献:(1) 理论上提出"从输入梯度查询学习"的框架,给出以 O(h log h) 查询精确重构两层 ReLU 网络的算法;(2) 实验上给出与目标模型结构无关的重构启发式,作者报告其查询效率比依赖预测接口的重构攻击高数个数量级。
    • 威胁模型:
      • 目标:重构出与未知模型 f 功能等同的模型 f̂。
      • 知识:理论部分假设已知模型为两层 ReLU 网络及隐藏维 h;实验的后续部分放宽为模型类和数据分布均未知。
      • 能力:对自选输入 x 查询,获得 f(x) 与梯度 ∇f(x)(membership and gradient queries),含 SmoothGrad 处理后的梯度。
      • 受害系统:提供标准 saliency map 的解释 API 背后的专有模型。
  2. 有哪些相关研究?

    相关工作分三类:预测 API 模型窃取、membership query 学习理论、saliency map 解释方法。

    模型窃取与预测 API

    • Tramèr et al. (2016) [19]——展示如何通过预测 API 在实践中重构模型;本文研究的是互补的威胁:通过(假设的)解释 API 泄露模型。Papernot et al. (2017) [10] 的实用黑盒攻击同属"训练新分类器匹配目标输出"这一启发式,本文的实验方法即在此基础上加入梯度损失。
    • Dwork and Feldman (2018) [7]——差分隐私可防御来自预测 API 的攻击;作者指出,差分隐私能否防御来自解释的重构尚不清楚。

    查询学习理论

    • Angluin (1988) [1]——membership query 学习框架:学习者主动向 oracle 查询自选输入的标签;本文提出互补的"输入梯度查询"学习框架,作者认为它可能是解释 API 重构背后的理论框架。
    • Baum (1991) [3]——用 membership queries 学习两层线性阈值网络;作者称本文算法的几何直觉与之类似。
    • 两层 ReLU 网络学习近年受到关注(Safran and Shamir 2018 [11]、Tian 2017 [18]、Zhong et al. 2017 [21]),论文将其列为通往更深层非线性模型的挑战,未逐一对比。

    模型解释方法

    • 梯度 saliency map:Baehrens et al. (2010) [2]、Simonyan et al. (2013) [14] 提出对输入求梯度这一最基本形式。
    • 各种在原始梯度上加变换的变体:Zeiler and Fergus (2014) [20]、Springenberg et al. (2014) [16]、SmoothGrad(Smilkov et al. 2017 [15])、Integrated Gradients(Sundararajan et al. 2017 [17]);论文提到这些方法之间存在适用场景的分歧,本文抽象掉实现细节,只针对底层原语——输入梯度。

    基线与基准:实验基线是仅用 membership queries 训练替代模型(匹配输出的交叉熵损失),对比梯度查询和 SmoothGrad 查询;数据集为 MNIST 和 CIFAR10。

    作者将本文定位为:与预测 API 窃取平行的"解释 API 泄露"方向的第一步,理论上是 membership query 学习的互补框架。

  3. 论文如何解决这个问题?

    理论算法沿随机直线二分搜索梯度突变点恢复超平面再解符号;实验启发式用联合损失训练替代模型。

    整体思路分两部分:理论算法针对两层 ReLU 网络,利用梯度在分片线性单元边界处突变的结构精确恢复参数;实验启发式把梯度当作额外监督信号,训练替代模型同时匹配输出和梯度。

    问题设定

    • 目标函数为单隐层 ReLU 网络 f(x) = ∑i=1h wi max(Ai⊤ x, 0),参数 A∈R^{h×d}、w∈R^h。
    • 三条假设:A 的行为单位向量;任意两行不共线(⟨A_i,A_j⟩≤1−c);行线性无关。前两条作者称可通过重参数化无损一般性。
    • oracle:给定 x 返回 f(x) 与 ∇f(x)。

    理论算法(Algorithm 1)

    • 关键结构:f 是分片线性函数,g(x)=I{Ax≥0} 把输入空间划成若干 cell,同一 cell 内梯度恒定;两点梯度不同说明之间存在分隔超平面,足够近时梯度差恰为 ±w_iA_i。
    • 步骤一(Algorithm 1a 恢复 Z):取随机 u,v∼N(0,I_d),沿线段 u−lv 到 u+lv 以分辨率 ε 二分搜索梯度变化点,重复 h 次,把梯度差作为 Z 的行,恢复出 ±w_iA_i。
    • 步骤二(Algorithm 1b 恢复符号 s):选取 h 个梯度相同且 Rank(ZX)=h 的查询点(附录 B 给出用线性规划求 Chebyshev 中心来选点的方法),构造 2h×2h 矩阵 M 并解线性方程 Ms=[f(x_1),…,f(−x_h)],得 s∈{−1,0,1}^{2h},使 f(x)=[max(Zx,0)ᵀ max(−Zx,0)ᵀ]s。
    • 保证:Theorem 1——以概率 1−δ 在 O(h log(h/δ)) 次查询内找到 f̂=f,失败时会报告失败;查询数与输入维度 d 无关,且在最优性上只差对数因子(模型有 dh+h 个参数,每次查询只揭示 O(d) 个数)。附录 C 给出用 d 次 membership 查询有限差分估计梯度的转换,得 O(dh log(h/δ)) membership 查询版本。

    实验启发式

    • 梯度损失:ℓ_G(x)=‖∇f(x)−∇f̂(x)‖₂²,与 membership 损失组合成联合损失 ℓ_J(x)=ℓ_G(x)+λℓ_M(x),ℓ_M 为 f(x) 与 f̂(x) 间的交叉熵。
    • 查询类型:membership only、membership+raw gradient、membership+SmoothGrad 梯度(SmoothGrad 对加噪输入的梯度取平均,∇f̃(x)=(1/N)Σ∇f(x+z_i),z_i∼N(0,σ²I))。
    • 流程:先训练目标模型 f,再从 f̂ 的训练集(10,000 张图,无真实标签)随机采样输入查询 f,训练同类 f̂,最后在 10,000 张测试图上测 f̂ 准确率。
    • 后续实验设置:(1) 用不同模型类的 f̂ 重构 f(模型类未知);(2) 用高斯随机输入 x∼N(0,I_d) 查询(数据分布未知)。

    成功判定

    • 理论:f̂ 与 f 功能等同(逐点相等)。
    • 实验:f̂ 在 10,000 张测试图上的分类准确率,以及达到给定准确率所需的查询数。
  4. 论文做了哪些实验?

    在 MNIST/CIFAR10 上重构 6 个模型,梯度查询比 membership 查询省 10–1000 倍查询。

    实验设置

    • 目标模型:MNIST 上 3 个——1-layer(multinomial logistic regression)、2-layer ReLU 网络、Conv(两个卷积层各接 max-pool,再接两个全连接层);CIFAR10 上 3 个——同一 Conv 结构、VGG11、ResNet-18。
    • 数据集:MNIST(f 训练集 50,000 张)与 CIFAR10(f 训练集 40,000 张);f̂ 训练集 10,000 张(无真实标签,需查询 f);测试集 10,000 张。
    • 查询类型:membership only、membership+gradient、membership+SmoothGrad(实验取 N=10;MNIST 上 σ=1000σ_D,CIFAR10 上 σ=σ_D,σ_D 为数据集标准差,附录 D)。
    • 基线:仅用 membership 查询(交叉熵损失)训练替代模型,对应 Tramèr et al. [19]、Papernot et al. [10] 的启发式。
    • 指标:重构模型 f̂ 在测试集上的准确率,对比达到同等准确率所需查询数(横轴为查询数,对数刻度)。
    • 重复次数:论文未报告。

    主结果

    Figure 2 给出 6 个目标模型在三种查询类型下的"查询数–测试准确率"曲线(正文 §5.1 给出代表性读数):

    表格较宽,可左右滑动

    目标模型任务梯度查询membership 查询查询数下降
    1-layerMNIST1 次即达到原模型性能784 次1000x
    2-layerMNIST——100x
    ConvMNIST10 次达 95%1000 次达 95%100x
    ConvCIFAR10100 次重构10,000 次≥100x
    VGG11CIFAR10达 75% 准确率达 75% 准确率10x
    ResNet-18CIFAR10达 75% 准确率达 75% 准确率10x

    (据 §5.1 正文;"—"为正文未给具体读数,仅给出下降倍数。)

    • 作者称,所有实验中梯度查询都把所需查询数降低数个数量级,且下降幅度对低复杂度模型更大。
    • 作者报告 SmoothGrad 查询与原始梯度查询几乎没有差别,尽管所选 SmoothGrad 超参数是产生最佳 saliency map 的值(附录 D)。
    • 作者认为查询数的相对下降更多取决于模型类复杂度而非任务复杂度(两个任务上 Conv 都是 100x),但绝对查询数随任务复杂度上升。

    模型类未知(Figure 3)

    • 设置:MNIST 上 1-layer↔2-layer、2-layer↔Conv 互相重构;CIFAR10 上 VGG11↔ResNet-18 互相重构。
    • 结果:用 2-layer 重构 MNIST 1-layer 有 100x 查询下降;反过来用 1-layer 重构 2-layer 只有初始 10x 下降。用 Conv 重构 2-layer 明显好于用 2-layer 重构 Conv。用 VGG11 重构 ResNet-18 仍有 10x 下降,但用 ResNet-18 重构 VGG11 时梯度帮助很小。
    • 作者解读:f̂ 的模型类比 f 更复杂时梯度帮助更大;作者称不清楚如何比较 VGG11 与 ResNet-18 的复杂度。

    数据分布未知(Figure 4)

    • 设置:改用高斯随机输入 x∼N(0,I_d) 查询。
    • MNIST 结果:2-layer 网络出现至少 1000x 下降(用数据分布查询时为 100x);Conv 网络 10 次梯度查询达 84%,而 10,000 次 membership 查询才达到 71%,作者称至少 1000x 下降。
    • CIFAR10 结果:两种查询性能都大幅下降,难以解读;Conv 网络 10 次梯度查询达 50%,10,000 次 membership 查询仅 11%。

    其他消融与分析

    • SmoothGrad 超参数(附录 D):MNIST 上最佳 σ 为 1000σ_D;CIFAR10 的 VGG-11 与 ResNet-18 上各 σ 值都得不到清晰的 saliency map,故取 σ=σ_D(Figure 5–7)。
    • SmoothGrad 采样数 N:Smilkov et al. 称 N>50 收益递减,本文因计算原因取 N=10,作者认为这只会让学习更困难。
    • 作者预期 σ 继续增大最终会降低重构性能,但在所测取值下未观察到性能下降。
  5. 有什么可以进一步探索的点?

    作者提出理论扩展与抗重构解释等开放问题;实验仅覆盖 MNIST/CIFAR10 上的图像模型。

    作者指出的局限与后续方向

    • 理论结果是否扩展到 depth-3 网络(§1.1 Conclusion 部分)。
    • 忽略计算效率时最优查询复杂度是多少;特别地,能否用 Õ(kh) 次查询学习每层 h 个单元的 k 层 ReLU 网络(§1.1)。
    • 能否设计能抵抗模型重构攻击的实用解释方法;作者指出目前没有公认的解释质量度量,难以形式化研究这一权衡(§1.1)。
    • 差分隐私可防御预测 API 攻击,但作者指出它能否防御来自解释的重构尚不清楚(§6 Related Work)。
    • 作者称自己的工作只是这一新方向的第一步(§1.1)。

    实验覆盖范围

    • 被测目标模型共 6 个:MNIST 上的 1-layer、2-layer、Conv,CIFAR10 上的 Conv、VGG11、ResNet-18(§4)。
    • 数据集为 MNIST 与 CIFAR10 两个图像分类任务;f̂ 训练集 10,000 张,测试集 10,000 张(§4)。
    • 查询类型覆盖 membership、raw gradient、SmoothGrad 三种;SmoothGrad 仅测 N=10 及上述 σ 取值(§4、附录 D)。
    • 模型类未知实验覆盖 MNIST 的 1-layer↔2-layer、2-layer↔Conv 与 CIFAR10 的 VGG11↔ResNet-18 六组(§5.2);数据分布未知实验用高斯查询(§5.3)。
    • 论文未报告实验重复次数与方差,也未评测任何针对解释 API 的防御(如查询限流)。
  6. 总结一下论文的主要内容

    梯度解释会泄露模型:理论上 O(h log h) 查询精确重构两层 ReLU 网络,实验上查询数省 10–1000 倍。

    一篇模型窃取方向的攻击论文,研究"解释 API 泄露模型"这一与预测 API 窃取互补的威胁。

    • 问题:商业模型需要保密(竞争价值、防博弈、防训练数据泄露),但梯度类 saliency map 解释会把模型本身暴露出去。
    • 理论:提出"输入梯度查询"学习框架。对两层 ReLU 网络,算法沿随机直线二分搜索梯度突变点恢复 ±w_iA_i,再解 2h 个线性方程恢复符号;以概率 1−δ 用 O(h log(h/δ)) 次查询精确重构,与输入维度 d 无关,比 membership 查询约省 d 倍,且仅差对数因子即最优。
    • 实验:用联合损失(梯度损失+交叉熵)训练替代模型。MNIST Conv 上 10 次梯度查询达 95% 准确率,membership 查询需 1000 次;1-layer 网络 1 次梯度查询即可重构(1000x 下降);CIFAR10 的 VGG11/ResNet-18 上为 10x 下降。
    • 鲁棒性:SmoothGrad 处理后的梯度几乎不削弱重构;模型类未知时梯度仍帮助(f̂ 更复杂时帮助更大);高斯随机查询下 MNIST 上差距反而扩大到至少 1000x。
    • 作者结论:解释质量的标准必须与模型泄露风险权衡;开放问题包括扩展到更深层网络、最优查询复杂度、以及设计抗重构的解释方法。

相关论文

共同使用 MNIST
再看 3 篇
共同使用 MNIST
共同使用 CIFAR10
阅读原文FAT