Independent audit of Certified Robustness under Heterogeneous Perturbations via Hybrid Randomized Smoothing, ICML 2026, OpenReview nf7JT1jCSy
0
stars
7
commits
Python
primary language
Aug 15, 2026
updated
Independent reproduction audit of Certified Robustness under Heterogeneous Perturbations via Hybrid Randomized Smoothing.
Paper: arXiv:2605.12876 ·
OpenReview: nf7JT1jCSy ·
ICML 2026 downloads
Authors: Blaise Delattre, Hengyu Wu, Paul Caillon, Wei Yang Bryan Lim, and Yang Cao
Repository: icml26-hybrid-randomized-smoothing · owner:
MachineLearning-Nerd
Overall status: OFFICIAL HIGH-QUALITY 4/4 — VERIFIED CLAIMS WITH EXPLICIT SCOPE.
The historical reproduction-challenge result is preserved at the immutable
Hugging Face Space, SHA
8a9b8651925507234e25f310cd5f35cab4e81b60, judged on 2026-07-19. The original
3/4 result marked C1 as toy; the exactly-ten-route repair below addresses
that gap with an actual multimodal model and real data.
| Claim | Verdict | What the evidence establishes |
|---|---|---|
| C1 — model-agnostic certificates for joint text–image attacks | VERIFIED_ACTUAL_MODEL_DATA_SCOPED | Ten frozen routes use pinned 151.3M-parameter CLIP, 3,800 Flickr30k pairs, and a 10,000-image CIFAR-10 control. The primary Flickr route certifies 97/100 pairs; official and clean-room radii agree within 4.25e-12; adverse and zero-radius cases remain. |
| C2 — one-dimensional closed form generalizes Gaussian and discrete smoothing | VERIFIED_NUMERICAL_CLEAN_ROOM | Gaussian-limit error is 1.50e-12, the discrete limit reaches the knapsack staircase, Monte-Carlo Neyman–Pearson relative error is 1.17e-4, and a hybrid channel is strictly intermediate; an invalid separable control fails. |
| Exact paper benchmark | NOT_CLAIMED | The repair uses CLIP/Flickr30k/CIFAR-10 to close the actual-model gap. It does not claim to have rerun the paper's LLaVA-Guard/Hateful-Memes benchmark. |
No new judge score, author endorsement, or claim that every paper experiment has been rerun is made here. The score above is the historical official challenge record, while the claim verdicts are tied to the persisted evidence and its independent verifier.
The paper develops randomized-smoothing certificates for multimodal inputs with both discrete text and continuous image perturbations. It factorizes the joint noise into a discrete channel and a Gaussian channel, then solves the worst-case Neyman–Pearson problem by a one-dimensional likelihood-ratio threshold. The resulting closed form is intended to recover ordinary Gaussian image smoothing and discrete text smoothing as limiting cases while remaining model-agnostic: the certificate consumes a smoothed class probability rather than model internals.
The official code includes the paper's broader multimodal safety pipeline. This repository adds a clean-room NumPy/SciPy implementation, an actual CLIP experiment, an independent artifact verifier, and a durable audit trail for the ten-route C1 repair.
repro/src/run_claim1_exactly10.py is the sole producer. It verifies the
hashes of the pinned Flickr30k and CIFAR-10 parquet files, uses the pinned CLIP
revision through actual_multimodal.py, persists a route checkpoint, and
fail-closes unless route numbers 1..10 appear exactly once and route 11 is
rejected.
| Route | Producer and purpose | Persisted headline result |
|---|---|---|
| 1 | execute_flickr_baseline — full-shard CLIP image/text classifier audit | 3,800 pairs; held-out AUROC 0.997462, balanced accuracy 0.9725 |
| 2 | run_mc_examples — primary Flickr joint certificate | 100 balanced pairs; 97 positive certificates |
| 3 | execute_cifar_route — cross-dataset CLIP certificate | 10,000-image baseline AUROC 0.967699; 74/100 certificates |
| 4 | summarize_mc_route — text corruption-rate sweep | 58/60 certified across β={0.1,0.25,0.5} |
| 5 | summarize_mc_route — image-noise-scale sweep | 58/60 certified across σ={0.025,0.05,0.1} |
| 6 | summarize_mc_route — discrete budget sweep | 18/80 positive across d=1..8; large-budget failures retained |
| 7 | grouped_uniform vs grouped_absorbing kernel audit | 19/20 under each kernel |
| 8 | official_parity — clean-room versus official solver | 100 inputs; maximum radius error 4.25e-12 |
| 9 | empirical_joint_attack — balanced joint attack soundness | 10/10 certificate nonviolations |
| 10 | composition_control — invalid image-only composition control | overstates the joint radius in 100/100 cases; maximum 0.14297 |
The independent verify_claim1_evidence.py
does not import the production certificate module or runner. It recomputes
Clopper–Pearson bounds, radii, route aggregates, official parity, attack
constraints, and artifact hashes from the persisted CSV/JSON/NPZ evidence. It
verifies 430 evidence rows, zero recomputed radius error, and official parity
within 4.25e-12.
repro/src/run_c2.py exercises five checks over the
clean-room hybrid_rs_cr.py implementation:
γ=1 recovers Cohen's Gaussian certificate to the recorded tolerances.σ→∞, the discrete channel converges to its likelihood-ratio staircase.The five results are stored in outputs/c2_summary.json
and explained in CLAIM_EVIDENCE.md.
The full actual-model route is resource-intensive and requires the pinned parquet files, model downloads, and a CUDA-capable environment. The historical run took about 90 minutes on a GTX 1050. Do not launch it without those inputs.
uv sync
PYTHONPATH=repro/src python repro/src/run_claim1_exactly10.py \
--flickr-parquet /path/to/flickr30k-test-0000.parquet \
--cifar-parquet /path/to/cifar10-test-0000.parquet
python repro/src/verify_claim1_evidence.py
The smaller mathematical checks and focused tests are:
PYTHONPATH=repro/src python repro/src/run_c1.py
PYTHONPATH=repro/src python repro/src/run_c2.py
python -m pytest -q
The publication checks are lightweight and never launch model inference:
python repro/src/verify_publication.py
python repro/src/publication_gate.py --skip-producers
| Artifact | Pin or digest |
|---|---|
| Paper PDF | SHA-256 a44a1d0dfa3b8684b3b004854933c94c37b0bb7dcdef8747156979e545d9138e |
| Official implementation | tdsai-lab/hybrid-randomized-smoothing at 3707eec87a65501692f57682e4853583685669f9 |
| Actual model | openai/clip-vit-base-patch32@3d74acf9a28c67741b2f4f2ea7635f0aaf6f0268 — 151,277,313 parameters |
| Primary data | nlphuji/flickr30k@2b239befc81b6e3f035ce6bd52f5f4d60f5625f7; 3,800-row shard SHA-256 d3739eb8f763b43ea4150161b7282580fb5b2c4bcd08b7331a5f63111cc51879 |
| Cross-dataset control | uoft-cs/cifar10 test parquet; 10,000 rows; SHA-256 841389e6f2d64f28bf17310e430aebac20ec3ba611a3c5e231dc93c645ce84de |
The upstream/ directory is a copied snapshot of the official implementation,
not a submodule. Its source pin is recorded in SOURCE_MANIFEST.md.
repro/src/hybrid_rs_cr.py — clean-room NumPy/SciPy certificate formulas.repro/src/run_c1.py and run_c2.py — mathematical claim producers.repro/src/actual_multimodal.py — pinned CLIP black-box adapter and kernels.repro/src/run_claim1_exactly10.py — ten-route actual-model producer.repro/src/verify_claim1_evidence.py — independent evidence verifier.outputs/claim1_exactly10/ — route ledger, raw evidence, hashes, and verdict.upstream/ — official implementation snapshot at the pinned commit.STATUS.md — current verdict and reproduction boundary.CLAIM_EVIDENCE.md — claim-to-code-to-output production paths.BRANCH_AUDIT.md — old-to-new branch mapping.SOURCE_MANIFEST.md and sources.json — source provenance, citation, and thanks.evidence/claim_summary.json — durable promotion boundary.repro/src/verify_publication.py and publication_gate.py — publication hygiene checks.The original repository had only master. It becomes the reader-facing
publication branch main; there are no retained experiment branches to
classify.
| Clean branch | Role |
|---|---|
main | Paper-first README, claim ledger, pinned provenance, reproduction artifacts, and publication checks. |
@inproceedings{delattre2026hybrid,
title={Certified Robustness under Heterogeneous Perturbations via Hybrid Randomized Smoothing},
author={Delattre, Blaise and Wu, Hengyu and Caillon, Paul and Lim, Wei Yang Bryan and Cao, Yang},
booktitle={Proceedings of the International Conference on Machine Learning},
year={2026},
url={https://arxiv.org/abs/2605.12876}
}
Thank you to Blaise Delattre, Hengyu Wu, Paul Caillon, Wei Yang Bryan Lim, and Yang Cao for the paper, the official implementation, and the opportunity to study hybrid randomized-smoothing certificates on mixed discrete–continuous inputs. This repository is an independent reproduction audit; it does not represent the authors' implementation, approval, or endorsement.
7 commits
Python
97.8%
Shell
2.2%
Independent audit of Certified Robustness under Heterogeneous Perturbations via Hybrid Randomized Smoothing, ICML 2026, OpenReview nf7JT1jCSy
0
stars
7
commits
Python
primary language
Aug 15, 2026
updated
Independent reproduction audit of Certified Robustness under Heterogeneous Perturbations via Hybrid Randomized Smoothing.
Paper: arXiv:2605.12876 ·
OpenReview: nf7JT1jCSy ·
ICML 2026 downloads
Authors: Blaise Delattre, Hengyu Wu, Paul Caillon, Wei Yang Bryan Lim, and Yang Cao
Repository: icml26-hybrid-randomized-smoothing · owner:
MachineLearning-Nerd
Overall status: OFFICIAL HIGH-QUALITY 4/4 — VERIFIED CLAIMS WITH EXPLICIT SCOPE.
The historical reproduction-challenge result is preserved at the immutable
Hugging Face Space, SHA
8a9b8651925507234e25f310cd5f35cab4e81b60, judged on 2026-07-19. The original
3/4 result marked C1 as toy; the exactly-ten-route repair below addresses
that gap with an actual multimodal model and real data.
| Claim | Verdict | What the evidence establishes |
|---|---|---|
| C1 — model-agnostic certificates for joint text–image attacks | VERIFIED_ACTUAL_MODEL_DATA_SCOPED | Ten frozen routes use pinned 151.3M-parameter CLIP, 3,800 Flickr30k pairs, and a 10,000-image CIFAR-10 control. The primary Flickr route certifies 97/100 pairs; official and clean-room radii agree within 4.25e-12; adverse and zero-radius cases remain. |
| C2 — one-dimensional closed form generalizes Gaussian and discrete smoothing | VERIFIED_NUMERICAL_CLEAN_ROOM | Gaussian-limit error is 1.50e-12, the discrete limit reaches the knapsack staircase, Monte-Carlo Neyman–Pearson relative error is 1.17e-4, and a hybrid channel is strictly intermediate; an invalid separable control fails. |
| Exact paper benchmark | NOT_CLAIMED | The repair uses CLIP/Flickr30k/CIFAR-10 to close the actual-model gap. It does not claim to have rerun the paper's LLaVA-Guard/Hateful-Memes benchmark. |
No new judge score, author endorsement, or claim that every paper experiment has been rerun is made here. The score above is the historical official challenge record, while the claim verdicts are tied to the persisted evidence and its independent verifier.
The paper develops randomized-smoothing certificates for multimodal inputs with both discrete text and continuous image perturbations. It factorizes the joint noise into a discrete channel and a Gaussian channel, then solves the worst-case Neyman–Pearson problem by a one-dimensional likelihood-ratio threshold. The resulting closed form is intended to recover ordinary Gaussian image smoothing and discrete text smoothing as limiting cases while remaining model-agnostic: the certificate consumes a smoothed class probability rather than model internals.
The official code includes the paper's broader multimodal safety pipeline. This repository adds a clean-room NumPy/SciPy implementation, an actual CLIP experiment, an independent artifact verifier, and a durable audit trail for the ten-route C1 repair.
repro/src/run_claim1_exactly10.py is the sole producer. It verifies the
hashes of the pinned Flickr30k and CIFAR-10 parquet files, uses the pinned CLIP
revision through actual_multimodal.py, persists a route checkpoint, and
fail-closes unless route numbers 1..10 appear exactly once and route 11 is
rejected.
| Route | Producer and purpose | Persisted headline result |
|---|---|---|
| 1 | execute_flickr_baseline — full-shard CLIP image/text classifier audit | 3,800 pairs; held-out AUROC 0.997462, balanced accuracy 0.9725 |
| 2 | run_mc_examples — primary Flickr joint certificate | 100 balanced pairs; 97 positive certificates |
| 3 | execute_cifar_route — cross-dataset CLIP certificate | 10,000-image baseline AUROC 0.967699; 74/100 certificates |
| 4 | summarize_mc_route — text corruption-rate sweep | 58/60 certified across β={0.1,0.25,0.5} |
| 5 | summarize_mc_route — image-noise-scale sweep | 58/60 certified across σ={0.025,0.05,0.1} |
| 6 | summarize_mc_route — discrete budget sweep | 18/80 positive across d=1..8; large-budget failures retained |
| 7 | grouped_uniform vs grouped_absorbing kernel audit | 19/20 under each kernel |
| 8 | official_parity — clean-room versus official solver | 100 inputs; maximum radius error 4.25e-12 |
| 9 | empirical_joint_attack — balanced joint attack soundness | 10/10 certificate nonviolations |
| 10 | composition_control — invalid image-only composition control | overstates the joint radius in 100/100 cases; maximum 0.14297 |
The independent verify_claim1_evidence.py
does not import the production certificate module or runner. It recomputes
Clopper–Pearson bounds, radii, route aggregates, official parity, attack
constraints, and artifact hashes from the persisted CSV/JSON/NPZ evidence. It
verifies 430 evidence rows, zero recomputed radius error, and official parity
within 4.25e-12.
repro/src/run_c2.py exercises five checks over the
clean-room hybrid_rs_cr.py implementation:
γ=1 recovers Cohen's Gaussian certificate to the recorded tolerances.σ→∞, the discrete channel converges to its likelihood-ratio staircase.The five results are stored in outputs/c2_summary.json
and explained in CLAIM_EVIDENCE.md.
The full actual-model route is resource-intensive and requires the pinned parquet files, model downloads, and a CUDA-capable environment. The historical run took about 90 minutes on a GTX 1050. Do not launch it without those inputs.
uv sync
PYTHONPATH=repro/src python repro/src/run_claim1_exactly10.py \
--flickr-parquet /path/to/flickr30k-test-0000.parquet \
--cifar-parquet /path/to/cifar10-test-0000.parquet
python repro/src/verify_claim1_evidence.py
The smaller mathematical checks and focused tests are:
PYTHONPATH=repro/src python repro/src/run_c1.py
PYTHONPATH=repro/src python repro/src/run_c2.py
python -m pytest -q
The publication checks are lightweight and never launch model inference:
python repro/src/verify_publication.py
python repro/src/publication_gate.py --skip-producers
| Artifact | Pin or digest |
|---|---|
| Paper PDF | SHA-256 a44a1d0dfa3b8684b3b004854933c94c37b0bb7dcdef8747156979e545d9138e |
| Official implementation | tdsai-lab/hybrid-randomized-smoothing at 3707eec87a65501692f57682e4853583685669f9 |
| Actual model | openai/clip-vit-base-patch32@3d74acf9a28c67741b2f4f2ea7635f0aaf6f0268 — 151,277,313 parameters |
| Primary data | nlphuji/flickr30k@2b239befc81b6e3f035ce6bd52f5f4d60f5625f7; 3,800-row shard SHA-256 d3739eb8f763b43ea4150161b7282580fb5b2c4bcd08b7331a5f63111cc51879 |
| Cross-dataset control | uoft-cs/cifar10 test parquet; 10,000 rows; SHA-256 841389e6f2d64f28bf17310e430aebac20ec3ba611a3c5e231dc93c645ce84de |
The upstream/ directory is a copied snapshot of the official implementation,
not a submodule. Its source pin is recorded in SOURCE_MANIFEST.md.
repro/src/hybrid_rs_cr.py — clean-room NumPy/SciPy certificate formulas.repro/src/run_c1.py and run_c2.py — mathematical claim producers.repro/src/actual_multimodal.py — pinned CLIP black-box adapter and kernels.repro/src/run_claim1_exactly10.py — ten-route actual-model producer.repro/src/verify_claim1_evidence.py — independent evidence verifier.outputs/claim1_exactly10/ — route ledger, raw evidence, hashes, and verdict.upstream/ — official implementation snapshot at the pinned commit.STATUS.md — current verdict and reproduction boundary.CLAIM_EVIDENCE.md — claim-to-code-to-output production paths.BRANCH_AUDIT.md — old-to-new branch mapping.SOURCE_MANIFEST.md and sources.json — source provenance, citation, and thanks.evidence/claim_summary.json — durable promotion boundary.repro/src/verify_publication.py and publication_gate.py — publication hygiene checks.The original repository had only master. It becomes the reader-facing
publication branch main; there are no retained experiment branches to
classify.
| Clean branch | Role |
|---|---|
main | Paper-first README, claim ledger, pinned provenance, reproduction artifacts, and publication checks. |
@inproceedings{delattre2026hybrid,
title={Certified Robustness under Heterogeneous Perturbations via Hybrid Randomized Smoothing},
author={Delattre, Blaise and Wu, Hengyu and Caillon, Paul and Lim, Wei Yang Bryan and Cao, Yang},
booktitle={Proceedings of the International Conference on Machine Learning},
year={2026},
url={https://arxiv.org/abs/2605.12876}
}
Thank you to Blaise Delattre, Hengyu Wu, Paul Caillon, Wei Yang Bryan Lim, and Yang Cao for the paper, the official implementation, and the opportunity to study hybrid randomized-smoothing certificates on mixed discrete–continuous inputs. This repository is an independent reproduction audit; it does not represent the authors' implementation, approval, or endorsement.
7 commits
Python
97.8%
Shell
2.2%