{"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/embedding-propagation-smoother-manifold-for","title":"Embedding Propagation: Smoother Manifold for Few-Shot Classification","arxiv_id":"2003.04151","date":"2020-03-09","proceeding":"ECCV 2020 8","authors":["Pau Rodríguez","Issam Laradji","Alexandre Drouin","Alexandre Lacoste"],"abstract":"Few-shot classification is challenging because the data distribution of the training set can be widely different to the test set as their classes are disjoint. This distribution shift often results in poor generalization. Manifold smoothing has been shown to address the distribution shift problem by extending the decision boundaries and reducing the noise of the class representations. Moreover, manifold smoothness is a key factor for semi-supervised learning and transductive learning algorithms. In this work, we propose to use embedding propagation as an unsupervised non-parametric regularizer for manifold smoothing in few-shot classification. Embedding propagation leverages interpolations between the extracted features of a neural network based on a similarity graph. We empirically show that embedding propagation yields a smoother embedding manifold. We also show that applying embedding propagation to a transductive classifier achieves new state-of-the-art results in mini-Imagenet, tiered-Imagenet, Imagenet-FS, and CUB. Furthermore, we show that embedding propagation consistently improves the accuracy of the models in multiple semi-supervised learning scenarios by up to 16\\% points. The proposed embedding propagation operation can be easily integrated as a non-parametric layer into a neural network. We provide the training code and usage examples at https://github.com/ElementAI/embedding-propagation.","url_abs":"https://arxiv.org/abs/2003.04151v2","url_pdf":"https://arxiv.org/pdf/2003.04151v2.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":"embedding-propagation-smoother-manifold-for","repo_url":"https://github.com/ElementAI/embedding-propagation","is_official":1,"mentioned_in_paper":1,"mentioned_in_github":1,"framework":"pytorch","reach":{"status":"ok","spdx":"Apache-2.0"}}],"tasks":[{"task_slug":"classification-1","task_name":"Classification"},{"task_slug":"few-shot-image-classification","task_name":"Few-Shot Image Classification"},{"task_slug":"classification","task_name":"General Classification"},{"task_slug":"transductive-learning","task_name":"Transductive Learning"}],"methods":[],"datasets_introduced":[],"methods_introduced":[],"results":[{"leaderboard":"/sota/few-shot-image-classification-on-mini-1","task":"Few-Shot Image Classification","dataset":"Mini-ImageNet - 1-Shot Learning","model":"EPNet","rank_in_archive_order":3,"of":16,"metrics":{"Accuracy":"77.27%"},"uses_additional_data":false},{"leaderboard":"/sota/few-shot-image-classification-on-mini-2","task":"Few-Shot Image Classification","dataset":"Mini-Imagenet 5-way (1-shot)","model":"EPNet","rank_in_archive_order":20,"of":105,"metrics":{"Accuracy":"77.27"},"uses_additional_data":false},{"leaderboard":"/sota/few-shot-image-classification-on-mini-3","task":"Few-Shot Image Classification","dataset":"Mini-Imagenet 5-way (5-shot)","model":"EPNet + SSL","rank_in_archive_order":17,"of":95,"metrics":{"Accuracy":"88.05 "},"uses_additional_data":true},{"leaderboard":"/sota/few-shot-image-classification-on-mini-3","task":"Few-Shot Image Classification","dataset":"Mini-Imagenet 5-way (5-shot)","model":"EPNet","rank_in_archive_order":29,"of":95,"metrics":{"Accuracy":"84.34"},"uses_additional_data":false},{"leaderboard":"/sota/few-shot-image-classification-on-tiered","task":"Few-Shot Image Classification","dataset":"Tiered ImageNet 5-way (1-shot)","model":"EPNet","rank_in_archive_order":14,"of":49,"metrics":{"Accuracy":"78.50"},"uses_additional_data":false},{"leaderboard":"/sota/few-shot-image-classification-on-tiered-1","task":"Few-Shot Image Classification","dataset":"Tiered ImageNet 5-way (5-shot)","model":"EPNet","rank_in_archive_order":14,"of":51,"metrics":{"Accuracy":"88.36"},"uses_additional_data":false}],"syntology":{"syntology_url":"https://syntology.ai/paper/2003.04151","atlas_url":"https://app.syntology.ai/?focus=2003.04151","mcp":{"get_harvested_code_for_paper":{"arxiv_id":"2003.04151"}},"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/ElementAI/embedding-propagation","reach":{"status":"ok","spdx":"Apache-2.0"}}],"summary":{"unverified":6},"by_repo_kind":{"official":{"samples":6,"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":"50ed5f95e6f08a9f","entry":"batch_embedding_propagation","repo":"ElementAI/embedding-propagation","repo_kind":"official","path":"embedding_propagation/batch_embedding_propagation.py","file_url":"https://github.com/ElementAI/embedding-propagation/blob/HEAD/embedding_propagation/batch_embedding_propagation.py","link_basis":"first_harvest_node","language":"python","status":"unverified","verification_level":0,"contract_check":null,"metamorphic_tier":null,"behaviour_fingerprint":false,"licence":"Apache-2.0","inline_ok":true,"mcp_get_code":{"code_sha256":"50ed5f95e6f08a9f"}},{"code_sha256_prefix":"083f1d0c7625f238","entry":"batch_get_similarity_matrix","repo":"ElementAI/embedding-propagation","repo_kind":"official","path":"embedding_propagation/batch_embedding_propagation.py","file_url":"https://github.com/ElementAI/embedding-propagation/blob/HEAD/embedding_propagation/batch_embedding_propagation.py","link_basis":"first_harvest_node","language":"python","status":"unverified","verification_level":0,"contract_check":null,"metamorphic_tier":null,"behaviour_fingerprint":false,"licence":"Apache-2.0","inline_ok":true,"mcp_get_code":{"code_sha256":"083f1d0c7625f238"}},{"code_sha256_prefix":"78f86f12b89abb6a","entry":"batch_global_consistency","repo":"ElementAI/embedding-propagation","repo_kind":"official","path":"embedding_propagation/batch_embedding_propagation.py","file_url":"https://github.com/ElementAI/embedding-propagation/blob/HEAD/embedding_propagation/batch_embedding_propagation.py","link_basis":"first_harvest_node","language":"python","status":"unverified","verification_level":0,"contract_check":null,"metamorphic_tier":null,"behaviour_fingerprint":false,"licence":"Apache-2.0","inline_ok":true,"mcp_get_code":{"code_sha256":"78f86f12b89abb6a"}},{"code_sha256_prefix":"f48530a1f6a2b0f6","entry":"embedding_propagation","repo":"ElementAI/embedding-propagation","repo_kind":"official","path":"embedding_propagation/embedding_propagation.py","file_url":"https://github.com/ElementAI/embedding-propagation/blob/HEAD/embedding_propagation/embedding_propagation.py","link_basis":"first_harvest_node","language":"python","status":"unverified","verification_level":0,"contract_check":null,"metamorphic_tier":null,"behaviour_fingerprint":false,"licence":"Apache-2.0","inline_ok":true,"mcp_get_code":{"code_sha256":"f48530a1f6a2b0f6"}},{"code_sha256_prefix":"f0b6f084f1c88a64","entry":"get_similarity_matrix","repo":"ElementAI/embedding-propagation","repo_kind":"official","path":"embedding_propagation/embedding_propagation.py","file_url":"https://github.com/ElementAI/embedding-propagation/blob/HEAD/embedding_propagation/embedding_propagation.py","link_basis":"first_harvest_node","language":"python","status":"unverified","verification_level":0,"contract_check":null,"metamorphic_tier":null,"behaviour_fingerprint":false,"licence":"Apache-2.0","inline_ok":true,"mcp_get_code":{"code_sha256":"f0b6f084f1c88a64"}},{"code_sha256_prefix":"30976420278e4a1c","entry":"label_propagation","repo":"ElementAI/embedding-propagation","repo_kind":"official","path":"embedding_propagation/embedding_propagation.py","file_url":"https://github.com/ElementAI/embedding-propagation/blob/HEAD/embedding_propagation/embedding_propagation.py","link_basis":"first_harvest_node","language":"python","status":"unverified","verification_level":0,"contract_check":null,"metamorphic_tier":null,"behaviour_fingerprint":false,"licence":"Apache-2.0","inline_ok":true,"mcp_get_code":{"code_sha256":"30976420278e4a1c"}}]},"arxiv_metadata":null,"syntology_extracted_results":null}