{"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/ddrprog-a-clevr-differentiable-dynamic","title":"DDRprog: A CLEVR Differentiable Dynamic Reasoning Programmer","arxiv_id":"1803.11361","date":"2018-03-30","proceeding":"ICLR 2018 1","authors":["Joseph Suarez","Justin Johnson","Fei-Fei Li"],"abstract":"We present a novel Dynamic Differentiable Reasoning (DDR) framework for\njointly learning branching programs and the functions composing them; this\nresolves a significant nondifferentiability inhibiting recent dynamic\narchitectures. We apply our framework to two settings in two highly compact and\ndata efficient architectures: DDRprog for CLEVR Visual Question Answering and\nDDRstack for reverse Polish notation expression evaluation. DDRprog uses a\nrecurrent controller to jointly predict and execute modular neural programs\nthat directly correspond to the underlying question logic; it explicitly forks\nsubprocesses to handle logical branching. By effectively leveraging additional\nstructural supervision, we achieve a large improvement over previous approaches\nin subtask consistency and a small improvement in overall accuracy. We further\ndemonstrate the benefits of structural supervision in the RPN setting: the\ninclusion of a stack assumption in DDRstack allows our approach to generalize\nto long expressions where an LSTM fails the task.","url_abs":"http://arxiv.org/abs/1803.11361v1","url_pdf":"http://arxiv.org/pdf/1803.11361v1.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":[],"tasks":[{"task_slug":"question-answering","task_name":"Question Answering"},{"task_slug":"visual-question-answering-1","task_name":"Visual Question Answering"},{"task_slug":"visual-question-answering","task_name":"Visual Question Answering (VQA)"}],"methods":[{"method_slug":"lstm","method_name":"LSTM"},{"method_slug":"rpn","method_name":"RPN"},{"method_slug":"sigmoid-activation","method_name":"Sigmoid Activation"},{"method_slug":"tanh-activation","method_name":"Tanh Activation"}],"datasets_introduced":[],"methods_introduced":[],"results":[{"leaderboard":"/sota/visual-question-answering-on-clevr","task":"Visual Question Answering (VQA)","dataset":"CLEVR","model":"DDRprog*","rank_in_archive_order":9,"of":15,"metrics":{"Accuracy":"98.3"},"uses_additional_data":false}],"syntology":{"atlas_url":"https://app.syntology.ai/?focus=1803.11361","mcp":null,"developers":"https://syntology.ai/developers"},"arxiv_metadata":null,"syntology_extracted_results":null}