ScreenAI:革新UI与视觉语言理解的视觉语言模型

ScreenAI是基于PaLI架构的视觉语言模型,专为UI和图表理解设计。它采用灵活的补丁策略,结合自监督学习和LLM生成数据,在多项基准测试中达到最先进性能,并发布了三个新数据集用于布局理解和问答能力评估。

ScreenAI:用于UI和视觉语言理解的视觉语言模型

2024年3月19日发布,作者:Srinivas Sunkara和Gilles Baechler,谷歌研究软件工程师

我们推出ScreenAI,这是一个用于用户界面和信息图表的视觉语言模型,在基于UI和信息图表的任务上取得了最先进的结果。我们还发布了三个新数据集:Screen Annotation用于评估模型的布局理解能力,以及ScreenQA Short和Complex ScreenQA,以更全面地评估其问答能力。

快速链接

屏幕用户界面(UI)和信息图表(如图表、图表和表格)在人类通信和人机交互中扮演重要角色,因为它们促进了丰富和交互式的用户体验。UI和信息图表共享相似的设计原则和视觉语言(如图标和布局),这为构建一个能够理解、推理和与这些界面交互的单一模型提供了机会。然而,由于它们的复杂性和多样的呈现格式,信息图表和UI提出了独特的建模挑战。为此,我们推出“ScreenAI:用于UI和信息图表理解的视觉语言模型”。ScreenAI基于PaLI架构,并采用了pix2struct的灵活补丁策略。我们在独特的数据集和任务混合上训练ScreenAI,包括一个新的Screen Annotation任务,要求模型识别屏幕上的UI元素信息(即类型、位置和描述)。这些文本注释为大型语言模型(LLM)提供了屏幕描述,使它们能够自动生成问答(QA)、UI导航和摘要训练数据集。ScreenAI仅有50亿参数,在基于UI和信息图表的任务(WebSRC和MoTIF)上取得了最先进的结果,并在Chart QA、DocVQA和InfographicVQA上实现了同类尺寸模型中的最佳性能。我们还发布了三个新数据集:Screen Annotation用于评估模型的布局理解能力,以及ScreenQA Short和Complex ScreenQA,以更全面地评估其问答能力。

ScreenAI

ScreenAI的架构基于PaLI,由多模态编码器块和自回归解码器组成。PaLI编码器使用视觉变换器(ViT)创建图像嵌入,以及一个多模态编码器,将图像和文本嵌入的拼接作为输入。这种灵活的架构使ScreenAI能够解决可以重新表述为文本+图像到文本问题的视觉任务。在PaLI架构之上,我们采用了pix2struct引入的灵活补丁策略。不使用固定网格模式,而是选择网格维度以保留输入图像的本机纵横比。这使ScreenAI能够在各种纵横比的图像上良好工作。ScreenAI模型分两个阶段训练:预训练阶段和微调阶段。首先,应用自监督学习自动生成数据标签,然后用于训练ViT和语言模型。ViT在微调阶段被冻结,其中大部分数据由人工评分者手动标记。

数据生成

为了创建ScreenAI的预训练数据集,我们首先编译了来自各种设备(包括桌面、移动和平板)的广泛截图集合。这是通过使用公开可访问的网页并遵循用于移动应用RICO数据集的程序化探索方法实现的。然后,我们应用基于DETR模型的布局注释器,识别和标记各种UI元素(如图像、象形图、按钮、文本)及其空间关系。象形图使用能够区分77种不同图标类型的图标分类器进行进一步分析。这种详细分类对于解释通过图标传达的微妙信息至关重要。对于分类器未覆盖的图标,以及信息图表和图像,我们使用PaLI图像标题生成模型生成提供上下文信息的描述性标题。我们还应用光学字符识别(OCR)引擎提取和注释屏幕上的文本内容。我们将OCR文本与先前的注释结合,创建每个屏幕的详细描述。

基于LLM的数据生成

我们使用PaLM 2通过两步过程生成输入-输出对,以增强预训练数据的多样性。首先,使用上述技术生成屏幕注释,然后围绕此模式设计提示,让LLM创建合成数据。此过程需要提示工程和迭代优化以找到有效的提示。我们通过人工验证生成的数据是否符合质量阈值来评估其质量。

1
2
3
4
你只说JSON。不要写非JSON的文本。
给你以下移动截图的文字描述。你能生成5个关于截图内容的问题以及相应的简短答案吗?答案应尽可能短,仅包含必要信息。你的答案应结构如下:
questions: [{{question: 问题,    answer: 答案}}, ...]
{屏幕模式}

通过将LLM的自然语言能力与结构化模式结合,我们模拟了广泛的用户交互和场景,以生成合成、现实的任务。特别是,我们生成了三类任务:

  • 问答:模型被要求回答关于截图内容的问题,例如“餐厅什么时候开门?”
  • 屏幕导航:模型被要求将自然语言话语转换为屏幕上的可执行动作,例如“点击搜索按钮。”
  • 屏幕摘要:模型被要求用一两句话总结屏幕内容。

实验和结果

如前所述,ScreenAI分两个阶段训练:预训练和微调。预训练数据标签通过自监督学习获得,微调数据标签来自人工评分者。我们使用公共QA、摘要和导航数据集以及各种与UI相关的任务微调ScreenAI。对于QA,我们使用多模态和文档理解领域的成熟基准,如ChartQA、DocVQA、Multi page DocVQA、InfographicVQA、OCR VQA、Web SRC和ScreenQA。对于导航,使用的数据集包括Referring Expressions、MoTIF、Mug和Android in the Wild。最后,我们使用Screen2Words进行屏幕摘要。除了微调数据集,我们使用三个新基准评估微调的ScreenAI模型:

  • Screen Annotation:使评估模型布局注释和空间理解能力成为可能。
  • ScreenQA Short:ScreenQA的变体,其真实答案被缩短以仅包含更符合其他QA任务的相关信息。
  • Complex ScreenQA:用更困难的问题(计数、算术、比较和不可回答问题)补充ScreenQA Short,并包含各种纵横比的屏幕。

微调的ScreenAI模型在各种基于UI和信息图表的任务(WebSRC和MoTIF)上取得了最先进的结果,并在Chart QA、DocVQA和InfographicVQA上实现了同类尺寸模型中的最佳性能。ScreenAI在Screen2Words和OCR-VQA上取得了竞争性性能。此外,我们报告了新基准数据集的结果,作为进一步研究的基线。

接下来,我们检查ScreenAI的扩展能力,并观察到在所有任务中,增加模型大小提高了性能,且改进在最大尺寸时尚未饱和。

结论

我们介绍了ScreenAI模型以及一个统一表示,使我们能够开发利用所有这些领域数据的自监督学习任务。我们还说明了使用LLM生成数据的影响,并研究了通过修改训练混合来提高模型在特定方面的性能。我们应用所有这些技术构建了多任务训练模型,在多个公共基准上取得了与最先进方法竞争的性能。然而,我们也注意到我们的方法仍然落后于大型模型,需要进一步研究来弥合这一差距。

致谢

该项目是与Maria Wang、Fedir Zubach、Hassan Mansoor、Vincent Etter、Victor Carbune、Jason Lin、Jindong Chen和Abhanshu Sharma合作的结果。我们感谢Fangyu Liu、Xi Chen、Efi Kokiopoulou、Jesse Berent、Gabriel Barcik、Lukas Zilka、Oriana Riva、Gang Li、Yang Li、Radu Soricut和Tania Bedrax-Weiss的深刻反馈和讨论,以及Rahul Aralikatte、Hao Cheng和Daniel Kim在数据准备方面的支持。我们还感谢Jay Yagnik、Blaise Aguera y Arcas、Ewa Dominowska、David Petrou和Matt Sharifi的领导、愿景和支持。我们非常感谢Tom Small帮助我们创建本文中的动画。

标签

  • 人机交互与可视化
  • 机器智能

快速链接

其他相关文章

  • 2025年7月10日:关系数据的图基础模型(算法与理论、机器智能)
  • 2025年7月9日:MedGemma:我们最强大的健康AI开发开放模型(生成AI、健康与生物科学、机器智能)
  • 2025年7月2日:通过声音定位使群组对话更易访问(人机交互与可视化、声音与声学、语音处理)
comments powered by Disqus
使用 Hugo 构建
主题 StackJimmy 设计