{"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/metaug-contrastive-learning-via-meta-feature","title":"MetAug: Contrastive Learning via Meta Feature Augmentation","arxiv_id":"2203.05119","date":"2022-03-10","proceeding":null,"authors":["Jiangmeng Li","Wenwen Qiang","Changwen Zheng","Bing Su","Hui Xiong"],"abstract":"What matters for contrastive learning? We argue that contrastive learning heavily relies on informative features, or \"hard\" (positive or negative) features. Early works include more informative features by applying complex data augmentations and large batch size or memory bank, and recent works design elaborate sampling approaches to explore informative features. The key challenge toward exploring such features is that the source multi-view data is generated by applying random data augmentations, making it infeasible to always add useful information in the augmented data. Consequently, the informativeness of features learned from such augmented data is limited. In response, we propose to directly augment the features in latent space, thereby learning discriminative representations without a large amount of input data. We perform a meta learning technique to build the augmentation generator that updates its network parameters by considering the performance of the encoder. However, insufficient input data may lead the encoder to learn collapsed features and therefore malfunction the augmentation generator. A new margin-injected regularization is further added in the objective function to avoid the encoder learning a degenerate mapping. To contrast all features in one gradient back-propagation step, we adopt the proposed optimization-driven unified contrastive loss instead of the conventional contrastive loss. Empirically, our method achieves state-of-the-art results on several benchmark datasets.","url_abs":"https://arxiv.org/abs/2203.05119v4","url_pdf":"https://arxiv.org/pdf/2203.05119v4.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":"metaug-contrastive-learning-via-meta-feature","repo_url":"https://github.com/jiangmengli/metaug","is_official":1,"mentioned_in_paper":1,"mentioned_in_github":0,"framework":"pytorch","reach":null},{"paper_slug":"metaug-contrastive-learning-via-meta-feature","repo_url":"https://github.com/lionellee9089/metaug","is_official":1,"mentioned_in_paper":1,"mentioned_in_github":0,"framework":"pytorch","reach":{"status":"ok"}}],"tasks":[{"task_slug":"contrastive-learning","task_name":"Contrastive Learning"},{"task_slug":"informativeness","task_name":"Informativeness"},{"task_slug":"meta-learning","task_name":"Meta-Learning"}],"methods":[{"method_slug":"contrastive-learning","method_name":"Contrastive Learning"}],"datasets_introduced":[],"methods_introduced":[],"results":[],"syntology":{"syntology_url":"https://syntology.ai/paper/2203.05119","atlas_url":"https://app.syntology.ai/?focus=2203.05119","mcp":{"get_harvested_code_for_paper":{"arxiv_id":"2203.05119"}},"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/lionellee9089/metaug","reach":{"status":"ok"}},{"provenance":"external:paperswithcode_snapshot_2025-07-28","url":"https://github.com/jiangmengli/metaug","reach":null}],"summary":{"ran":2,"ran_draft_wrong":2},"by_repo_kind":{"official":{"samples":4,"ran":4,"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":4,"samples":[{"code_sha256_prefix":"7f16d1363f322454","entry":"Normalize","repo":"jiangmengli/metaug","repo_kind":"official","path":"models/alexnet_MetAug.py","file_url":"https://github.com/jiangmengli/metaug/blob/HEAD/models/alexnet_MetAug.py","link_basis":"first_harvest_node","language":"python","status":"ran","verification_level":1,"contract_check":null,"metamorphic_tier":"deterministic","behaviour_fingerprint":true,"licence":"NONE","inline_ok":false,"mcp_get_code":{"code_sha256":"7f16d1363f322454"}},{"code_sha256_prefix":"5cdc2c2c160734fd","entry":"metagen_net","repo":"jiangmengli/metaug","repo_kind":"official","path":"models/alexnet_MetAug.py","file_url":"https://github.com/jiangmengli/metaug/blob/HEAD/models/alexnet_MetAug.py","link_basis":"first_harvest_node","language":"python","status":"ran","verification_level":1,"contract_check":null,"metamorphic_tier":"deterministic","behaviour_fingerprint":true,"licence":"NONE","inline_ok":false,"mcp_get_code":{"code_sha256":"5cdc2c2c160734fd"}},{"code_sha256_prefix":"5f4842900b5d1d02","entry":"set_optimizer","repo":"jiangmengli/metaug","repo_kind":"official","path":"train_MetAug.py","file_url":"https://github.com/jiangmengli/metaug/blob/HEAD/train_MetAug.py","link_basis":"first_harvest_node","language":"python","status":"ran_draft_wrong","verification_level":1,"contract_check":"OUTPUT_MISDECLARED","metamorphic_tier":"deterministic","behaviour_fingerprint":false,"licence":"NONE","inline_ok":false,"mcp_get_code":{"code_sha256":"5f4842900b5d1d02"}},{"code_sha256_prefix":"3267a33f67aebf53","entry":"set_optimizer","repo":"jiangmengli/metaug","repo_kind":"official","path":"LinearProbing_MetAug.py","file_url":"https://github.com/jiangmengli/metaug/blob/HEAD/LinearProbing_MetAug.py","link_basis":"first_harvest_node","language":"python","status":"ran_draft_wrong","verification_level":1,"contract_check":"OUTPUT_MISDECLARED","metamorphic_tier":"deterministic","behaviour_fingerprint":false,"licence":"NONE","inline_ok":false,"mcp_get_code":{"code_sha256":"3267a33f67aebf53"}}]},"arxiv_metadata":null,"syntology_extracted_results":null}