VDebugger: Harnessing Execution Feedback for Debugging Visual Programs
This addresses a major bottleneck in visual reasoning by improving the accuracy and interpretability of visual programs, though it is incremental as it builds on existing critic-refiner frameworks.
The paper tackles the problem of logic errors in visual programs generated by large language models for visual reasoning, introducing VDebugger, a critic-refiner framework that localizes and debugs these programs using execution feedback, resulting in performance improvements of up to 3.2% in downstream task accuracy and 2.3% on an unseen task.
Visual programs are executable code generated by large language models to address visual reasoning problems. They decompose complex questions into multiple reasoning steps and invoke specialized models for each step to solve the problems. However, these programs are prone to logic errors, with our preliminary evaluation showing that 58% of the total errors are caused by program logic errors. Debugging complex visual programs remains a major bottleneck for visual reasoning. To address this, we introduce VDebugger, a novel critic-refiner framework trained to localize and debug visual programs by tracking execution step by step. VDebugger identifies and corrects program errors leveraging detailed execution feedback, improving interpretability and accuracy. The training data is generated through an automated pipeline that injects errors into correct visual programs using a novel mask-best decoding technique. Evaluations on six datasets demonstrate VDebugger's effectiveness, showing performance improvements of up to 3.2% in downstream task accuracy. Further studies show VDebugger's ability to generalize to unseen tasks, bringing a notable improvement of 2.3% on the unseen COVR task. Code, data and models are made publicly available at https://github.com/shirley-wu/vdebugger/