{"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-discriminability-and-diversity-batch","title":"Towards Discriminability and Diversity: Batch Nuclear-norm Maximization under Label Insufficient Situations","arxiv_id":"2003.12237","date":"2020-03-27","proceeding":"CVPR 2020 6","authors":["Shuhao Cui","Shuhui Wang","Junbao Zhuo","Liang Li","Qingming Huang","Qi Tian"],"abstract":"The learning of the deep networks largely relies on the data with human-annotated labels. In some label insufficient situations, the performance degrades on the decision boundary with high data density. A common solution is to directly minimize the Shannon Entropy, but the side effect caused by entropy minimization, i.e., reduction of the prediction diversity, is mostly ignored. To address this issue, we reinvestigate the structure of classification output matrix of a randomly selected data batch. We find by theoretical analysis that the prediction discriminability and diversity could be separately measured by the Frobenius-norm and rank of the batch output matrix. Besides, the nuclear-norm is an upperbound of the Frobenius-norm, and a convex approximation of the matrix rank. Accordingly, to improve both discriminability and diversity, we propose Batch Nuclear-norm Maximization (BNM) on the output matrix. BNM could boost the learning under typical label insufficient learning scenarios, such as semi-supervised learning, domain adaptation and open domain recognition. On these tasks, extensive experimental results show that BNM outperforms competitors and works well with existing well-known methods. The code is available at https://github.com/cuishuhao/BNM.","url_abs":"https://arxiv.org/abs/2003.12237v1","url_pdf":"https://arxiv.org/pdf/2003.12237v1.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-discriminability-and-diversity-batch","repo_url":"https://github.com/cuishuhao/BNM","is_official":1,"mentioned_in_paper":1,"mentioned_in_github":1,"framework":"pytorch","reach":null},{"paper_slug":"towards-discriminability-and-diversity-batch","repo_url":"https://github.com/kevinmusgrave/pytorch-adapt","is_official":0,"mentioned_in_paper":0,"mentioned_in_github":0,"framework":"pytorch","reach":null}],"tasks":[{"task_slug":"diversity","task_name":"Diversity"},{"task_slug":"domain-adaptation","task_name":"Domain Adaptation"}],"methods":[{"method_slug":"batch-nuclear-norm-maximization","method_name":"Batch Nuclear-norm Maximization"}],"datasets_introduced":[],"methods_introduced":[{"slug":"batch-nuclear-norm-maximization","name":"Batch Nuclear-norm Maximization","full_name":"Batch Nuclear-norm Maximization"}],"results":[],"syntology":{"atlas_url":"https://app.syntology.ai/?focus=2003.12237","mcp":{"get_harvested_code_for_paper":{"arxiv_id":"2003.12237"}},"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/kevinmusgrave/pytorch-adapt","reach":null},{"provenance":"external:paperswithcode_snapshot_2025-07-28","url":"https://github.com/cuishuhao/BNM","reach":null}],"summary":{"ran_honours":2,"unverified":2},"by_repo_kind":{"official":{"samples":4,"ran":2,"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":"54f9f530b53b6db0","entry":"Entropy","repo":"cuishuhao/BNM","repo_kind":"official","path":"UODR/train_loader.py","file_url":"https://github.com/cuishuhao/BNM/blob/HEAD/UODR/train_loader.py","link_basis":"first_harvest_node","language":"python","status":"ran_honours","verification_level":1,"contract_check":"HONOURS","metamorphic_tier":"invariant","behaviour_fingerprint":true,"licence":"MIT","inline_ok":true,"mcp_get_code":{"code_sha256":"54f9f530b53b6db0"}},{"code_sha256_prefix":"71680bdb81708ce5","entry":"my_l2_loss","repo":"cuishuhao/BNM","repo_kind":"official","path":"UODR/train_loader.py","file_url":"https://github.com/cuishuhao/BNM/blob/HEAD/UODR/train_loader.py","link_basis":"first_harvest_node","language":"python","status":"ran_honours","verification_level":1,"contract_check":"HONOURS","metamorphic_tier":"invariant","behaviour_fingerprint":true,"licence":"MIT","inline_ok":true,"mcp_get_code":{"code_sha256":"71680bdb81708ce5"}},{"code_sha256_prefix":"dc70b38779cb6f7c","entry":"calc_coeff","repo":"cuishuhao/BNM","repo_kind":"official","path":"UODR/train_loader.py","file_url":"https://github.com/cuishuhao/BNM/blob/HEAD/UODR/train_loader.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":"dc70b38779cb6f7c"}},{"code_sha256_prefix":"ffe52a5a2d8c2a02","entry":"image_classification_test","repo":"cuishuhao/BNM","repo_kind":"official","path":"DA/BNM/train_image.py","file_url":"https://github.com/cuishuhao/BNM/blob/HEAD/DA/BNM/train_image.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":"ffe52a5a2d8c2a02"}}]},"arxiv_metadata":null,"syntology_extracted_results":null}