{"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/joint-unsupervised-learning-of-deep","title":"Joint Unsupervised Learning of Deep Representations and Image Clusters","arxiv_id":"1604.03628","date":"2016-04-13","proceeding":"CVPR 2016 6","authors":["Jianwei Yang","Devi Parikh","Dhruv Batra"],"abstract":"In this paper, we propose a recurrent framework for Joint Unsupervised\nLEarning (JULE) of deep representations and image clusters. In our framework,\nsuccessive operations in a clustering algorithm are expressed as steps in a\nrecurrent process, stacked on top of representations output by a Convolutional\nNeural Network (CNN). During training, image clusters and representations are\nupdated jointly: image clustering is conducted in the forward pass, while\nrepresentation learning in the backward pass. Our key idea behind this\nframework is that good representations are beneficial to image clustering and\nclustering results provide supervisory signals to representation learning. By\nintegrating two processes into a single model with a unified weighted triplet\nloss and optimizing it end-to-end, we can obtain not only more powerful\nrepresentations, but also more precise image clusters. Extensive experiments\nshow that our method outperforms the state-of-the-art on image clustering\nacross a variety of image datasets. Moreover, the learned representations\ngeneralize well when transferred to other tasks.","url_abs":"http://arxiv.org/abs/1604.03628v3","url_pdf":"http://arxiv.org/pdf/1604.03628v3.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":"joint-unsupervised-learning-of-deep","repo_url":"https://github.com/jwyang/joint-unsupervised-learning","is_official":1,"mentioned_in_paper":1,"mentioned_in_github":1,"framework":"torch","reach":{"status":"ok","spdx":"MIT"}},{"paper_slug":"joint-unsupervised-learning-of-deep","repo_url":"https://github.com/jwyang/JULE-Torch","is_official":0,"mentioned_in_paper":0,"mentioned_in_github":1,"framework":"torch","reach":{"status":"ok","spdx":"MIT"}},{"paper_slug":"joint-unsupervised-learning-of-deep","repo_url":"https://github.com/jwyang/jule.torch","is_official":0,"mentioned_in_paper":0,"mentioned_in_github":1,"framework":"torch","reach":{"status":"ok","spdx":"MIT"}}],"tasks":[{"task_slug":"clustering","task_name":"Clustering"},{"task_slug":"image-clustering","task_name":"Image Clustering"},{"task_slug":"representation-learning","task_name":"Representation Learning"},{"task_slug":null,"task_name":"Triplet"}],"methods":[],"datasets_introduced":[],"methods_introduced":[],"results":[{"leaderboard":"/sota/image-clustering-on-cifar-10","task":"Image Clustering","dataset":"CIFAR-10","model":"JULE","rank_in_archive_order":39,"of":40,"metrics":{"ARI":"0.138","Accuracy":"0.272","NMI":"0.192","Train set":"Train+Test"},"uses_additional_data":true},{"leaderboard":"/sota/image-clustering-on-cifar-100","task":"Image Clustering","dataset":"CIFAR-100","model":"JULE","rank_in_archive_order":29,"of":30,"metrics":{"Accuracy":"0.137","NMI":"0.103","Train Set":"Train+Test"},"uses_additional_data":true},{"leaderboard":"/sota/image-clustering-on-cmu-pie","task":"Image Clustering","dataset":"CMU-PIE","model":"JULE-RC","rank_in_archive_order":1,"of":4,"metrics":{"NMI":"1.000"},"uses_additional_data":false},{"leaderboard":"/sota/image-clustering-on-cub-birds","task":"Image Clustering","dataset":"CUB Birds","model":"JULE","rank_in_archive_order":4,"of":4,"metrics":{"Accuracy":"0.044","NMI":"0.203"},"uses_additional_data":false},{"leaderboard":"/sota/image-clustering-on-coil-20","task":"Image Clustering","dataset":"Coil-20","model":"JULE-RC","rank_in_archive_order":1,"of":6,"metrics":{"NMI":"1"},"uses_additional_data":false},{"leaderboard":"/sota/image-clustering-on-frgc","task":"Image Clustering","dataset":"FRGC","model":"JULE-RC","rank_in_archive_order":2,"of":3,"metrics":{"NMI":"0.574"},"uses_additional_data":false},{"leaderboard":"/sota/image-clustering-on-imagenet-10","task":"Image Clustering","dataset":"ImageNet-10","model":"JULE","rank_in_archive_order":18,"of":18,"metrics":{"Accuracy":"0.300","NMI":"0.175"},"uses_additional_data":false},{"leaderboard":"/sota/image-clustering-on-imagenet-dog-15","task":"Image Clustering","dataset":"Imagenet-dog-15","model":"JULE","rank_in_archive_order":20,"of":20,"metrics":{"Accuracy":"0.138","NMI":"0.054"},"uses_additional_data":false},{"leaderboard":"/sota/image-clustering-on-mnist-full","task":"Image Clustering","dataset":"MNIST-full","model":"JULE-RC","rank_in_archive_order":13,"of":16,"metrics":{"Accuracy":"0.964","NMI":"0.917"},"uses_additional_data":false},{"leaderboard":"/sota/image-clustering-on-mnist-test","task":"Image Clustering","dataset":"MNIST-test","model":"OURS-RC","rank_in_archive_order":6,"of":11,"metrics":{"NMI":"0.915"},"uses_additional_data":false},{"leaderboard":"/sota/image-clustering-on-stl-10","task":"Image Clustering","dataset":"STL-10","model":"JULE","rank_in_archive_order":29,"of":29,"metrics":{"Accuracy":"0.277","NMI":"0.182","Train Split":"Train+Test"},"uses_additional_data":true},{"leaderboard":"/sota/image-clustering-on-stanford-cars","task":"Image Clustering","dataset":"Stanford Cars","model":"JULE","rank_in_archive_order":5,"of":5,"metrics":{"Accuracy":"0.046","NMI":"0.232"},"uses_additional_data":false},{"leaderboard":"/sota/image-clustering-on-stanford-dogs","task":"Image Clustering","dataset":"Stanford Dogs","model":"JULE","rank_in_archive_order":4,"of":4,"metrics":{"Accuracy":"0.043","NMI":"0.142"},"uses_additional_data":false},{"leaderboard":"/sota/image-clustering-on-tiny-imagenet","task":"Image Clustering","dataset":"Tiny-ImageNet","model":"JULE","rank_in_archive_order":14,"of":14,"metrics":{"Accuracy":"0.033","NMI":"0.102"},"uses_additional_data":false},{"leaderboard":"/sota/image-clustering-on-umist","task":"Image Clustering","dataset":"UMist","model":"JULE-RC","rank_in_archive_order":3,"of":4,"metrics":{"NMI":"0.877"},"uses_additional_data":false},{"leaderboard":"/sota/image-clustering-on-usps","task":"Image Clustering","dataset":"USPS","model":"JULE-RC","rank_in_archive_order":9,"of":16,"metrics":{"NMI":"0.913"},"uses_additional_data":false},{"leaderboard":"/sota/image-clustering-on-youtube-faces-db","task":"Image Clustering","dataset":"YouTube Faces DB","model":"JULE-RC","rank_in_archive_order":1,"of":4,"metrics":{"NMI":"0.848"},"uses_additional_data":false},{"leaderboard":"/sota/image-clustering-on-coil-100","task":"Image Clustering","dataset":"coil-100","model":"JULE-RC","rank_in_archive_order":3,"of":10,"metrics":{"NMI":"0.985"},"uses_additional_data":false}],"syntology":{"syntology_url":"https://syntology.ai/paper/1604.03628","atlas_url":"https://app.syntology.ai/?focus=1604.03628","mcp":{"get_harvested_code_for_paper":{"arxiv_id":"1604.03628"}},"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/jwyang/joint-unsupervised-learning","reach":{"status":"ok","spdx":"MIT"}},{"provenance":"external:paperswithcode_snapshot_2025-07-28","url":"https://github.com/jwyang/JULE-Torch","reach":{"status":"ok","spdx":"MIT"}},{"provenance":"external:paperswithcode_snapshot_2025-07-28","url":"https://github.com/jwyang/jule.torch","reach":{"status":"ok","spdx":"MIT"}}],"summary":{"unverified":1},"by_repo_kind":{"official":{"samples":1,"ran":0,"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":"b84d2b5a22f7b8a8","entry":"appr_seminmf","repo":"jwyang/joint-unsupervised-learning","repo_kind":"official","path":"matlab/approaches/nmf-deep/Deep-Semi-NMF-master/dsnmf/dsnmf.py","file_url":"https://github.com/jwyang/joint-unsupervised-learning/blob/HEAD/matlab/approaches/nmf-deep/Deep-Semi-NMF-master/dsnmf/dsnmf.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":"b84d2b5a22f7b8a8"}}]},"arxiv_metadata":null,"syntology_extracted_results":null}