{"about":{"site":"https://codewithpapers.app","non_affiliation":"Code with Papers and Syntology are not affiliated with, endorsed by, or sponsored by Papers with Code, Meta, or the pwc-archive mirror.","licence":"CC BY-SA 4.0","licence_url":"https://creativecommons.org/licenses/by-sa/4.0/legalcode","attribution":"https://codewithpapers.app/attribution","modified":"archive material modified by Syntology; see the attribution page"},"url":"/paper/improving-robustness-to-corruptions-with","title":"Improving robustness to corruptions with multiplicative weight perturbations","arxiv_id":"2406.16540","date":"2024-06-24","proceeding":null,"authors":["Trung Trinh","Markus Heinonen","Luigi Acerbi","Samuel Kaski"],"abstract":"Deep neural networks (DNNs) excel on clean images but struggle with corrupted ones. Incorporating specific corruptions into the data augmentation pipeline can improve robustness to those corruptions but may harm performance on clean images and other types of distortion. In this paper, we introduce an alternative approach that improves the robustness of DNNs to a wide range of corruptions without compromising accuracy on clean images. We first demonstrate that input perturbations can be mimicked by multiplicative perturbations in the weight space. Leveraging this, we propose Data Augmentation via Multiplicative Perturbation (DAMP), a training method that optimizes DNNs under random multiplicative weight perturbations. We also examine the recently proposed Adaptive Sharpness-Aware Minimization (ASAM) and show that it optimizes DNNs under adversarial multiplicative weight perturbations. Experiments on image classification datasets (CIFAR-10/100, TinyImageNet and ImageNet) and neural network architectures (ResNet50, ViT-S/16, ViT-B/16) show that DAMP enhances model generalization performance in the presence of corruptions across different settings. Notably, DAMP is able to train a ViT-S/16 on ImageNet from scratch, reaching the top-1 error of 23.7% which is comparable to ResNet50 without extensive data augmentations.","url_abs":"https://arxiv.org/abs/2406.16540v3","url_pdf":"https://arxiv.org/pdf/2406.16540v3.pdf","source":{"archive":"pwc-archive (Hugging Face), CC BY-SA 4.0","snapshot":"2025-07-28","licence_url":"https://creativecommons.org/licenses/by-sa/4.0/legalcode","row_kind":"abstracts"},"code_links":[{"paper_slug":"improving-robustness-to-corruptions-with","repo_url":"https://github.com/trungtrinh44/damp","is_official":1,"mentioned_in_paper":1,"mentioned_in_github":0,"framework":"jax","reach":null}],"tasks":[{"task_slug":"data-augmentation","task_name":"Data Augmentation"},{"task_slug":"image-classification","task_name":"Image Classification"},{"task_slug":"image-classification","task_name":"image-classification"}],"methods":[{"method_slug":"sharpness-aware-minimization","method_name":"Sharpness-Aware Minimization"}],"datasets_introduced":[],"methods_introduced":[],"results":[],"syntology":{"syntology_url":"https://syntology.ai/paper/2406.16540","atlas_url":"https://app.syntology.ai/?focus=2406.16540","mcp":{"get_harvested_code_for_paper":{"arxiv_id":"2406.16540"}},"developers":"https://syntology.ai/developers","read_at":"2026-09-25T09:33:49+00:00","read_at_is":"when the build read Syntology's graph, not when any sample ran","claim":"Per-sample execution status on synthesized fixtures; not a correctness claim about the paper. Samples come from repositories linked to the paper, official or community; repo_kind says which.","repos":[{"provenance":"external:paperswithcode_snapshot_2025-07-28","url":"https://github.com/trungtrinh44/damp","reach":null}],"summary":{"ran_honours":3,"ran_violates":1,"ran_draft_wrong":2,"ran_fixture":1,"unverified":2},"by_repo_kind":{"official":{"samples":9,"ran":7,"repositories":1}},"repo_kind_vocabulary":{"official":"The archive marks this repository official for the paper","named_in_paper":"The archive records that the paper mentions this repository; it is not marked official","listed":"In the archive's code links for this paper, not marked official and not recorded as mentioned in the paper","found_in_text":"Syntology found this repository in the paper's own text; whether it is the authors' implementation is not asserted","community":"Not in the archive's code links for this paper; a community repository Syntology harvested"},"n_pointer_only_for_licence":9,"samples":[{"code_sha256_prefix":"ed852e74db36309a","entry":"_get_gaussian_kernel","repo":"trungtrinh44/damp","repo_kind":"official","path":"randaugment/augment.py","file_url":"https://github.com/trungtrinh44/damp/blob/HEAD/randaugment/augment.py","link_basis":"first_harvest_node","language":"python","status":"ran_honours","verification_level":1,"contract_check":"HONOURS","metamorphic_tier":null,"behaviour_fingerprint":true,"licence":"NONE","inline_ok":false,"mcp_get_code":{"code_sha256":"ed852e74db36309a"}},{"code_sha256_prefix":"03fcb094182e80ea","entry":"_get_gaussian_kernel_2d","repo":"trungtrinh44/damp","repo_kind":"official","path":"randaugment/augment.py","file_url":"https://github.com/trungtrinh44/damp/blob/HEAD/randaugment/augment.py","link_basis":"first_harvest_node","language":"python","status":"ran_violates","verification_level":1,"contract_check":"VIOLATES","metamorphic_tier":null,"behaviour_fingerprint":false,"licence":"NONE","inline_ok":false,"mcp_get_code":{"code_sha256":"03fcb094182e80ea"}},{"code_sha256_prefix":"a5c06a4fe76d4fc3","entry":"_normalize_tuple","repo":"trungtrinh44/damp","repo_kind":"official","path":"randaugment/augment.py","file_url":"https://github.com/trungtrinh44/damp/blob/HEAD/randaugment/augment.py","link_basis":"first_harvest_node","language":"python","status":"ran_honours","verification_level":1,"contract_check":"HONOURS","metamorphic_tier":null,"behaviour_fingerprint":true,"licence":"NONE","inline_ok":false,"mcp_get_code":{"code_sha256":"a5c06a4fe76d4fc3"}},{"code_sha256_prefix":"f55c98808a12d76e","entry":"_pad","repo":"trungtrinh44/damp","repo_kind":"official","path":"randaugment/augment.py","file_url":"https://github.com/trungtrinh44/damp/blob/HEAD/randaugment/augment.py","link_basis":"first_harvest_node","language":"python","status":"ran_draft_wrong","verification_level":1,"contract_check":"MISDECLARED","metamorphic_tier":null,"behaviour_fingerprint":false,"licence":"NONE","inline_ok":false,"mcp_get_code":{"code_sha256":"f55c98808a12d76e"}},{"code_sha256_prefix":"c15f0fd201ea7a3a","entry":"gaussian_filter2d","repo":"trungtrinh44/damp","repo_kind":"official","path":"randaugment/augment.py","file_url":"https://github.com/trungtrinh44/damp/blob/HEAD/randaugment/augment.py","link_basis":"first_harvest_node","language":"python","status":"ran_fixture","verification_level":1,"contract_check":"RAISES","metamorphic_tier":null,"behaviour_fingerprint":false,"licence":"NONE","inline_ok":false,"mcp_get_code":{"code_sha256":"c15f0fd201ea7a3a"}},{"code_sha256_prefix":"a1c31b015211f700","entry":"open_json","repo":"trungtrinh44/damp","repo_kind":"official","path":"imagenet/eval_vit_imagenet_and_imagenet_c.py","file_url":"https://github.com/trungtrinh44/damp/blob/HEAD/imagenet/eval_vit_imagenet_and_imagenet_c.py","link_basis":"first_harvest_node","language":"python","status":"ran_draft_wrong","verification_level":1,"contract_check":"OUTPUT_MISDECLARED","metamorphic_tier":"deterministic","behaviour_fingerprint":false,"licence":"NONE","inline_ok":false,"mcp_get_code":{"code_sha256":"a1c31b015211f700"}},{"code_sha256_prefix":"bd1c72a9d8556505","entry":"to_4d","repo":"trungtrinh44/damp","repo_kind":"official","path":"randaugment/augment.py","file_url":"https://github.com/trungtrinh44/damp/blob/HEAD/randaugment/augment.py","link_basis":"first_harvest_node","language":"python","status":"ran_honours","verification_level":1,"contract_check":"HONOURS","metamorphic_tier":null,"behaviour_fingerprint":true,"licence":"NONE","inline_ok":false,"mcp_get_code":{"code_sha256":"bd1c72a9d8556505"}},{"code_sha256_prefix":"b10fb8ac53c53a97","entry":"from_4d","repo":"trungtrinh44/damp","repo_kind":"official","path":"randaugment/augment.py","file_url":"https://github.com/trungtrinh44/damp/blob/HEAD/randaugment/augment.py","link_basis":"first_harvest_node","language":"python","status":"unverified","verification_level":0,"contract_check":null,"metamorphic_tier":null,"behaviour_fingerprint":false,"licence":"NONE","inline_ok":false,"mcp_get_code":{"code_sha256":"b10fb8ac53c53a97"}},{"code_sha256_prefix":"8cbf8b03fdf303a9","entry":"gaussian_noise","repo":"trungtrinh44/damp","repo_kind":"official","path":"randaugment/augment.py","file_url":"https://github.com/trungtrinh44/damp/blob/HEAD/randaugment/augment.py","link_basis":"first_harvest_node","language":"python","status":"unverified","verification_level":0,"contract_check":null,"metamorphic_tier":null,"behaviour_fingerprint":false,"licence":"NONE","inline_ok":false,"mcp_get_code":{"code_sha256":"8cbf8b03fdf303a9"}}]},"arxiv_metadata":null,"syntology_extracted_results":null}