从幻觉到硬件:真实计算机视觉项目的经验教训

Dell技术团队在构建笔记本电脑物理损伤识别模型时,遭遇了AI幻觉、垃圾图像检测和输出不稳定等问题。项目从单体提示开始,尝试了多模态方法,最终创新性地将智能体框架应用于图像解释任务。通过组合精确的智能体检测、广泛的单体扫描和针对性微调,构建了可靠的混合系统,显著减少了幻觉问题并提高了检测准确性。

计算机视觉项目很少按计划进行,这个项目也不例外。最初的想法很简单:构建一个能够查看笔记本电脑照片并识别任何物理损坏的模型——比如屏幕破裂、按键缺失或铰链损坏。这看起来是图像模型和大语言模型(LLM)的直接应用场景,但很快就变得复杂起来。

在这个过程中,我们遇到了幻觉、输出不可靠以及图像甚至不是笔记本电脑等问题。为了解决这些问题,我们最终以一种非典型的方式应用了代理框架——不是用于任务自动化,而是为了提高模型性能。

在这篇文章中,我们将分享我们尝试的方法、失败的经验,以及多种方法的组合如何最终帮助我们构建了可靠的系统。

起点:单体式提示

我们最初的方法对于多模态模型来说相当标准。我们使用单一的大型提示将图像传递给具有图像处理能力的LLM,并要求它识别可见的损坏。这种单体式提示策略实现简单,对于清晰、定义明确的任务效果不错。但现实世界的数据很少配合。

我们早期遇到了三个主要问题:

幻觉:模型有时会虚构不存在的损坏或错误标记看到的内容。

垃圾图像检测:它没有可靠的方法来标记那些甚至不是笔记本电脑的图像,比如桌子、墙壁或人的照片偶尔会通过检测并收到荒谬的损坏报告。

准确性不一致:这些问题的组合使得模型在操作使用中过于不可靠。

此时我们意识到需要进行迭代改进。

第一次修复:混合图像分辨率

我们注意到图像质量对模型输出的影响很大。用户上传的图像质量参差不齐,从清晰高分辨率到模糊不清都有。这促使我们参考强调图像分辨率如何影响深度学习模型的研究。

我们使用高分辨率和低分辨率图像的混合来训练和测试模型。这个想法是让模型对实际应用中遇到的各种图像质量更有适应性。这有助于提高一致性,但幻觉和垃圾图像处理的核心问题仍然存在。

多模态尝试:纯文本LLM转向多模态

受到最近将图像描述与纯文本LLM结合实验的鼓舞——比如The Batch中介绍的技术,从图像生成描述然后由语言模型解释,我们决定尝试一下。

工作原理如下:

LLM首先为图像生成多个可能的描述。

另一个称为多模态嵌入模型检查每个描述与图像的匹配程度。在这个案例中,我们使用SigLIP来评分图像和文本之间的相似性。

系统基于这些评分保留排名靠前的几个描述。

LLM使用这些顶级描述来编写新的描述,试图更接近图像实际显示的内容。

重复这个过程直到描述停止改进或达到设定限制。

虽然理论上很聪明,但这种方法为我们的用例引入了新问题:

持续幻觉:描述本身有时包含虚构的损坏,LLM然后自信地报告这些损坏。

覆盖不完整:即使有多个描述,一些问题也完全被遗漏。

复杂性增加,收益微小:增加的步骤使系统更复杂,但没有可靠地超越之前的设置。

这是一个有趣的实验,但最终不是解决方案。

代理框架的创新应用

这是转折点。虽然代理框架通常用于编排任务流程(比如代理协调日历邀请或客户服务操作),我们想知道将图像解释任务分解为更小的专门代理是否有帮助。

我们构建了这样结构的代理框架:

编排代理:检查图像并识别哪些笔记本电脑组件是可见的(屏幕、键盘、机箱、端口)。

组件代理:专门的代理检查每个组件的特定损坏类型;例如,一个负责破裂屏幕,另一个负责缺失按键。

垃圾检测代理:单独的代理标记图像是否首先是笔记本电脑。

这种模块化、任务驱动的方法产生了更精确和可解释的结果。幻觉大幅减少,垃圾图像被可靠标记,每个代理的任务都足够简单和集中,能够很好地控制质量。

盲点:代理方法的权衡

尽管这很有效,但并不完美。出现了两个主要限制:

延迟增加:运行多个顺序代理增加了总推理时间。

覆盖差距:代理只能检测它们被明确编程寻找的问题。如果图像显示了意外的内容,而没有代理被指派识别,它就会被忽略。

我们需要一种平衡精确性和覆盖范围的方法。

混合解决方案:结合代理和单体方法

为了弥合差距,我们创建了一个混合系统:

代理框架首先运行,处理已知损坏类型和垃圾图像的精确检测。我们将代理数量限制在最关键的几个以改善延迟。

然后,单体图像LLM提示扫描图像寻找代理可能遗漏的任何其他内容。

最后,我们使用精选的图像集对高优先级用例进行微调,比如频繁报告的损坏场景,以进一步提高准确性和可靠性。

这种组合为我们提供了代理设置的精确性和可解释性、单体提示的广泛覆盖以及针对性微调的信心提升。

我们学到的经验

在完成这个项目时,几件事变得清晰:

代理框架比人们认为的更通用:虽然它们通常与工作流管理相关联,我们发现当以结构化、模块化的方式应用时,它们可以显著提升模型性能。

混合不同方法胜过依赖单一方法:基于代理的精确检测与LLM的广泛覆盖的结合,加上在最重要的地方进行一些微调,为我们提供了比任何单一方法都更可靠的结果。

视觉模型容易产生幻觉:即使是更先进的设置也可能跳到结论或看到不存在的东西。需要周到的系统设计来控制这些错误。

图像质量多样性很重要:使用清晰的高分辨率图像和日常较低质量图像进行训练和测试,帮助模型在面对不可预测的现实世界照片时保持适应性。

需要捕获垃圾图像的方法:对垃圾或无关图片的专门检查是我们做出的最简单改变之一,但对整体系统可靠性产生了巨大影响。

最终思考

最初作为简单想法开始的项目——使用LLM提示检测笔记本电脑图像中的物理损坏,很快变成了结合不同AI技术来解决不可预测的现实世界问题的更深入实验。在这个过程中,我们意识到一些最有用的工具原本并不是为这类工作设计的。

通常被视为工作流实用程序的代理框架,在重新用于结构化损坏检测和图像过滤等任务时被证明出人意料地有效。通过一些创造性思维,它们帮助我们构建了一个不仅更准确,而且在实践中更容易理解和管理的系统。

来源:VentureBeat

0赞

好文章,需要你的鼓励

2025

06/30

08:11

分享

点赞

邮件订阅