{"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/clusttr-clustering-training-for-robustness","title":"Rethinking Clustering for Robustness","arxiv_id":"2006.07682","date":"2020-06-13","proceeding":null,"authors":["Motasem Alfarra","Juan C. Pérez","Adel Bibi","Ali Thabet","Pablo Arbeláez","Bernard Ghanem"],"abstract":"This paper studies how encouraging semantically-aligned features during deep neural network training can increase network robustness. Recent works observed that Adversarial Training leads to robust models, whose learnt features appear to correlate with human perception. Inspired by this connection from robustness to semantics, we study the complementary connection: from semantics to robustness. To do so, we provide a robustness certificate for distance-based classification models (clustering-based classifiers). Moreover, we show that this certificate is tight, and we leverage it to propose ClusTR (Clustering Training for Robustness), a clustering-based and adversary-free training framework to learn robust models. Interestingly, \\textit{ClusTR} outperforms adversarially-trained networks by up to $4\\%$ under strong PGD attacks.","url_abs":"https://arxiv.org/abs/2006.07682v3","url_pdf":"https://arxiv.org/pdf/2006.07682v3.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":"clusttr-clustering-training-for-robustness","repo_url":"https://github.com/clustr-official-account/ClusTR-Clustering-Training-For-Robustness","is_official":1,"mentioned_in_paper":1,"mentioned_in_github":1,"framework":"pytorch","reach":{"status":"ok","spdx":"MIT"}}],"tasks":[{"task_slug":"clustering","task_name":"Clustering"}],"methods":[],"datasets_introduced":[],"methods_introduced":[],"results":[],"syntology":{"atlas_url":"https://app.syntology.ai/?focus=2006.07682","mcp":{"get_harvested_code_for_paper":{"arxiv_id":"2006.07682"}},"developers":"https://syntology.ai/developers","read_at":"2026-09-24T18:15:14+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/clustr-official-account/ClusTR-Clustering-Training-For-Robustness","reach":{"status":"ok","spdx":"MIT"}}],"summary":{"ran_honours":1,"unverified":9},"by_repo_kind":{"official":{"samples":10,"ran":1,"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":0,"samples":[{"code_sha256_prefix":"7337f1f5ff01dcd0","entry":"get_lr","repo":"clustr-official-account/ClusTR-Clustering-Training-For-Robustness","repo_kind":"official","path":"utils/logging.py","file_url":"https://github.com/clustr-official-account/ClusTR-Clustering-Training-For-Robustness/blob/HEAD/utils/logging.py","link_basis":"harvester_set","language":"python","status":"ran_honours","verification_level":1,"contract_check":"HONOURS","metamorphic_tier":"well_formed","behaviour_fingerprint":false,"licence":"MIT","inline_ok":true,"mcp_get_code":{"code_sha256":"7337f1f5ff01dcd0"}},{"code_sha256_prefix":"361ae40c2d5f192d","entry":"channelwise_clamp","repo":"clustr-official-account/ClusTR-Clustering-Training-For-Robustness","repo_kind":"official","path":"utils/utils.py","file_url":"https://github.com/clustr-official-account/ClusTR-Clustering-Training-For-Robustness/blob/HEAD/utils/utils.py","link_basis":"first_harvest_node","language":"python","status":"unverified","verification_level":0,"contract_check":null,"metamorphic_tier":null,"behaviour_fingerprint":false,"licence":"MIT","inline_ok":true,"mcp_get_code":{"code_sha256":"361ae40c2d5f192d"}},{"code_sha256_prefix":"e5cfb1003e643073","entry":"check_best_model","repo":"clustr-official-account/ClusTR-Clustering-Training-For-Robustness","repo_kind":"official","path":"utils/logging.py","file_url":"https://github.com/clustr-official-account/ClusTR-Clustering-Training-For-Robustness/blob/HEAD/utils/logging.py","link_basis":"first_harvest_node","language":"python","status":"unverified","verification_level":0,"contract_check":null,"metamorphic_tier":null,"behaviour_fingerprint":false,"licence":"MIT","inline_ok":true,"mcp_get_code":{"code_sha256":"e5cfb1003e643073"}},{"code_sha256_prefix":"dcae8a603be2929a","entry":"comparison_mask","repo":"clustr-official-account/ClusTR-Clustering-Training-For-Robustness","repo_kind":"official","path":"utils/magnet_loss.py","file_url":"https://github.com/clustr-official-account/ClusTR-Clustering-Training-For-Robustness/blob/HEAD/utils/magnet_loss.py","link_basis":"first_harvest_node","language":"python","status":"unverified","verification_level":0,"contract_check":null,"metamorphic_tier":null,"behaviour_fingerprint":false,"licence":"MIT","inline_ok":true,"mcp_get_code":{"code_sha256":"dcae8a603be2929a"}},{"code_sha256_prefix":"e48868c62548940d","entry":"compute_reps","repo":"clustr-official-account/ClusTR-Clustering-Training-For-Robustness","repo_kind":"official","path":"utils/utils.py","file_url":"https://github.com/clustr-official-account/ClusTR-Clustering-Training-For-Robustness/blob/HEAD/utils/utils.py","link_basis":"first_harvest_node","language":"python","status":"unverified","verification_level":0,"contract_check":null,"metamorphic_tier":null,"behaviour_fingerprint":false,"licence":"MIT","inline_ok":true,"mcp_get_code":{"code_sha256":"e48868c62548940d"}},{"code_sha256_prefix":"077cd44913390626","entry":"cross_ent","repo":"clustr-official-account/ClusTR-Clustering-Training-For-Robustness","repo_kind":"official","path":"utils/magnet_training.py","file_url":"https://github.com/clustr-official-account/ClusTR-Clustering-Training-For-Robustness/blob/HEAD/utils/magnet_training.py","link_basis":"first_harvest_node","language":"python","status":"unverified","verification_level":0,"contract_check":null,"metamorphic_tier":null,"behaviour_fingerprint":false,"licence":"MIT","inline_ok":true,"mcp_get_code":{"code_sha256":"077cd44913390626"}},{"code_sha256_prefix":"be0af940bcd1b3dd","entry":"dynamic_partition","repo":"clustr-official-account/ClusTR-Clustering-Training-For-Robustness","repo_kind":"official","path":"utils/magnet_loss.py","file_url":"https://github.com/clustr-official-account/ClusTR-Clustering-Training-For-Robustness/blob/HEAD/utils/magnet_loss.py","link_basis":"first_harvest_node","language":"python","status":"unverified","verification_level":0,"contract_check":null,"metamorphic_tier":null,"behaviour_fingerprint":false,"licence":"MIT","inline_ok":true,"mcp_get_code":{"code_sha256":"be0af940bcd1b3dd"}},{"code_sha256_prefix":"365499eeb874b2da","entry":"expand_dims","repo":"clustr-official-account/ClusTR-Clustering-Training-For-Robustness","repo_kind":"official","path":"utils/magnet_loss.py","file_url":"https://github.com/clustr-official-account/ClusTR-Clustering-Training-For-Robustness/blob/HEAD/utils/magnet_loss.py","link_basis":"first_harvest_node","language":"python","status":"unverified","verification_level":0,"contract_check":null,"metamorphic_tier":null,"behaviour_fingerprint":false,"licence":"MIT","inline_ok":true,"mcp_get_code":{"code_sha256":"365499eeb874b2da"}},{"code_sha256_prefix":"6fb401fb70224807","entry":"external_attack_pgd","repo":"clustr-official-account/ClusTR-Clustering-Training-For-Robustness","repo_kind":"official","path":"utils/attacks.py","file_url":"https://github.com/clustr-official-account/ClusTR-Clustering-Training-For-Robustness/blob/HEAD/utils/attacks.py","link_basis":"first_harvest_node","language":"python","status":"unverified","verification_level":0,"contract_check":null,"metamorphic_tier":null,"behaviour_fingerprint":false,"licence":"MIT","inline_ok":true,"mcp_get_code":{"code_sha256":"6fb401fb70224807"}},{"code_sha256_prefix":"52128432a5263eb8","entry":"get_softmax_probs","repo":"clustr-official-account/ClusTR-Clustering-Training-For-Robustness","repo_kind":"official","path":"utils/utils.py","file_url":"https://github.com/clustr-official-account/ClusTR-Clustering-Training-For-Robustness/blob/HEAD/utils/utils.py","link_basis":"first_harvest_node","language":"python","status":"unverified","verification_level":0,"contract_check":null,"metamorphic_tier":null,"behaviour_fingerprint":false,"licence":"MIT","inline_ok":true,"mcp_get_code":{"code_sha256":"52128432a5263eb8"}}]},"arxiv_metadata":null,"syntology_extracted_results":null}