{"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/learn-to-explain-multimodal-reasoning-via","title":"Learn to Explain: Multimodal Reasoning via Thought Chains for Science Question Answering","arxiv_id":"2209.09513","date":"2022-09-20","proceeding":null,"authors":["Pan Lu","Swaroop Mishra","Tony Xia","Liang Qiu","Kai-Wei Chang","Song-Chun Zhu","Oyvind Tafjord","Peter Clark","Ashwin Kalyan"],"abstract":"When answering a question, humans utilize the information available across different modalities to synthesize a consistent and complete chain of thought (CoT). This process is normally a black box in the case of deep learning models like large-scale language models. Recently, science question benchmarks have been used to diagnose the multi-hop reasoning ability and interpretability of an AI system. However, existing datasets fail to provide annotations for the answers, or are restricted to the textual-only modality, small scales, and limited domain diversity. To this end, we present Science Question Answering (ScienceQA), a new benchmark that consists of ~21k multimodal multiple choice questions with a diverse set of science topics and annotations of their answers with corresponding lectures and explanations. We further design language models to learn to generate lectures and explanations as the chain of thought (CoT) to mimic the multi-hop reasoning process when answering ScienceQA questions. ScienceQA demonstrates the utility of CoT in language models, as CoT improves the question answering performance by 1.20% in few-shot GPT-3 and 3.99% in fine-tuned UnifiedQA. We also explore the upper bound for models to leverage explanations by feeding those in the input; we observe that it improves the few-shot performance of GPT-3 by 18.96%. Our analysis further shows that language models, similar to humans, benefit from explanations to learn from fewer data and achieve the same performance with just 40% of the data. The data and code are available at https://scienceqa.github.io.","url_abs":"https://arxiv.org/abs/2209.09513v2","url_pdf":"https://arxiv.org/pdf/2209.09513v2.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":"learn-to-explain-multimodal-reasoning-via","repo_url":"https://github.com/lupantech/ScienceQA","is_official":1,"mentioned_in_paper":0,"mentioned_in_github":1,"framework":"pytorch","reach":null}],"tasks":[{"task_slug":"multimodal-deep-learning","task_name":"Multimodal Deep Learning"},{"task_slug":"multimodal-reasoning","task_name":"Multimodal Reasoning"},{"task_slug":"multiple-choice","task_name":"Multiple-choice"},{"task_slug":"open-domain-question-answering","task_name":"Open-Domain Question Answering"},{"task_slug":"question-answering","task_name":"Question Answering"},{"task_slug":"science-question-answering","task_name":"Science Question Answering"},{"task_slug":"visual-commonsense-reasoning","task_name":"Visual Commonsense Reasoning"},{"task_slug":"visual-question-answering","task_name":"Visual Question Answering (VQA)"}],"methods":[{"method_slug":"adam","method_name":"Adam"},{"method_slug":"cosine-annealing","method_name":"Cosine Annealing"},{"method_slug":"dropout","method_name":"Dropout"},{"method_slug":"gpt-3","method_name":"GPT-3"},{"method_slug":"layer-normalization","method_name":"Layer Normalization"},{"method_slug":"linear-warmup-with-cosine-annealing","method_name":"Linear Warmup With Cosine Annealing"},{"method_slug":"multi-head-attention","method_name":"Multi-Head Attention"},{"method_slug":"residual-connection","method_name":"Residual Connection"},{"method_slug":"softmax","method_name":"Softmax"}],"datasets_introduced":[{"slug":"scienceqa","name":"ScienceQA","full_name":"Science Question Answering"}],"methods_introduced":[],"results":[{"leaderboard":"/sota/science-question-answering-on-scienceqa","task":"Science Question Answering","dataset":"ScienceQA","model":"GPT-3 - CoT (QCM→ALE , 2-shot)","rank_in_archive_order":6,"of":10,"metrics":{"Avg. Accuracy":"75.17","Grades 1-6":"78.23","Grades 7-12":" 69.68","Image Context":"67.43","Language Science":"78.09","Natural Science":"75.44","No Context":"79.93","Social Science":"70.87","Text Context":"74.68"},"uses_additional_data":false},{"leaderboard":"/sota/science-question-answering-on-scienceqa","task":"Science Question Answering","dataset":"ScienceQA","model":"GPT-3 - CoT(QCM→AE, 2-shot)","rank_in_archive_order":7,"of":10,"metrics":{"Avg. Accuracy":"74.61","Grades 1-6":"78.49","Grades 7-12":"67.63","Image Context":"66.09","Language Science":"77.55","Natural Science":"76.60","No Context":"79.58","Social Science":"65.92","Text Context":"75.51"},"uses_additional_data":false},{"leaderboard":"/sota/science-question-answering-on-scienceqa","task":"Science Question Answering","dataset":"ScienceQA","model":"UnifiedQA-BASE - CoT (QCM→ALE)","rank_in_archive_order":8,"of":10,"metrics":{"Avg. Accuracy":"74.11","Grades 1-6":"77.06","Grades 7-12":"68.82","Image Context":"66.53","Language Science":"78.91","Natural Science":"71.00","No Context":"81.81","Social Science":"76.04","Text Context":"66.42"},"uses_additional_data":false},{"leaderboard":"/sota/science-question-answering-on-scienceqa","task":"Science Question Answering","dataset":"ScienceQA","model":"GPT-3 (QCM→A, 2-shot)","rank_in_archive_order":9,"of":10,"metrics":{"Avg. Accuracy":"73.97","Grades 1-6":"76.80","Grades 7-12":" 68.89","Image Context":" 67.28","Language Science":"76.00","Natural Science":"74.64","No Context":"77.42","Social Science":"69.74","Text Context":"74.44"},"uses_additional_data":false}],"syntology":{"syntology_url":"https://syntology.ai/paper/2209.09513","atlas_url":"https://app.syntology.ai/?focus=2209.09513","mcp":{"get_harvested_code_for_paper":{"arxiv_id":"2209.09513"}},"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/lupantech/ScienceQA","reach":null}],"summary":{"ran_draft_wrong":4,"unverified":1},"by_repo_kind":{"official":{"samples":3,"ran":2,"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":2,"samples":[{"code_sha256_prefix":"bef96bae3f74e855","entry":"get_acc_with_contion","repo":"lupantech/ScienceQA","repo_kind":"official","path":"tools/evaluate_acc.py","file_url":"https://github.com/lupantech/ScienceQA/blob/HEAD/tools/evaluate_acc.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":"MIT","inline_ok":true,"mcp_get_code":{"code_sha256":"bef96bae3f74e855"}},{"code_sha256_prefix":"7a8dffc83d89cedd","entry":"get_choice_text","repo":null,"repo_kind":null,"path":null,"file_url":null,"link_basis":"identical_code_first_harvested_elsewhere","language":"python","status":"ran_draft_wrong","verification_level":1,"contract_check":"OUTPUT_MISDECLARED","metamorphic_tier":"deterministic","behaviour_fingerprint":false,"licence":null,"inline_ok":false,"mcp_get_code":{"code_sha256":"7a8dffc83d89cedd"}},{"code_sha256_prefix":"85f084f6054a421e","entry":"get_context_text","repo":null,"repo_kind":null,"path":null,"file_url":null,"link_basis":"identical_code_first_harvested_elsewhere","language":"python","status":"ran_draft_wrong","verification_level":1,"contract_check":"OUTPUT_MISDECLARED","metamorphic_tier":"deterministic","behaviour_fingerprint":false,"licence":null,"inline_ok":false,"mcp_get_code":{"code_sha256":"85f084f6054a421e"}},{"code_sha256_prefix":"c86a79e229253816","entry":"get_question_text","repo":"lupantech/ScienceQA","repo_kind":"official","path":"models/base_prompt.py","file_url":"https://github.com/lupantech/ScienceQA/blob/HEAD/models/base_prompt.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":"MIT","inline_ok":true,"mcp_get_code":{"code_sha256":"c86a79e229253816"}},{"code_sha256_prefix":"ab3717114ec507c3","entry":"get_scores","repo":"lupantech/ScienceQA","repo_kind":"official","path":"tools/evaluate_acc.py","file_url":"https://github.com/lupantech/ScienceQA/blob/HEAD/tools/evaluate_acc.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":"ab3717114ec507c3"}}]},"arxiv_metadata":null,"syntology_extracted_results":null}