{"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/visual-reasoning-by-progressive-module","title":"Visual Reasoning by Progressive Module Networks","arxiv_id":"1806.02453","date":"2018-06-06","proceeding":"ICLR 2019 5","authors":["Seung Wook Kim","Makarand Tapaswi","Sanja Fidler"],"abstract":"Humans learn to solve tasks of increasing complexity by building on top of\npreviously acquired knowledge. Typically, there exists a natural progression in\nthe tasks that we learn - most do not require completely independent solutions,\nbut can be broken down into simpler subtasks. We propose to represent a solver\nfor each task as a neural module that calls existing modules (solvers for\nsimpler tasks) in a functional program-like manner. Lower modules are a black\nbox to the calling module, and communicate only via a query and an output.\nThus, a module for a new task learns to query existing modules and composes\ntheir outputs in order to produce its own output. Our model effectively\ncombines previous skill-sets, does not suffer from forgetting, and is fully\ndifferentiable. We test our model in learning a set of visual reasoning tasks,\nand demonstrate improved performances in all tasks by learning progressively.\nBy evaluating the reasoning process using human judges, we show that our model\nis more interpretable than an attention-based baseline.","url_abs":"http://arxiv.org/abs/1806.02453v2","url_pdf":"http://arxiv.org/pdf/1806.02453v2.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":"visual-reasoning-by-progressive-module","repo_url":"https://github.com/seung-kim/pmn_demo","is_official":0,"mentioned_in_paper":0,"mentioned_in_github":1,"framework":"pytorch","reach":{"status":"ok","spdx":"MIT"}}],"tasks":[{"task_slug":"visual-reasoning","task_name":"Visual Reasoning"}],"methods":[],"datasets_introduced":[],"methods_introduced":[],"results":[],"syntology":{"atlas_url":"https://app.syntology.ai/?focus=1806.02453","mcp":{"get_harvested_code_for_paper":{"arxiv_id":"1806.02453"}},"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/seung-kim/pmn_demo","reach":{"status":"ok","spdx":"MIT"}}],"summary":{"unverified":5},"by_repo_kind":{"listed":{"samples":5,"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":"fb79c735659b4191","entry":"create_html","repo":"seung-kim/pmn_demo","repo_kind":"listed","path":"generate_html.py","file_url":"https://github.com/seung-kim/pmn_demo/blob/HEAD/generate_html.py","link_basis":"harvester_set","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":"fb79c735659b4191"}},{"code_sha256_prefix":"dbbdf02ffa52d9fc","entry":"form_img","repo":"seung-kim/pmn_demo","repo_kind":"listed","path":"generate_html.py","file_url":"https://github.com/seung-kim/pmn_demo/blob/HEAD/generate_html.py","link_basis":"harvester_set","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":"dbbdf02ffa52d9fc"}},{"code_sha256_prefix":"5d9556583a9085e2","entry":"run_att","repo":"seung-kim/pmn_demo","repo_kind":"listed","path":"model_runner.py","file_url":"https://github.com/seung-kim/pmn_demo/blob/HEAD/model_runner.py","link_basis":"harvester_set","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":"5d9556583a9085e2"}},{"code_sha256_prefix":"9c92c1587201dddf","entry":"run_tag","repo":"seung-kim/pmn_demo","repo_kind":"listed","path":"model_runner.py","file_url":"https://github.com/seung-kim/pmn_demo/blob/HEAD/model_runner.py","link_basis":"harvester_set","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":"9c92c1587201dddf"}},{"code_sha256_prefix":"d86677d8a3c653a6","entry":"run_vqa","repo":"seung-kim/pmn_demo","repo_kind":"listed","path":"model_runner.py","file_url":"https://github.com/seung-kim/pmn_demo/blob/HEAD/model_runner.py","link_basis":"harvester_set","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":"d86677d8a3c653a6"}}]},"arxiv_metadata":null,"syntology_extracted_results":null}