{"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/a-modulation-module-for-multi-task-learning","title":"A Modulation Module for Multi-task Learning with Applications in Image Retrieval","arxiv_id":"1807.06708","date":"2018-07-17","proceeding":"ECCV 2018 9","authors":["Xiangyun Zhao","Haoxiang Li","Xiaohui Shen","Xiaodan Liang","Ying Wu"],"abstract":"Multi-task learning has been widely adopted in many computer vision tasks to\nimprove overall computation efficiency or boost the performance of individual\ntasks, under the assumption that those tasks are correlated and complementary\nto each other. However, the relationships between the tasks are complicated in\npractice, especially when the number of involved tasks scales up. When two\ntasks are of weak relevance, they may compete or even distract each other\nduring joint training of shared parameters, and as a consequence undermine the\nlearning of all the tasks. This will raise destructive interference which\ndecreases learning efficiency of shared parameters and lead to low quality loss\nlocal optimum w.r.t. shared parameters. To address the this problem, we propose\na general modulation module, which can be inserted into any convolutional\nneural network architecture, to encourage the coupling and feature sharing of\nrelevant tasks while disentangling the learning of irrelevant tasks with minor\nparameters addition. Equipped with this module, gradient directions from\ndifferent tasks can be enforced to be consistent for those shared parameters,\nwhich benefits multi-task joint training. The module is end-to-end learnable\nwithout ad-hoc design for specific tasks, and can naturally handle many tasks\nat the same time. We apply our approach on two retrieval tasks, face retrieval\non the CelebA dataset [1] and product retrieval on the UT-Zappos50K dataset [2,\n3], and demonstrate its advantage over other multi-task learning methods in\nboth accuracy and storage efficiency.","url_abs":"http://arxiv.org/abs/1807.06708v2","url_pdf":"http://arxiv.org/pdf/1807.06708v2.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":"a-modulation-module-for-multi-task-learning","repo_url":"https://github.com/Zhaoxiangyun/Multi-Task-Modulation-Module","is_official":1,"mentioned_in_paper":1,"mentioned_in_github":1,"framework":"tf","reach":{"status":"ok","spdx":"MIT"}}],"tasks":[{"task_slug":"image-retrieval","task_name":"Image Retrieval"},{"task_slug":"multi-task-learning","task_name":"Multi-Task Learning"},{"task_slug":"retrieval","task_name":"Retrieval"}],"methods":[],"datasets_introduced":[],"methods_introduced":[],"results":[],"syntology":{"atlas_url":"https://app.syntology.ai/?focus=1807.06708","mcp":{"get_harvested_code_for_paper":{"arxiv_id":"1807.06708"}},"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/Zhaoxiangyun/Multi-Task-Modulation-Module","reach":{"status":"ok","spdx":"MIT"}}],"summary":{"unverified":7},"by_repo_kind":{"official":{"samples":7,"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":"125cc65e6e59add4","entry":"normalized_image","repo":"Zhaoxiangyun/Multi-Task-Modulation-Module","repo_kind":"official","path":"train_facenet.py","file_url":"https://github.com/Zhaoxiangyun/Multi-Task-Modulation-Module/blob/HEAD/train_facenet.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":"125cc65e6e59add4"}},{"code_sha256_prefix":"2b2d63252761e18c","entry":"triplet_loss","repo":"Zhaoxiangyun/Multi-Task-Modulation-Module","repo_kind":"official","path":"facenet.py","file_url":"https://github.com/Zhaoxiangyun/Multi-Task-Modulation-Module/blob/HEAD/facenet.py","link_basis":"plan_row","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":"2b2d63252761e18c"}},{"code_sha256_prefix":"c0b9fe5f418b5567","entry":"triplet_random","repo":"Zhaoxiangyun/Multi-Task-Modulation-Module","repo_kind":"official","path":"train_facenet.py","file_url":"https://github.com/Zhaoxiangyun/Multi-Task-Modulation-Module/blob/HEAD/train_facenet.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":"c0b9fe5f418b5567"}},{"code_sha256_prefix":"fe932ad78fbc445d","entry":"triplet_random","repo":"Zhaoxiangyun/Multi-Task-Modulation-Module","repo_kind":"official","path":"src/train_tripletloss_7_csn_attention_res4.py","file_url":"https://github.com/Zhaoxiangyun/Multi-Task-Modulation-Module/blob/HEAD/src/train_tripletloss_7_csn_attention_res4.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":"fe932ad78fbc445d"}},{"code_sha256_prefix":"9757cc7eca12057c","entry":"triplet_random","repo":"Zhaoxiangyun/Multi-Task-Modulation-Module","repo_kind":"official","path":"train_mm.py","file_url":"https://github.com/Zhaoxiangyun/Multi-Task-Modulation-Module/blob/HEAD/train_mm.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":"9757cc7eca12057c"}},{"code_sha256_prefix":"92fe2d8f3a1c01a2","entry":"triplet_sample_loss","repo":"Zhaoxiangyun/Multi-Task-Modulation-Module","repo_kind":"official","path":"facenet.py","file_url":"https://github.com/Zhaoxiangyun/Multi-Task-Modulation-Module/blob/HEAD/facenet.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":"92fe2d8f3a1c01a2"}},{"code_sha256_prefix":"26ba6d0b02cd65e0","entry":"triplet_weighted_loss","repo":"Zhaoxiangyun/Multi-Task-Modulation-Module","repo_kind":"official","path":"facenet.py","file_url":"https://github.com/Zhaoxiangyun/Multi-Task-Modulation-Module/blob/HEAD/facenet.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":"26ba6d0b02cd65e0"}}]},"arxiv_metadata":null,"syntology_extracted_results":null}