![]()
当我们看到一道几何题或物理图表时,通常能迅速理解其中的关键信息。但你有没有想过,那些号称"智能"的AI模型在面对同样的STEM(科学、技术、工程、数学)图像时,为什么经常会犯一些看似低级的错误?
这项由上海交通大学、阿里巴巴达摩院Qwen团队等多家机构联合开展的研究,发表于2025年3月的arXiv预印本平台(论文编号:arXiv:2603.10757v1),首次系统性地回答了这个问题。研究团队通过大规模实验发现了一个令人意外的结论:AI在STEM领域的失误,主要不是因为"不会推理",而是因为"看不清楚"。
这个发现颠覆了许多人的直觉。长期以来,研究人员一直认为AI在数学和科学问题上的困难主要来自逻辑推理能力不足,因此大量精力都投入到增强AI的推理训练上。然而,上海交通大学的研究团队通过巧妙的实验设计,将视觉理解和推理过程分离开来,意外地发现视觉感知才是真正的瓶颈。
为了验证这一发现并提出解决方案,研究团队创新性地提出了"代码驱动感知"的概念。他们认为,既然自然语言描述在处理复杂的STEM图像时存在天然的局限性,那么为什么不让AI用更精确的编程代码来"看懂"图像呢?这就像是给AI配备了一副特殊的眼镜,让它能够用数学语言而非模糊的文字来理解看到的内容。
基于这一洞察,研究团队开发了一个名为CodePercept的创新框架,并构建了包含100万个图像-文字-代码三元组的大规模数据集ICC-1M。更重要的是,他们还创建了一个全新的评测标准STEM2Code-Eval,这个标准要求AI不仅要"看懂"STEM图像,还要能够生成可执行的Python代码来完美重现图像,从而提供了一个更加严格和可验证的评估方式。
一、AI的"视力"问题比我们想象的更严重
要理解这项研究的重要性,我们不妨用一个简单的比喻。假设你是一位医生,面对两种可能的病因:病人可能是因为眼睛看不清楚而无法正确诊断,或者是因为医学知识不够而无法正确诊断。要找出真正的问题所在,你需要设计一个巧妙的实验。
研究团队正是用这种思路来诊断AI的问题。他们设计了一个两阶段的实验:第一阶段让AI描述图像内容(相当于测试"视力"),第二阶段基于这些描述进行问题求解(相当于测试"推理能力")。通过独立地增强这两个阶段的能力,他们发现了一个令人震惊的结果。
当研究团队将AI模型的规模从40亿参数扩展到320亿参数时,他们分别测试了只增强感知能力和只增强推理能力的效果。结果显示,无论在哪种配置下,增强感知能力带来的性能提升都远远超过了增强推理能力。这就像是给近视的医生配眼镜比给他更多医学书籍更有效一样。
这个发现在多个数学视觉推理数据集上都得到了验证,包括MathVision、MathVista、MathVerse等权威测试集。在这些测试中,感知能力的提升始终表现出更大的边际效益,这意味着AI在STEM领域的困难确实主要来源于"看不清楚"而非"想不明白"。
更具体地说,当前的多模态大语言模型在处理STEM图像时面临着一个根本性的挑战:自然语言本身就不够精确。当我们试图用文字描述一个复杂的几何图形、化学分子结构或物理实验装置时,很多关键的数值关系、空间位置和精确的量化信息很容易丢失或被模糊化。这就像用诗歌来描述工程图纸一样,虽然能传达大概的意思,但精确性必然受损。
这种"描述性失语症"在STEM图像中尤为明显。比如,当面对一个包含多个几何体的复杂立体图形时,用自然语言准确描述每个几何体的相对位置、大小比例和相互关系是极其困难的。即便是人类专家,也很难用纯文字完美还原这样的图像,更不用说AI了。
二、用编程语言让AI"看得更清楚"
面对这个挑战,研究团队提出了一个创新的解决思路:既然自然语言不够精确,那么为什么不让AI用编程语言来理解和描述图像呢?
这个想法听起来可能有些抽象,但其实很好理解。当一个程序员想要绘制一个复杂的图形时,他会用Python代码精确地指定每个点的坐标、每条线的方向、每种颜色的数值。这些代码不仅能够完美地重现原始图形,还包含了所有必要的数值信息和空间关系。
基于这个洞察,研究团队开发了CodePercept框架。这个框架的核心思想是训练AI不仅能够用自然语言描述图像,还能够生成相应的Python代码来重现图像。这样的训练过程就像是教AI用两种不同的语言来"思考"同一个视觉概念。
CodePercept的工作流程可以比作一个技艺高超的临摹画家的训练过程。首先,这个画家需要学会观察原画的每一个细节(图像感知),然后用自己的话描述看到的内容(自然语言描述),最后还要能够按照严格的技术规范重新绘制出一模一样的作品(代码生成)。只有当所有这些能力都达到很高水平时,我们才能说这个画家真正"看懂"了原画。
为了实现这个目标,研究团队构建了一个名为ICC-1M的大规模数据集。这个数据集包含了100万个图像-描述-代码的三元组,每个三元组都确保了三种表示方式的完全一致性。这就像是为AI准备了一本巨大的"字典",其中每个"词条"都包含了视觉图像、文字说明和代码实现三种形式的定义。
ICC-1M数据集的构建过程本身就是一个工程奇迹。研究团队设计了三条并行的数据生成流水线:第一条从现有STEM图像出发,生成对应的Python代码;第二条通过概念抽象和重新实例化来创造多样化的图像变体;第三条专门处理立体几何图像,因为这类图像的代码生成对当前AI来说特别困难。
在数据质量控制方面,研究团队采用了严格的三阶段验证机制。每个生成的图像-代码对都需要通过代码质量检查、图像质量检查和图像-代码一致性检查。这个过程就像食品安全检测一样严格,确保进入最终数据集的每个样本都达到高质量标准。
三、两种创新的训练方法让AI更聪明地"看图"
有了高质量的数据集,研究团队设计了两种创新的训练任务来增强AI的视觉感知能力。这两种方法可以比作教授艺术史的两种不同途径:一种是让学生既学会欣赏艺术作品又掌握创作技法,另一种是直接训练学生成为能够复制大师作品的高手。
第一种方法叫做"代码驱动的字幕生成"。传统的图像描述生成往往依赖于其他AI模型的输出,这就像是让一个可能患有"色盲"的人来教另一个人辨认颜色。这种方法的问题在于,如果教师模型本身就存在感知偏差或幻觉,这些错误就会传递给学生模型。
为了解决这个问题,研究团队让AI首先学会生成能够重现图像的Python代码,然后基于这个"绝对准确"的代码来生成自然语言描述。这个过程就像是先让学生掌握了绘画的精确技法,然后再让他们用文字来描述自己的作品。由于代码是可执行的,它提供了一个客观的"真理标准",从而避免了传统方法中的幻觉问题。
具体来说,这种方法分为三个步骤:首先生成一个自然但可能不够准确的初始描述,然后从对应的代码中提取精确的视觉信息,最后将两者结合生成既自然又准确的最终描述。这就像是先画一个草图,再用精密仪器测量,最后融合两种信息得到完美的技术图纸。
第二种方法叫做"STEM图像到代码翻译"。这种方法直接训练AI将视觉图像转换为能够重现该图像的Python代码。这个任务比传统的图像描述任务更具挑战性,因为代码需要在语法上正确、逻辑上清晰,并且能够在计算机上成功运行。
这种训练方法的巧妙之处在于,它为AI提供了一个明确且可验证的学习目标。与模糊的"描述准确性"不同,代码要么能够运行并生成正确图像,要么不能。这种二元的成功标准消除了评估中的主观性,让AI能够获得更精确的学习反馈。
为了进一步提升代码生成的质量,研究团队还引入了强化学习机制。他们设计了一个综合的奖励系统,不仅考虑代码的可执行性,还评估生成图像与原始图像的视觉相似度,以及代码本身的质量和可读性。这就像是给AI配备了一个严格但公正的导师,能够从多个维度指导其不断改进。
四、革命性的评测标准:让AI"重画"图像来证明理解力
传统的AI评测方法存在一个根本问题:它们通常只关注最终的问题解答正确率,而忽略了AI是否真正"看懂"了图像。这就像是通过考试成绩来判断学生是否理解了教材,但实际上学生可能只是死记硬背了答案。
为了更直接地评估AI的视觉理解能力,研究团队创建了STEM2Code-Eval基准测试。这个测试的核心理念非常直观:如果AI真的理解了一个STEM图像,那么它应该能够生成代码来完美重现这个图像。这种评测方式就像是要求学生不仅要说出蒙娜丽莎的特点,还要能够画出一幅一模一样的蒙娜丽莎。
STEM2Code-Eval包含了1000个精心筛选的图像-代码对,涵盖数学、物理、化学和电子工程等多个STEM领域。每个图像都经过了严格的质量控制流程,确保对应的Python代码能够完美重现原始图像。
这个基准测试的构建过程可以比作制作一套高质量的标准化考卷。首先,研究团队从六个知名的STEM数据集中收集图像。然后,他们使用最先进的AI模型生成初始的图像描述和对应代码。接下来是一个迭代优化过程:代码被执行以生成图像,生成的图像与原始图像进行比较,如果相似度不够高,就会触发代码修正流程。
在候选筛选阶段,研究团队根据重建质量和任务难度对所有图像-代码对进行排序,选择既高质量又有适当挑战性的样本。最后,十位专家评审员对候选样本进行五分制评分,从风格、内容和功能三个维度进行综合评估。只有平均分最高的1000个样本最终入选基准测试,确保了测试的权威性和挑战性。
STEM2Code-Eval使用三个指标来全面评估AI的表现:图像评分衡量生成图像与原始图像的视觉相似度,代码评分评估生成代码的质量、结构和正确性,执行成功率则测量代码能否正常运行。这三个指标就像是从三个不同角度审视同一件艺术品,确保评估的全面性和公正性。
五、实验结果:代码训练确实让AI更聪明了
研究团队在多个维度上验证了CodePercept方法的有效性。实验结果就像是一份详细的体检报告,从各个角度证明了这种新方法的优越性。
在传统的STEM推理任务上,经过CodePercept训练的模型显示出了显著的性能提升。以4B参数的模型为例,在六个主流STEM数据集上的平均性能提升了2.8个百分点。当模型规模增加到8B参数时,性能提升进一步扩大到3.0个百分点。这种提升看似不大,但在AI领域,即使1个百分点的改进也往往需要大量的工程努力。
更令人印象深刻的是,经过CodePercept训练的8B参数模型甚至超越了一些参数量远大于它的模型。比如,CodePercept-8B的表现超过了参数量为720亿的Qwen2.5-VL模型6.2个百分点。这就像是一个经过专业训练的轻量级拳手击败了一个天赋异禀但训练不足的重量级选手。
在专门的视觉感知测试STEM2Code-Eval上,CodePercept的优势更加明显。4B参数的模型相比基线版本提升了15.3个百分点,8B参数的模型提升了17.2个百分点。这些大幅度的改进清楚地表明,代码驱动的训练方法确实能够显著增强AI的视觉理解能力。
特别值得注意的是强化学习阶段的贡献。在监督学习的基础上,进一步的强化学习训练为4B和8B模型分别带来了额外的6.5和4.0个百分点的提升。这证明了精心设计的奖励机制能够进一步推动AI的性能边界。
研究团队还进行了详细的对比实验来验证不同组件的贡献。他们发现,三种数据生成策略(图像重现、图像多样化和立体几何合成)都对最终性能有积极影响,其中图像多样化策略的贡献最为显著。这说明了多样性在AI训练中的重要作用,就像人类学习也需要接触各种不同的例子才能真正掌握某个概念。
代码驱动的字幕生成方法相比传统的直接字幕生成方法带来了2.0个百分点的显著提升。这个结果证实了使用可执行代码作为"真理锚点"的价值,验证了研究团队的核心假设。
六、立体几何:AI视觉理解的最后堡垒
在所有的STEM视觉任务中,立体几何图像的处理一直是AI面临的最大挑战之一。这类图像需要AI理解复杂的三维空间关系、透视变换和多个几何体之间的相互作用,其困难程度就像是要求一个从未离开过平面世界的生物理解三维空间的概念。
为了解决这个特殊的挑战,研究团队专门设计了立体几何合成流水线。他们创建了一系列参数化的代码模板,涵盖了立体几何教学中的典型场景:立体展开与折叠序列、正交三视图投影与重建、立体截面分析、立体堆叠配置、各种几何体的组合、多面体构造、空间曲线可视化以及曲面积分表示。
这些模板的设计哲学类似于建筑师的标准图纸。每个模板定义了特定类型几何图形的生成逻辑,通过调整参数空间中的不同数值,可以生成无数种变体。比如,一个立体展开模板可以通过修改边长、角度和展开方式参数,生成从简单正方体到复杂多面体的各种展开图。
这种方法的优势在于确保了几何正确性。由于模板是基于严格的数学原理构建的,生成的所有图像都保证在几何学上是准确和一致的。这解决了当前AI模型在生成立体几何代码时经常出现的几何错误问题。
在实验验证中,立体几何合成确实为整体性能带来了额外的提升。虽然这个提升相对较小,但考虑到立体几何任务的特殊困难性,任何改进都是有价值的。更重要的是,这个专门的模块为处理更复杂的三维视觉推理任务奠定了基础。
七、训练过程的精妙设计
CodePercept的训练过程采用了两阶段的策略,这种设计就像是培养一个全能型人才的教育规划:先让学生掌握扎实的基础知识,再通过实践锻炼来提升技能的精准度。
第一阶段是监督学习,使用Qwen3-VL系列作为基础架构。训练过程联合优化两个任务:图像字幕生成和图像到代码翻译。这种联合训练的设计理念是让AI同时学会用自然语言和编程语言来理解视觉内容,两种表示方式相互补强。
训练使用了ICC-1M数据集中的完整图像-字幕-代码三元组。自然语言字幕帮助模型理解图像的语义含义,而代码则提供了精确的结构和量化信息。这种互补性使得模型能够建立更丰富、更准确的视觉表示。
第二阶段引入了强化学习,专门针对代码生成任务进行优化。研究团队使用了群体相对策略优化(GRPO)算法,这是一种专门为代码生成任务设计的强化学习方法。
强化学习阶段的奖励设计特别值得关注。研究团队构建了一个复合奖励函数,包括格式奖励、内容奖励和执行奖励三个组成部分。格式奖励确保生成的代码符合标准的Python语法规范;内容奖励评估代码的语义正确性和与真实标准的相似度;执行奖励则验证代码能否成功运行并生成预期的图像。
这种多维度的奖励机制就像是一个严格的导师团队,从不同角度指导AI的学习过程。每个维度都提供独特的学习信号,确保模型在语法正确性、语义准确性和实用性方面都能得到持续改进。
训练过程中的技术细节也体现了研究团队的深思熟虑。他们使用了混合精度训练、梯度累积和Flash Attention等先进技术来提高训练效率。同时,采用余弦学习率调度和适当的权重衰减来确保训练的稳定性和收敛性。
八、对比实验揭示的深层洞察
为了全面验证CodePercept方法的有效性,研究团队设计了一系列精心控制的对比实验。这些实验就像是科学研究中的对照组,帮助分离出每个组件的具体贡献。
在数据生成策略的对比中,研究团队分别测试了单独使用图像重现、图像多样化和立体几何合成的效果。结果显示,这三种策略都对最终性能有积极贡献,但图像多样化策略的效果最为显著。这个发现强调了数据多样性在AI训练中的重要性。
更有趣的是代码驱动字幕生成与传统字幕生成方法的对比。传统方法直接使用先进的多模态模型来生成图像描述,而代码驱动方法则使用可执行代码作为中间表示来确保描述的准确性。对比结果显示,代码驱动方法带来了显著的性能提升,验证了"代码作为真理锚点"这一核心理念。
在STEM图像到代码翻译任务的验证中,研究团队发现这种直接的视觉到代码映射为整体性能带来了额外的提升。这说明代码不仅可以作为生成准确字幕的中间步骤,本身也是一种有价值的视觉表示形式。
强化学习阶段的贡献分析揭示了不同奖励组件的相对重要性。执行奖励的贡献最为显著,这表明代码的可执行性是一个强有力的学习信号。代码相似度奖励和图像相似度奖励则提供了更细粒度的指导,帮助模型生成更高质量的代码。
研究团队还比较了直接图像到代码生成与描述增强的图像到代码生成两种方法。结果表明,先生成详细的图像描述再生成代码的两步法显著优于直接生成代码的一步法。这个发现支持了"分步骤处理复杂任务"的设计理念,说明即使对于AI来说,将复杂任务分解成更小的子任务也是有益的。
九、实际应用中的性能表现
在实际应用场景中,CodePercept展现出了令人鼓舞的性能表现。研究团队在多个真实世界的STEM数据集上进行了测试,这些数据集涵盖了从中学数学到大学物理的各种难度级别。
在MathVision数据集上,CodePercept-4B模型相比基线模型提升了3.4个百分点,达到了57.63%的准确率。考虑到这个数据集包含了许多需要复杂几何推理的题目,这种提升是相当显著的。随着模型规模的增长,性能提升变得更加明显。CodePercept-32B在同一数据集上达到了62.27%的准确率,相比基线版本提升了3.7个百分点。
在MathVista数据集上的表现同样令人印象深刻。这个数据集特别强调视觉理解能力,因为其中的许多问题都需要精确理解图形中的数值关系和几何结构。CodePercept在这个挑战性数据集上的稳定提升证明了其视觉感知增强的有效性。
LogicVista数据集测试了模型在逻辑推理方面的能力,需要AI理解复杂的逻辑图表和关系网络。在这个数据集上,CodePercept的提升尤为显著,4B、8B和32B模型分别获得了6.3、4.7和3.1个百分点的提升。这些结果表明,即使在主要考查逻辑推理的任务中,更好的视觉理解仍然能够带来实质性的性能改进。
特别值得注意的是,CodePercept模型在跨规模比较中表现出了优异的效率。经过CodePercept训练的8B参数模型在多个数据集上的表现超越了参数量为其九倍的某些大型模型。这种效率上的优势对于实际部署具有重要意义,因为它意味着可以用更小的计算资源达到更好的性能。
在专门的视觉感知测试STEM2Code-Eval上,CodePercept的优势更加明显。不仅在图像重建质量上有显著提升,在代码质量和执行成功率方面也都表现出色。这种全方位的改进证明了代码驱动训练方法的全面有效性。
十、方法论的深层价值与未来展望
CodePercept的价值不仅仅在于其在特定任务上的性能提升,更在于它为AI视觉理解提供了一个全新的方法论框架。这种框架的核心思想是使用更精确的符号表示来增强自然语言的表达能力,这个理念具有广泛的应用潜力。
从认知科学的角度来看,CodePercept的成功验证了多模态表示学习的价值。人类在理解复杂视觉信息时,往往会同时使用直觉性的整体印象和分析性的细节描述。CodePercept通过结合自然语言的语义表达能力和程序代码的精确性,为AI提供了类似的多重表示能力。
这种方法论还为解决AI的幻觉问题提供了新的思路。在传统的视觉语言模型中,生成的文本描述很难验证其准确性,这为幻觉的产生留下了空间。而CodePercept通过引入可执行代码这一客观标准,建立了一个可验证的真理锚点,从根本上减少了幻觉现象。
从技术发展的角度来看,CodePercept为构建更可靠的AI系统指出了方向。在安全关键的应用场景中,AI系统的输出需要具有可验证性。CodePercept展示了如何通过设计可验证的中间表示来增强AI系统的可信度。
这项研究还为AI教育应用开辟了新的可能性。传统的AI教学辅助系统往往只能提供最终答案,而无法展示解题过程。CodePercept生成的代码实际上提供了一种新型的"解题步骤"表示,这种表示既精确又可执行,为构建更智能的教学系统提供了基础。
在未来的发展方向上,这种代码驱动的方法有望扩展到更多领域。除了STEM教育,在科学研究、工程设计、数据分析等需要精确性的领域,类似的方法都可能发挥重要作用。特别是在科学可视化和工程制图领域,AI系统如果能够理解并生成精确的技术图形,将大大提升专业工作的效率。
CodePercept的另一个重要贡献在于它为评估AI能力提供了新的标准。传统的评估方法往往依赖于主观判断或间接指标,而STEM2Code-Eval提供了一种客观、可验证的评估方式。这种"重现即理解"的评估哲学可能会影响未来AI能力评测的设计思路。
从数据科学的角度来看,ICC-1M数据集的构建方法也具有参考价值。通过多管道数据生成、严格质量控制和多维度验证,这项工作为构建高质量AI训练数据集提供了方法论指导。特别是在需要精确性的领域,这种数据构建范式值得借鉴。
研究团队在论文中也坦诚地讨论了当前方法的局限性。代码生成的复杂性使得这种方法在计算资源需求上相比传统方法有所增加。同时,对于某些艺术性或抽象性较强的图像,程序代码可能无法完全捕捉其视觉精髓。这些局限性为未来的改进指明了方向。
说到底,这项研究最大的价值在于它改变了我们思考AI视觉理解的方式。它告诉我们,有时候问题的解决方案并不在于更复杂的算法或更大的模型,而在于重新审视问题的本质。当我们意识到AI在STEM视觉任务上的困难主要来自感知而非推理时,解决方案就变得清晰了:给AI更好的"眼镜",而不是更多的"书本"。
这种洞察不仅对AI研究具有指导意义,对教育和认知科学也有启发价值。它提醒我们,在任何学习过程中,准确的感知都是有效推理的前提。无论是人类学习还是机器学习,"看得清楚"永远是"想得明白"的基础。
CodePercept的成功证明了跨学科思维的价值。通过将编程概念引入视觉理解任务,研究团队创造性地解决了一个看似复杂的问题。这提醒我们,在面对技术挑战时,有时候答案就藏在相邻领域的成熟方法中,关键是要有足够的开放心态去发现和应用这些方法。
Q&A
Q1:CodePercept是什么,它解决了什么问题?
A:CodePercept是上海交通大学团队开发的一种新型AI训练框架,专门用来提升AI在数学、物理等STEM图像理解方面的能力。它解决的核心问题是AI在处理科学图像时经常"看不清楚"的问题。传统AI主要用自然语言来描述图像,但对于复杂的几何图形、化学分子结构等,文字描述往往不够精确。CodePercept让AI学会用编程代码来理解图像,就像给AI配了一副更精确的"眼镜"。
Q2:为什么用代码比用文字描述图像更有效?
A:这主要是因为代码具有文字无法比拟的精确性。当你用文字描述一个复杂的几何图形时,很难准确表达每个点的坐标、每条线的角度、每种颜色的具体数值。但用Python代码就不同了,它能精确指定图像的每一个细节,而且这些代码是可以执行的,能够完美重现原始图像。这就像用工程图纸和诗歌描述同一座建筑的区别——工程图纸虽然不那么优美,但绝对准确。
Q3:普通人能用到CodePercept技术吗?
A:虽然CodePercept目前主要是研究阶段的技术,但它的应用前景很广阔。未来可能会集成到在线教育平台中,帮助学生更好地理解数学和科学概念;也可能用于智能作业批改系统,让AI更准确地理解学生画的图形和解题步骤;甚至可能应用到智能设计软件中,帮助工程师和设计师更高效地处理技术图纸。随着技术成熟,这种"看图生代码"的能力可能会成为未来AI助手的标配功能。
特别声明:以上内容(如有图片或视频亦包括在内)为自媒体平台“网易号”用户上传并发布,本平台仅提供信息存储服务。
Notice: The content above (including the pictures and videos if any) is uploaded and posted by a user of NetEase Hao, which is a social media platform and only provides information storage services.