Paper · 2024-02-06 · cs.CV
Privacy Leakage on DNNs: A Survey of Model Inversion Attacks and Defenses
Survey of model inversion (MI) attacks and defenses on DNNs: rebuilding training data from a released model. Covers more than 130 papers (2014 to 30 April 2026) on images, text and graphs, with a taxonomy by attacker access, modality and task, per-method tables of generators, search spaces and losses, and defense families. No new benchmark numbers; the figures are qualitative.
Model inversionMembership inferenceDifferential privacymodel-inversionprivacydata-leakagesurveyattacks-and-defenses
arXivPDFCodeMarkdown12 min read
AI-compiled by claude-haiku-5-5 on 2026-10-19, not yet reviewed by a human. Every claim cites its source; check it when a detail matters.
In plain words
A model trained on private data, such as photos of faces or medical scans, can leak some of that data to anyone who can query it. A model inversion attack tries to run the model backwards: starting from the trained model, the attacker tries to rebuild examples that look like the data it was trained on. One way to picture it is to ask the model "what would a typical picture of this person look like?" and then search for an input that the model is sure about.
This is a survey, not a new attack. It collects the research on these attacks and on the defenses against them. It sorts the attacks by how much the attacker can see (the full model, or only its answers), by the kind of data (images, text, graphs) and by the task the model was built for. It also sorts the defenses into two families: changing what the model reveals in its answers, and changing how the model is trained.
The authors argue that the field needed one organised overview, because the earlier surveys covered only parts of it. They also release a toolbox that implements many of the attacks.
TL;DR
This is a survey of model inversion (MI) attacks and defenses on deep neural networks. It defines MI and reviews more than 130 papers published from 2014 to 30 April 2026 §1. It organises them by attacker access, data modality and learning task §2, and for image classifiers it breaks the GAN-based attacks into four design choices: generative prior, data initialization, attack process and extra techniques §4.1. Use it to find the right family of attacks or defenses and the source paper for each method. It gives no new benchmark numbers, and the only official code is a companion toolbox.
Problem
Models trained on private data can leak that data. MI attacks use only access to a trained model to reconstruct data that closely resembles the private training samples §1 §2.1. Early MI work covered traditional machine learning models on simple structured data, and it did not transfer well to deep networks on RGB images §1 §3. The survey says no comprehensive overview of MI attacks and defenses existed before it §1.
Method
The survey has no method of its own. Its content is organised as follows.
Definition §2.1 fig. 1. Given a pre-trained model f_{\theta} and possibly some prior knowledge \mathcal{D}, an attacker runs an algorithm \mathcal{T} to get reconstructions \hat{X} = \mathcal{T}(f_{\theta}, \mathcal{D}) that resemble the private training set X, without having access to X §2.1.
Taxonomy fig. 2 tab. 1.
- Attacker capability §2.2. White-box: full access to weights and outputs, so gradient-based optimisation is possible. Black-box: only confidence scores or hard labels, so the attack uses gradient estimation or heuristic search.
- Data modality §2.3. Tabular (early work) §3, image §4, text §5.1 and graph §5.2.
- Learning task §2.4. Classification (most of the literature), generation, and representation learning. Text attacks target language models for generation or representation learning §2.4.
Early ML attacks §3. Fredrikson et al. recover a sensitive attribute from a linear regression model by maximum a posteriori estimation over the candidates that match the known attributes and the target label eq. 1. Later work trains an inversion model that maps predictions back to inputs, using public auxiliary data, and the survey covers the top-k truncated variant eq. 2 §3.
Image classification attacks §4.1. The survey's central formulation, for a classifier f_{\theta}, a generator G and target class c, is:
\mathbf{z}^{*} = \arg\min_{\mathbf{z}} \mathcal{L}_{iden}(f_{\theta}(G(\mathbf{z})), c) + \lambda \mathcal{L}_{prior}(\mathbf{z}; G) eq. 3
The latent \mathbf{z} starts from a Gaussian; the reconstruction is \mathbf{x}^{*} = G(\mathbf{z}^{*}) §4.1.1. The identity loss is usually cross-entropy on the target label. The prior term is an image-realism regulariser, often a discriminator loss §4.1.1 §4.1.4.
# Generative model inversion for one target class [eq. 3] [§4.1.1]
# Input: classifier f, pre-trained generator G, target class c
# Output: reconstructed image x*
def invert_class(classifier, generator, target_class, steps):
# Start from Gaussian latents; keep the most confident ones
# [§4.1.1] [§4.1.3]
latents = sample_gaussian(num_candidates) # (N, d_z)
latents = keep_most_confident(latents, classifier, target_class)
for step in range(steps):
# Generate dummy images from the latents [§4.1.1]
images = generator(latents) # (B, H, W, 3)
# Identity loss: the classifier should predict class c [eq. 3]
identity_loss = loss_fn(classifier(images), target_class)
# Prior loss: realism regulariser, if the method has one [eq. 3]
prior_loss = prior_term(latents, generator)
total = identity_loss + lam * prior_loss
# Momentum SGD or Adam step on the latents [§4.1.4]
latents = optimizer_step(latents, total)
# Results selection: augment, re-score, keep the best [§4.1.5]
return pick_best(generator(latents), classifier, target_class)The survey organises the generative attacks around four choices.
- Generative prior §4.1.2. GMI trains a GAN on public data with images similar to the private data. Pre-trained StyleGAN or BigGAN generators allow higher resolution §4.1.2. DiffusionMI replaces the GAN with a conditional diffusion model whose conditions are pseudo labels from the target model §4.1.2.
- Data initialization §4.1.3. Sample many latents and keep those whose generated images the target classifies with high confidence §4.1.3. C2FMI trains an inverse network from confidence to feature space to obtain coarse initial latents §4.1.3. GMI and SecretGen use blurred or masked versions of the private image to initialise the latents §4.1.3.
- Attack process §4.1.4 tab. 2. Momentum SGD or Adam in the white-box case. PPA replaces cross-entropy with a Poincaré distance to avoid gradient vanishing eq. 4 §4.1.4. PLGMI uses a max-margin loss eq. 5 §4.1.4. LOMMA bypasses the softmax and maximises the target logit §4.1.4. AlignMI averages losses over a local neighbourhood of each sample, without training §4.1.4. Several methods drop the discriminator loss because it can pull results towards the public data distribution §4.1.4. In the black-box case the survey covers conversion to a white-box surrogate (SecretGen, LOKT), reinforcement learning with Soft Actor-Critic (RLBMI) §4.1.4, label-only gradient estimation (BREPMI) eq. 6, genetic algorithms (Mirror, C2FMI), optimisation-free prediction-to-style mapping (P2I-MI) and conditional diffusion sampling (DiffusionMI) §4.1.4.
- Search space §4.1.4. The usual space is the latent \mathcal{Z}. StyleGAN maps to a more disentangled \mathcal{W} space §4.1.4. Mirror and SMILE clip in a \mathcal{P} space, to within [\mu - \sigma, \mu + \sigma] §4.1.4. IF-GMI optimises the intermediate features of the generator layer by layer, each under an l_1-ball constraint eq. 7 §4.1.4. PPDG fine-tunes the GAN prior on selected pseudo-private samples §4.1.4.
- Additional techniques §4.1.5. Pseudo-label guidance for the generator and discriminator §4.1.5. Augmentation, such as cutout, and model augmentation through distillation (LOMMA) §4.1.5. Results selection by the confidence of the target model after augmentation §4.1.5.
Key loss definitions, in the survey's notation:
\mathcal{L}_{Poincar\acute{e}} = \operatorname{arccosh}\left(1 + \frac{2\|\hat{y}' - y\|_2^2}{(1 - \|\hat{y}'\|_2^2)(1 - \|y\|_2^2)}\right) eq. 4
where \hat{y}' is the \ell_1-normalised output confidence and y the one-hot target eq. 4 §4.1.4.
\mathcal{L}_{MM} = -l_c(x) + \max_{j \neq c} l_j(x) eq. 5
where c is the target class and l_i the logit of class i §4.1.4.
\hat{g}_{\mathbf{z}} = \frac{1}{N} \sum_{i=1}^{N} \Phi_c(\mathbf{z} + r\mathbf{u}_i)\, \mathbf{u}_i eq. 6
This is the BREPMI gradient estimate from N random unit vectors \mathbf{u}_i at radius r, where \Phi_c is zero on the target class and negative otherwise eq. 6 §4.1.4.
Image generation §4.2. Generative models are also attacked directly. GAN training images can be recovered by sampling the generator repeatedly §4.2. For diffusion models, sampling many images from a text prompt and keeping the largest clique of similar images gives memorised training images §4.2. SIDE extends this to unconditional diffusion models, using a time-dependent classifier as a surrogate condition §4.2.
Text §5.1. The survey groups attacks into embedding optimisation (white-box, gradient-based over token logits, or soft-prompt learning) §5.1; inverse mapping from sentence embeddings back to words or sentences, including generative inverters and query-free transfer §5.1; token search by perplexity eq. 8, by classifier confidence, or by the difference between pre-trained and fine-tuned model scores §5.1; and malicious prompt design, including repeat-word prompts to ChatGPT §5.1. Prompt-recovery attacks reconstruct hidden prompts from next-token probabilities or from output sequences §5.1.
\mathrm{P}_{\theta}(s) = \exp\left(-\frac{1}{n} \sum_{i=1}^{n} \log f_{\theta}(x_i \mid x_1, \ldots, x_{i-1})\right) eq. 8
Graph §5.2. Adjacency optimisation updates the dummy adjacency matrix by gradient descent on the output distance eq. 9. A chain-based variant maximises mutual-information terms between the original and dummy representations, minus a complexity term eq. 10 §5.2. Inverse mapping trains an autoencoder and uses its decoder on the target's output embeddings §5.2. Relationship reasoning infers edges between node pairs from attributes and predictions §5.2.
\hat{\mathcal{A}}_{t+1} = \hat{\mathcal{A}}_{t} - \eta_{t} \nabla_{\hat{\mathcal{A}}_{t}} \mathcal{L}_{rec} eq. 9
Defenses §6 fig. 9 tab. 3.
- Model output processing §6.1. Additive noise, including adversarial perturbation of confidences §6.1, a differential-privacy exponential mechanism §6.1, and Laplacian noise §6.1. Purification trains an autoencoder to shrink the spread of confidences, against an adversarial inversion model eq. 11 eq. 12 §6.1. Output filtering for language models detects and refuses sensitive content §6.1.
\mathcal{L}_{inv} = \lVert \mathcal{M}(P(f_{\theta}(\mathbf{x}))) - \mathbf{x} \rVert_2^2 eq. 11
\mathcal{L}_{total} = \mathcal{L}_{rec} + \lambda_1 \mathcal{L}_{iden} - \lambda_2 \mathcal{L}_{inv} eq. 12
where \mathcal{L}_{rec} and \mathcal{L}_{iden} are the confidence-reconstruction and classification terms defined with the purifier eq. 12 §6.1.
- Robust model learning §6.2. MID penalises the mutual information between input and output eq. 13 §6.2. BiDO minimises input-to-latent dependence and maximises latent-to-output dependence eq. 14 §6.2. Label smoothing is studied with a smoothing factor \alpha that can also be negative eq. 15 eq. 16 §6.2. AT-AT adds an anti-adversarial term eq. 17 §6.2. SSF scales the last-stage skip connections by k \in [0, 1] eq. 18 §6.2. Other methods are transfer learning that fine-tunes only the last layers §6.2, GAN-based misleading fine-tuning §6.2, low-rank feature filtering (LoFt) §6.2, trigger injection (Trap-MID) §6.2, and training-data de-duplication §6.2.
\mathcal{L}_{MID} = \mathbb{E}\, \mathcal{L}(f_{\theta}(x), y) + \lambda\, \mathcal{I}(X, \hat{Y}) eq. 13
\mathcal{L}_{BiDO} = \mathcal{L}_{CE}(\hat{Y}, Y) + \lambda_x \sum_i d(X, Z_i) - \lambda_y \sum_i d(Z_i, \hat{Y}) eq. 14
\mathcal{L}_{LS} = (1 - \alpha)\, \mathcal{L}_{CE}(\hat{\mathbf{y}}, \mathbf{y}) + \frac{\alpha}{C} \sum_{k=1}^{C} \mathcal{L}_{CE}(\hat{\mathbf{y}}, \mathbb{1}) eq. 16
\mathcal{L}_{AT\text{-}AT} = \mathcal{L}(f_{\theta}(x), y) + \lambda\, \mathcal{L}(f_{\theta}(x + \delta), y^{*}) eq. 17
z_{i+1} = \mathrm{block}_i(z_i) + k \cdot z_i eq. 18
Hyperparameters
The survey reports no training hyperparameters for any method. Values that appear in the survey are listed below. Everything else is "not stated". For actual values, read the source paper of each method.
| Name | Value | Where | Notes |
|---|---|---|---|
| Prior weight \lambda in attack objective | not stated | eq. 3 | |
| Learning rate, step count, batch size | not stated | — | |
| Optimizer per attack | Momentum SGD, Adam, genetic algorithm, SAC, optimization-free | tab. 2 | Family only |
| Resolution per attack | 64×64, 128×128, 224×224 | tab. 2 | See Pitfalls |
| PPA Poincaré constant | 0.9999 used in place of 1 | §4.1.4 eq. 4 | See Paper vs code |
| BREPMI samples N, radius r | not stated | eq. 6 | r grows when all samples hit the target class |
| Mirror and SMILE \mathcal{P}-space clip | [\mu - \sigma, \mu + \sigma] | §4.1.4 | \mu, \sigma from sampled activations |
| IF-GMI intermediate search | l_1 ball, size not stated | §4.1.4 eq. 7 | |
| Max-margin weight in PLGMI | not stated | eq. 5 | |
| MID \lambda; BiDO \lambda_x, \lambda_y; AT-AT \lambda | not stated | eq. 13 eq. 14 eq. 17 | |
| Label smoothing \alpha | not stated; negative values allowed | §6.2 eq. 16 | |
| SSF factor k | k \in [0, 1]; k = 0 gives RoLSS | eq. 18 §6.2 | |
| Purifier weights \lambda_1, \lambda_2 | not stated | eq. 12 |
Results
Author-reported. The survey runs no new benchmark. Its summary tables are catalogues, and its only figures are visual.
| Setting | Metric | Baseline | This survey | Source |
|---|---|---|---|---|
| Literature covered | number of papers | — | more than 130 | §1 |
| Literature window | dates | — | 2014 to 30 April 2026 | §1 |
| Visual comparison of representative white- and black-box attacks on classifiers | qualitative | ground truth | IF-GMI and others show face features; not quantified | fig. 3 §4.1 |
| Diffusion vs GAN training-data leakage (cited from Carlini et al.) | leakage ratio | GAN models | "nearly twice as much" | §4.2 |
| Label smoothing | attack vulnerability | standard training | larger \alpha is more vulnerable; negative \alpha can reduce it | §6.2 |
| Survey coverage vs other surveys | feature comparison | Dibbo et al., Song et al., Jegorova et al., Zhou et al. | this survey covers all modalities plus reproduced results and a toolkit | tab. 1 §2.5 |
The survey says it reproduces representative attacks with its toolkit and shows visual results §2.5 fig. 3. It gives no numbers for them.
Paper vs code
The abstract links the authors' repository,
github.com/ffhibnese/Model-Inversion-Attack-ToolBox, at commit
f850ea168e69bbac68e0b8789474073ac55d3b2a. Its owner is the first author's
account, so it counts as official. It is a toolbox that implements attacks and
defenses, not the survey itself. The repository has no LICENSE file at its
root, so code_license is set to "none" and no code is quoted verbatim. A
vendored SecretGen subfolder carries its own MIT licence from a third party
(src/modelinversion/attack/SecretGen/LICENSE); that code is not used here.
Checks made by reading the code:
- Max-margin loss eq. 5 matches the formula. The code takes the target logit and the largest other logit, and returns the negated first term plus the second losses.py.
- Poincaré loss eq. 4 is not literal. The code l1-normalises the outputs
losses.py. It builds the target as a
one-hot vector minus
xi=1e-4, clipped to [0, 1] losses.py, so the target entry becomes 0.9999 and the other entries stay 0. The distance is then computed and passed througharccoshlosses.py. The paper's text says "replace 1 with 0.9999" §4.1.4, which can be read as changing the denominator constants. The code instead changes the target vector. Implement the code's behaviour if you want to reproduce the toolbox. - Scope. The README table lists 14 attacks, all for image classification [README.md#L43-L56], and four defenses (MID, BiDO, TL, LS) [README.md#L65-L68]. Text and graph attacks from §5, and most of the defenses in Table 3, have no entry there.
- Reproduced results §2.5 are not verified here. The toolbox was not run.
No discrepancies were checked for the survey's own claims, because it makes no method claims that code could confirm.
Pitfalls
- No hyperparameters. Almost every value that an implementer needs, such as learning rates, step counts, \lambda and sample sizes, is not stated in the survey. Do not fill them in from another method's values.
- Table 2 resolution column. The column is labelled "Resolution", and the text calls it the "resolution of recovered images" §4.1.3. Entries such as 224×224 can also match a classifier's input size. The printed table does not say which one it means. Check each row against its source paper.
- Table 2 plug-in rows. LOMMA, PPDG-MI and AlignMI are marked "∼" and are plug-and-play techniques, not standalone attacks tab. 2 note. Mirror and SecretGen appear in both the white-box and the black-box blocks [tab. 2 caption].
- Poincaré constant. Eq. 4 is printed with unit constants. The text's "replace 1 with 0.9999" does not say which constant, and the released code applies the change to the target entry instead (see Paper vs code). An implementer following only the printed formula gets a different loss from PPA's released one.
- Max-margin vs cross-entropy. Eq. 5 works on logits, but cross-entropy works on softmax outputs §4.1.4. Switching loss changes the gradient scale, so tune the step size again.
- BREPMI sign convention. \Phi_c is written as "zero if the target class, otherwise −1" §4.1.4. The radius-growth rule is qualitative, and N and r are not stated eq. 6.
- Discriminator loss. The survey reports that some methods drop it because it pulls samples towards the public data distribution §4.1.4. Keeping it is a deliberate choice, not a default.
- Evaluation classifier. The "Accuracy" metric depends on an auxiliary evaluation model trained on the victim's private data, with a different architecture §4.1.6. Its architecture and training are not stated, so scores are not comparable across papers.
- Defense comparisons. The survey gives no common benchmark and no numerical comparison of defenses. Rankings have to come from the source papers, which use different threat models.
- Output processing only helps behind an API. Output-processing defenses are mostly for black-box APIs and do not protect open-source or offline models §6.1.
- Generative attacks cost time. Training a public-data GAN is slow and limits resolution to 64×64 in early work §4.1.2. Black-box attacks need many queries, which is the motivation for SMILE §4.1.4.
- Open issues. No certified-robustness guarantees exist for MI defenses §8. The survey also says multimodal models are largely unstudied §8.
- Version. The card follows arXiv v3, updated 2026-09-18, and the survey's literature cut-off of 30 April 2026 §1.
Lineage
- Builds on: Fredrikson et al. (2014, tabular MAP attack) and (2015, decision trees and face classifiers) §3; the inversion-model approach of Yang et al. §3; GMI's GAN prior §4.1.2; PPA's Poincaré loss and pre-trained StyleGAN generators §4.1.2 §4.1.4; IF-GMI's intermediate-feature search §4.1.4.
- Compared against: Dibbo et al., Song et al., Jegorova et al. §2.5; Zhou et al. is a concurrent survey §2.5. These are named only; this card has no arXiv ids for them.
- Superseded by: not stated. The survey does argue that generative priors have moved from GANs to diffusion models §4.1.2 §8.
Source and license
Adapted from “Privacy Leakage on DNNs: A Survey of Model Inversion Attacks and Defenses” by Hao Fang, Yixiang Qiu, Hongyao Yu, Wenbo Yu, Jiawei Kong, Baoli Chong, Bin Chen, Xuan Wang, Shu-Tao Xia, Ke Xu (arXiv:2402.04013), used under CC0 1.0. Changes: condensed and restructured for implementation, with tables, equations and algorithms taken from the paper and its code, each cited to its source. Not affiliated with or endorsed by the authors. Code citations refer to https://github.com/ffhibnese/Model-Inversion-Attack-ToolBox at commit f850ea168e69 (none (no LICENSE file in repository)). Any quoted code is shown under that license.