research28 min studyLesson 940 in Engineering

Release a robustness result that others can audit

Bundle threat definitions, immutable artifacts, diverse attack evidence, and certificate scope into a reproducible test release.

On this page

What you’ll understand

  • Aggregate diverse attacks by example-level failure union.
  • Reconstruct a model and evaluator from immutable versions.
  • Publish empirical and certified results with their distinct assumptions and denominators.

A robustness percentage is useful only if another evaluator can reconstruct what was tested. Model weights alone do not fix decoding, normalization, attack losses, random seeds, selected examples, or the success predicate. A release should bundle those choices and enough per-example evidence to audit the aggregate. Standardized suites such as AutoAttack and benchmark conventions such as RobustBench help make comparisons concrete, while their fixed scope still needs to match the defended model and threat. A reproducible empirical result remains empirical even when its code is public and its attack suite is widely used.

Freeze the attacked artifact and evaluation contract

Identify model weights by a content hash, architecture and code by immutable revisions, and the dataset by version plus ordered example IDs. Include preprocessing, input range, color order, normalization, output aggregation, rejection policy, precision, and evaluation mode. Save the exact external input representation used to measure perturbations. A decoded image produced by a different library or a normalization performed twice can change the evaluated classifier while leaving a checkpoint filename unchanged.

Pin attack implementations and their resolved configurations. A suite name is insufficient because defaults and components can change over time. The official AutoAttack README at the cited commit supplies a concrete implementation reference; record the chosen norm, epsilon, version preset, seed, batches, and any custom changes. The pinned RobustBench convention restricts its standardized norm benchmark to generally nonzero input gradients, deterministic forward passes, and no optimization loops. For other defense mechanisms, add defense-aware tests rather than assuming a generic configuration covers every case. Freeze the final protocol before reporting held-out results.

Hrun=hash⁡(Hweights,Hmodel code,Hdata,Hpreprocessing,Hevaluator,config⁡)H_{\rm run}=\operatorname{hash}(H_{\rm weights},H_{\rm model\ code},H_{\rm data},H_{\rm preprocessing},H_{\rm evaluator},\operatorname{config})
This is a schematic reproducibility identity using a canonical serialized manifest and content hashes. It establishes which bytes and settings were named; it does not prove evaluator correctness, dataset validity, or robustness. Hardware and runtime metadata should also be retained.↔ Scroll wide equations horizontally.

Aggregate failures without losing their provenance

For a fixed deterministic threat, combine attacks by taking the union of valid failed example IDs. Averaging individual attack accuracies discards overlap structure and can overstate survival. Count clean errors as failures under the ordinary robustness definition, then preserve all newly discovered feasible failures. Keep attack provenance so reviewers can see whether a gradient-free method found cases missed by derivative-based methods, or whether one attack merely repeated failures already found by another.

Release per-example clean correctness, tested-candidate status, actual norm, failure predicate outcome, consumed queries, and relevant random seeds. Candidate tensors or reconstructible artifacts allow independent forward verification when distribution permits. Invalid candidates should be recorded as invalid rather than silently counted as either attack successes or robust survivors. A crashed evaluator or missing result is an incomplete case and must affect reported coverage. Separate coverage from the score over completed cases.

A^survive=1−∣Eclean∪E1∪⋯∪EK∣N\widehat A_{\rm survive}=1-\frac{\left|E_{\rm clean}\cup E_1\cup\cdots\cup E_K\right|}{N}
N>0 is the fixed full test-set size. Eclean contains clean errors and Ek valid discovered failures for attack k under the same model, threat, and deterministic success rule. Incomplete cases require a separate explicit policy; this formula assumes all N were evaluated.↔ Scroll wide equations horizontally.

State the kind and limits of each result

Place clean accuracy, finite-suite survival, certificate-derived accuracy, and semantic validity coverage in separate labeled columns. A certificate has its own classifier, radius, confidence procedure, and assumptions; it cannot be merged with unrelated empirical candidates into an unqualified robust score. For stochastic attacks, report the repeated-evaluation protocol and statistical uncertainty. For dataset-level uncertainty, explain the sampling population and any dependence rather than deriving confidence from attack randomness alone.

Include regression fixtures for preprocessing, norm checking, candidate replay, and failure aggregation. Recompute summaries from saved per-example records so a reviewer can reproduce every denominator without rerunning expensive searches. Compare releases on common example IDs and inspect changed decisions after artifact updates. Keep the claims scoped to the tested or certified threat. Public release makes evidence inspectable and reusable, while broader robustness still requires additional experiments or a theorem that actually covers the proposed extension.

Union three attacks with existing clean errors

A fully evaluated test set has 100 examples and 10 clean errors. Among the 90 clean-correct examples, attack A finds 20 valid failures. Attack B finds 15, including 8 already found by A. Attack C adds 3 new valid failures beyond both. Compute final survival accuracy and explain why averaging attack results is wrong.

  1. Start with 10 clean errors, which already fail the ordinary robust-accuracy definition because the original input is in the feasible set. Attack A adds 20 distinct clean-correct failures.

  2. Attack B contributes only 15−8=7 new IDs. Attack C contributes 3 additional IDs, so cumulative failures are 10+20+7+3=40 distinct examples.

  3. Survival accuracy is 1−40/100=60 percent. Individual attack percentages cannot be averaged to recover this union because their overlap structure determines how many distinct examples fail.

The result

The reported 60 percent is finite-suite survival under the exact released protocol. Without additional certification, it is an upper bound on true robust accuracy for this fixed test set, not a guarantee that the remaining 60 examples have no feasible failures.

Explore the model

Interactive lab

Interactive lab · cache

A fixed trace makes replay claims inspectable

Reset, set Cache capacity C to 4 and Request stride s to 4. Predict 12 hits among the initial 16 requests and 13 hits after one Step. Reset, explicitly set C=4 and s=3, then Step: predict zero hits among 17 requests because the 16-address cycle exceeds capacity. The fully associative LRU trace caps at 4096 requests. This deterministic replay illustrates the value of fixed inputs; it is not an attack suite, dataset, or robustness benchmark.

A fixed trace makes replay claims inspectableA fully associative LRU cache starts empty and requests address (i·s) mod 16. Hits move an address to the newest position; misses evict the oldest when full. Playback starts with 16 requests and adds two per second, capped at 4096 explicitly simulated requests. This toy stream is not a processor-cache benchmark. Current readings: Hits / requests: 0 / 16; Hit rate: 0%; Address-stream period: 16 addresses. All parameters are adjustable with the labeled controls below.Fully associative LRU cache after 16 deterministic requests: 0 hits and 16 misses.Most recent 16 requestsaddress = i × 3 mod 160M3M6M9M12M15M2M5M8M11M14M1M4M7M10M13MCurrent cache order · oldest → newest471013Latest address 13 · miss: inserted as newestToy address stream · period 16 · starts empty
Cached addressMiss / evictionMost recent request
Hits / requests
0 / 16
Hit rate
0%
Address-stream period
16 addresses
t = 0 s

A fully associative LRU cache starts empty and requests address (i·s) mod 16. Hits move an address to the newest position; misses evict the oldest when full. Playback starts with 16 requests and adds two per second, capped at 4096 explicitly simulated requests. This toy stream is not a processor-cache benchmark. Parameter changes pause playback and recompute the model at the current elapsed time. Reset restores both parameters and returns time to zero. Playback starts paused. Adjust either parameter, then choose Play or Step.

Look forAn auditable aggregate requires fixed inputs and precisely defined counting rules.

Check your understanding

What is final finite-suite survival accuracy in the worked example?

Try it yourself

A release has 50 examples, 5 clean errors, and 12 distinct feasible attack failures among clean-correct examples. All cases complete. What is survival accuracy? A smoothing release on the same set certifies the correct class at the requested radius on 28 examples; what is its certified accuracy, and should the two percentages be averaged?

Take a moment to make a prediction or work it out on paper. Open a hint when you need one.

Give me a hint

Use the full test denominator for both separately defined metrics.

Compare with the solution

Finite-suite survival is (50−5−12)/50=33/50=66 percent. Certified accuracy is 28/50=56 percent for the stated smoothed classifier, radius, and confidence procedure. Do not average them: they describe different evidence and potentially different classifier objects, and the certificate’s sampling assumptions must remain attached.

Take it with you

  • Freeze the complete model, data, preprocessing, evaluator, and resolved configuration.
  • Aggregate valid failures by distinct-example union and report completion coverage.
  • Keep empirical survival and certified accuracy explicitly scoped and separate.

Read further

Original sources and deeper explanations to follow at your own pace.

Optional progress, saved in this browser when available. Revisit any lesson at any time.

Lesson not marked complete.