{"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/towards-practical-control-of-singular-values","title":"Towards Practical Control of Singular Values of Convolutional Layers","arxiv_id":"2211.13771","date":"2022-11-24","proceeding":null,"authors":["Alexandra Senderovich","Ekaterina Bulatova","Anton Obukhov","Maxim Rakhuba"],"abstract":"In general, convolutional neural networks (CNNs) are easy to train, but their essential properties, such as generalization error and adversarial robustness, are hard to control. Recent research demonstrated that singular values of convolutional layers significantly affect such elusive properties and offered several methods for controlling them. Nevertheless, these methods present an intractable computational challenge or resort to coarse approximations. In this paper, we offer a principled approach to alleviating constraints of the prior art at the expense of an insignificant reduction in layer expressivity. Our method is based on the tensor-train decomposition; it retains control over the actual singular values of convolutional mappings while providing structurally sparse and hardware-friendly representation. We demonstrate the improved properties of modern CNNs with our method and analyze its impact on the model performance, calibration, and adversarial robustness. The source code is available at: https://github.com/WhiteTeaDragon/practical_svd_conv","url_abs":"https://arxiv.org/abs/2211.13771v1","url_pdf":"https://arxiv.org/pdf/2211.13771v1.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":"towards-practical-control-of-singular-values","repo_url":"https://github.com/whiteteadragon/practical_svd_conv","is_official":1,"mentioned_in_paper":1,"mentioned_in_github":0,"framework":"pytorch","reach":null}],"tasks":[{"task_slug":"adversarial-robustness","task_name":"Adversarial Robustness"}],"methods":[],"datasets_introduced":[],"methods_introduced":[],"results":[],"syntology":{"atlas_url":"https://app.syntology.ai/?focus=2211.13771","mcp":{"get_harvested_code_for_paper":{"arxiv_id":"2211.13771"}},"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/whiteteadragon/practical_svd_conv","reach":null}],"summary":{"ran":1,"ran_draft_wrong":1,"ran_violates":1,"unverified":4},"by_repo_kind":{"official":{"samples":7,"ran":3,"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":"521d49d2c8541d81","entry":"ConvDecomposed2D_t","repo":"whiteteadragon/practical_svd_conv","repo_kind":"official","path":"src/tt_dec_layer.py","file_url":"https://github.com/whiteteadragon/practical_svd_conv/blob/HEAD/src/tt_dec_layer.py","link_basis":"first_harvest_node","language":"python","status":"ran","verification_level":1,"contract_check":null,"metamorphic_tier":"deterministic","behaviour_fingerprint":true,"licence":"BSD-3-Clause","inline_ok":true,"mcp_get_code":{"code_sha256":"521d49d2c8541d81"}},{"code_sha256_prefix":"67e7617cc8126bfe","entry":"full_tt","repo":"whiteteadragon/practical_svd_conv","repo_kind":"official","path":"src/tt_dec_layer.py","file_url":"https://github.com/whiteteadragon/practical_svd_conv/blob/HEAD/src/tt_dec_layer.py","link_basis":"first_harvest_node","language":"python","status":"ran_draft_wrong","verification_level":1,"contract_check":"MISDECLARED","metamorphic_tier":"invariant","behaviour_fingerprint":true,"licence":"BSD-3-Clause","inline_ok":true,"mcp_get_code":{"code_sha256":"67e7617cc8126bfe"}},{"code_sha256_prefix":"a909fbe6b300e661","entry":"full_tt","repo":"whiteteadragon/practical_svd_conv","repo_kind":"official","path":"src/tt_dec_layer.py","file_url":"https://github.com/whiteteadragon/practical_svd_conv/blob/HEAD/src/tt_dec_layer.py","link_basis":"first_harvest_node","language":"python","status":"ran_violates","verification_level":1,"contract_check":"VIOLATES","metamorphic_tier":null,"behaviour_fingerprint":true,"licence":"BSD-3-Clause","inline_ok":true,"mcp_get_code":{"code_sha256":"a909fbe6b300e661"}},{"code_sha256_prefix":"be714060daae26c5","entry":"faster_memory","repo":"whiteteadragon/practical_svd_conv","repo_kind":"official","path":"src/tt_dec_layer.py","file_url":"https://github.com/whiteteadragon/practical_svd_conv/blob/HEAD/src/tt_dec_layer.py","link_basis":"first_harvest_node","language":"python","status":"unverified","verification_level":0,"contract_check":null,"metamorphic_tier":null,"behaviour_fingerprint":false,"licence":"BSD-3-Clause","inline_ok":true,"mcp_get_code":{"code_sha256":"be714060daae26c5"}},{"code_sha256_prefix":"ffb560549168d418","entry":"faster_memory","repo":"whiteteadragon/practical_svd_conv","repo_kind":"official","path":"src/tt_dec_layer.py","file_url":"https://github.com/whiteteadragon/practical_svd_conv/blob/HEAD/src/tt_dec_layer.py","link_basis":"first_harvest_node","language":"python","status":"unverified","verification_level":0,"contract_check":null,"metamorphic_tier":null,"behaviour_fingerprint":false,"licence":"BSD-3-Clause","inline_ok":true,"mcp_get_code":{"code_sha256":"ffb560549168d418"}},{"code_sha256_prefix":"921f7af059f5ea35","entry":"slower_without_memory","repo":"whiteteadragon/practical_svd_conv","repo_kind":"official","path":"src/tt_dec_layer.py","file_url":"https://github.com/whiteteadragon/practical_svd_conv/blob/HEAD/src/tt_dec_layer.py","link_basis":"first_harvest_node","language":"python","status":"unverified","verification_level":0,"contract_check":null,"metamorphic_tier":null,"behaviour_fingerprint":false,"licence":"BSD-3-Clause","inline_ok":true,"mcp_get_code":{"code_sha256":"921f7af059f5ea35"}},{"code_sha256_prefix":"e9bb591124f2803a","entry":"slower_without_memory","repo":"whiteteadragon/practical_svd_conv","repo_kind":"official","path":"src/tt_dec_layer.py","file_url":"https://github.com/whiteteadragon/practical_svd_conv/blob/HEAD/src/tt_dec_layer.py","link_basis":"first_harvest_node","language":"python","status":"unverified","verification_level":0,"contract_check":null,"metamorphic_tier":null,"behaviour_fingerprint":false,"licence":"BSD-3-Clause","inline_ok":true,"mcp_get_code":{"code_sha256":"e9bb591124f2803a"}}]},"arxiv_metadata":null,"syntology_extracted_results":null}