{"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/stable-cluster-discrimination-for-deep-1","title":"Stable Cluster Discrimination for Deep Clustering","arxiv_id":"2311.14310","date":"2023-11-24","proceeding":"ICCV 2023 1","authors":["Qi Qian"],"abstract":"Deep clustering can optimize representations of instances (i.e., representation learning) and explore the inherent data distribution (i.e., clustering) simultaneously, which demonstrates a superior performance over conventional clustering methods with given features. However, the coupled objective implies a trivial solution that all instances collapse to the uniform features. To tackle the challenge, a two-stage training strategy is developed for decoupling, where it introduces an additional pre-training stage for representation learning and then fine-tunes the obtained model for clustering. Meanwhile, one-stage methods are developed mainly for representation learning rather than clustering, where various constraints for cluster assignments are designed to avoid collapsing explicitly. Despite the success of these methods, an appropriate learning objective tailored for deep clustering has not been investigated sufficiently. In this work, we first show that the prevalent discrimination task in supervised learning is unstable for one-stage clustering due to the lack of ground-truth labels and positive instances for certain clusters in each mini-batch. To mitigate the issue, a novel stable cluster discrimination (SeCu) task is proposed and a new hardness-aware clustering criterion can be obtained accordingly. Moreover, a global entropy constraint for cluster assignments is studied with efficient optimization. Extensive experiments are conducted on benchmark data sets and ImageNet. SeCu achieves state-of-the-art performance on all of them, which demonstrates the effectiveness of one-stage deep clustering. Code is available at \\url{https://github.com/idstcv/SeCu}.","url_abs":"https://arxiv.org/abs/2311.14310v1","url_pdf":"https://arxiv.org/pdf/2311.14310v1.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":"stable-cluster-discrimination-for-deep-1","repo_url":"https://github.com/idstcv/secu","is_official":1,"mentioned_in_paper":1,"mentioned_in_github":0,"framework":"pytorch","reach":null}],"tasks":[{"task_slug":"clustering","task_name":"Clustering"},{"task_slug":"deep-clustering","task_name":"Deep Clustering"},{"task_slug":"image-clustering","task_name":"Image Clustering"},{"task_slug":"representation-learning","task_name":"Representation Learning"},{"task_slug":"unsupervised-image-classification","task_name":"Unsupervised Image Classification"}],"methods":[],"datasets_introduced":[],"methods_introduced":[],"results":[{"leaderboard":"/sota/image-clustering-on-cifar-10","task":"Image Clustering","dataset":"CIFAR-10","model":"SeCu","rank_in_archive_order":7,"of":40,"metrics":{"ARI":"0.857","Accuracy":"0.93","Backbone":"ResNet-18","NMI":"0.861","Train set":"Train"},"uses_additional_data":false},{"leaderboard":"/sota/image-clustering-on-imagenet","task":"Image Clustering","dataset":"ImageNet","model":"SeCu","rank_in_archive_order":9,"of":12,"metrics":{"ARI":"41.9","Accuracy":"53.5","NMI":"79.4"},"uses_additional_data":false},{"leaderboard":"/sota/image-clustering-on-imagenet","task":"Image Clustering","dataset":"ImageNet","model":"CoKe","rank_in_archive_order":10,"of":12,"metrics":{"ARI":"35.6","Accuracy":"47.6","NMI":"76.2"},"uses_additional_data":false},{"leaderboard":"/sota/image-clustering-on-stl-10","task":"Image Clustering","dataset":"STL-10","model":"SeCu","rank_in_archive_order":12,"of":29,"metrics":{"ARI":"0.693","Accuracy":"0.836","Backbone":"ResNet-18","NMI":"0.733","Train Split":"Train"},"uses_additional_data":false},{"leaderboard":"/sota/unsupervised-image-classification-on-cifar-10","task":"Unsupervised Image Classification","dataset":"CIFAR-10","model":"SeCu","rank_in_archive_order":2,"of":9,"metrics":{"Accuracy":"93"},"uses_additional_data":false},{"leaderboard":"/sota/unsupervised-image-classification-on-cifar-20","task":"Unsupervised Image Classification","dataset":"CIFAR-20","model":"SeCu","rank_in_archive_order":8,"of":14,"metrics":{"Accuracy":"55.2"},"uses_additional_data":false}],"syntology":{"syntology_url":null,"atlas_url":"https://app.syntology.ai/?focus=2311.14310","mcp":{"get_harvested_code_for_paper":{"arxiv_id":"2311.14310"}},"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/idstcv/secu","reach":null}],"summary":{"ran":1},"by_repo_kind":{"official":{"samples":1,"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":"8eb4fb46021c1901","entry":"SeCu","repo":"idstcv/secu","repo_kind":"official","path":"secu/builder.py","file_url":"https://github.com/idstcv/secu/blob/HEAD/secu/builder.py","link_basis":"first_harvest_node","language":"python","status":"ran","verification_level":1,"contract_check":null,"metamorphic_tier":"deterministic","behaviour_fingerprint":false,"licence":"Apache-2.0","inline_ok":true,"mcp_get_code":{"code_sha256":"8eb4fb46021c1901"}}]},"arxiv_metadata":null,"syntology_extracted_results":null}