首页 > 编程语言 >ScreenAI ——能理解从信息图表到用户界面的图像和文本算法解析

ScreenAI ——能理解从信息图表到用户界面的图像和文本算法解析

时间:2024-07-08 23:55:19浏览次数:20  
标签:用户界面 模型 ScreenAI 图表 任务 图像 屏幕 文本

概述

论文地址:https://arxiv.org/pdf/2402.04615.pdf
信息图表(图表、示意图、插图、地图、表格、文档布局等)能够将复杂的数据和想法转化为简单的视觉效果,因此一直以来都被视为传播的重要元素。这种能力来自于通过布局和视觉线索使信息直观易懂。在当今日益数字化的世界中,移动和桌面用户界面(UIs)使用类似的设计原则和视觉语言,使人与人之间以及人与机器之间的交流变得丰富和互动。

这一背景表明,一个模型有可能以综合的方式理解信息图和用户界面,但模型的复杂性构成了巨大的挑战。为了应对这一挑战,本文开发了一种视觉语言模型(VLM)–ScreenAI。

该模型可处理各种任务,包括回答问题、注释元素、总结以及浏览信息图表和用户界面;ScreenAI 通过结合最新技术和将视觉任务重新定义为文本问题来应对这些挑战。

本文利用用户界面和信息图表之间的相似性,提出了一种全面了解这些学科的新方法。它还开发了自动生成训练数据的技术以及预训练和微调的新方法。它还提供了三个新的评估数据集,以验证 ScreenAI 的有效性。

ScreenAI 的创新将其定位为所有数字内容理解任务(从用户界面到信息图表等)的 VLM。尽管该模型只有 46 亿个参数,但它是一个公开的信息图表问题。它在响应基准上达到了最先进的性能,超过其他模型 10 倍以上。事实证明,增加模型的规模可以提高性能,预计未来还会有进一步的改进。

技术

本文提出的模型可同时理解图像和文本。该模型的核心是一个多模态编码器模块,结合了用于图像分析的视觉转换器(ViT)和用于文本处理的 mT5 语言编码器。这种方法的灵感来源于 PaLI 模型系列的架构及其将不同的视觉和多模态任务从文本和图像输入转化为文本输出的能力。

该模型的独特之处在于它能灵活处理具有不同修补图案的图像。传统的 PaLI 架构只能生成固定的网格补丁,而我们采用了 Pix2Struct 中引入的技术,能够根据输入图像的形状生成任意网格形状的图像补丁。这样就能灵活处理不同分辨率和长宽比的图像,而不会强行使图像变形,从而大大扩展了模型的应用范围。该系统的一个特别优势是既能适应纵向移动图像,也能适应横向桌面图像。

为了开发这个模型,我们训练了三个不同大小的模型。这些模型的参数数量庞大,分别为 670M、2B 和 5B:670M 和 2B 参数模型建立在先前训练过的单模态检查点基础上,侧重于提高图像处理和语言理解性能。而 5B 参数模型则利用了更复杂的多模态预训练检查点,能够同时理解和处理图像和文本。

在学习方面,我们从大型数据集的自我监督学习开始。这样做的目的是提高模型的自学能力,尽量减少人工干预。在这一阶段,我们将对图像编码器和语言模型进行训练,尤其是图像编码器,我们将引入新的技术,使其能够灵活地处理不同类型的图像。

接下来,为了进一步提高模型的准确性,暂停了视觉编码器的训练,并在减少资源消耗的情况下执行额外的训练步骤。通过这一过程,模型可以更好地理解不同的任务。

最后一个阶段是微调,利用人类标注的数据针对特定任务对模型进行优化。这包括各种各样的任务,包括与问题解答(QA)相关的任务:对于 QA 任务,首先在一系列任务中对模型进行微调,然后再针对单个任务进行额外的训练。对于其他任务,则对每个任务进行单独微调,以最大限度地提高模型的性能。

自动生成数据

模型的演变与数据的质量和数量直接相关。因此,本文探讨了获取大量多样化数据集的重要性,并采用自动生成数据的创新方法来克服人工标注的局限性。这种方法使用专门的小型模型来高效、准确地生成和标注数据,与人工方法相比,具有无与伦比的可扩展性和数据多样性。

这种方法的第一步是让模型全面了解文本元素、屏幕组件、它们的结构和层次。在此基础上,模型将发展出精确解释和响应各种用户界面的能力。从不同设备上收集的屏幕截图都标注了详细的用户界面元素及其关系。这一过程的核心是基于 DETR 检测模型的布局注释器,它能识别和标注各种用户界面元素。其他步骤包括使用图标分类器分析象形图,使用 PaLI 图像标题模型生成描述性标题,以及通过 OCR 引擎提取和注释文本内容。这样就能对屏幕内容进行全面而详细的描述。

这种全面的注释样本被称为 “屏幕模式”,它也是数据生成的核心,可作为预训练任务,从输入图像中生成类似的模式。这不仅增强了模型识别和解释用户界面组件的能力,还增强了模型理解这些组件之间相互关系的能力。屏幕模式作为大规模语言模型的接口也很有价值,它为 LLM 提供了屏幕内容的结构化详细表示,有助于创建更复杂、语境更丰富的任务。

此外,本文还利用大规模语言模型(LLM)为数据集增添了新的多样性维度。本文特别关注了一种名为 PaLM 2-S 的模型,该模型在生成问答对方面能力出众。这一过程分为两个阶段,首先创建前面介绍的屏幕模式。接下来,将包含该模式的提示输入大规模语言模型,从而生成新的合成数据。

这种实用方法需要一些尝试和错误以及提示设计技巧,但找到正确的提示将使您能够有效地生成所需的任务。本文附件中介绍了实际提示的示例。为了保证生成数据的质量,我们会对选定的数据进行人工验证,以确保达到高质量标准。

这种新方法为数据集带来了合成但真实的各种任务,极大地增加了预训练数据集的深度和广度。大规模语言模型的自然语言处理能力与结构化屏幕模式相结合,提高了模拟各种用户交互和场景的能力。这为模型训练中的自动数据生成提供了更多可能性。

数据组合

模型开发有两个关键阶段:预学习任务和微调任务。这两个阶段为模型有效理解和应对复杂现实世界场景的能力奠定了基础。预学习任务包括

早期预学习阶段可向模型传授各种技能。通过一系列任务(从识别屏幕用户界面元素到复杂问题解答、屏幕导航和内容摘要),训练模型处理各种实际应用。这些任务培养了模型理解文本和非文本内容、阅读上下文和准确导航界面的能力。微调阶段使用由人工评估人员验证的标签,进一步加深模型的理解。该阶段以预习阶段打下的基础为基础,针对特定任务和场景提高模型的准确性和效率。下表概述了所有预学习任务。

通过预训练和微调,利用了各种图像和文本数据源,包括 VQA CC3M、WebLI Alt 和 OCR 文本以及图表到表格的翻译。这些数据集对于确保模型在语言和视觉处理能力方面保持稳健至关重要。

通过根据数据集的大小按比例对任务进行加权,并在模型的训练中纳入多模态来源,我们的模型能够有效地应对语言处理、视觉理解和网络内容分析等不同场景。这提高了我们模型的整体通用性和性能。

实验和结果

下表比较了在屏幕和信息图表相关任务中表现最佳的 ScreenAI 模型和最先进的 SoTA 模型。

本文还研究了将 OCR 文本作为额外输入纳入模型对任务性能的影响:受 PaLI-X 和 PaLI-3 微调实验的启发,在屏幕和文档相关任务中添加 OCR 文本有助于提高性能。在屏幕和文档相关任务中添加 OCR 文本已被证明有助于提高性能。上表中的结果还显示,添加 OCR 可提高性能(例如,在复杂屏幕质量保证、MPDocVQA 和 InfoVQA 中,最高可提高 4.5%),尤其是在质量保证任务中。不过,使用 OCR 的缺点是会增加输入长度,并略微降低学习速度。此外,在推理过程中还需要 OCR 结果。

关于模型尺寸的进一步实验使用了不同尺寸的模型–670M、2B 和 5B。下图显示,基准不仅用于屏幕任务,也用于其他已发布的任务,而且性能随着模型尺寸的增加而提高。特别是需要更高级的视觉文本处理和算术推理的任务,如 InfoVQA、ChartQA 和 Complex ScreenQA,在从 2B 模型升级到 5B 模型后都有显著提高。这些结果表明了加入 OCR 和选择模型大小对提高模型能力的重要性。

总结

本文介绍了 ScreenAI 模型和一种新的统一模式,用于表示与信息图表、文档图像和不同用户界面兼容的复杂数据和视觉信息。通过这种统一的表示方法,可以设计出利用所有这些领域数据的自监督学习任务组合。

我们还表明,在这种组合中进行的学习可以积极迁移到与屏幕相关的任务、信息图表和文档相关的任务中。此外,我们还展示了使用大规模语言模型生成数据的影响,并通过消除研究证明了模型设计选择的合理性。

应用这些技术学习的模型在许多公共基准测试中实现了 SoTA 和具有竞争力的性能。不过,我们也注意到,虽然该模型是同类最佳,但在某些任务上还需要进一步努力,才能缩小与 GPT-4 和 Gemini 等规模更大的模型之间的差距。

为了促进进一步的研究,公司打算发布这个统一表示数据集和另外两个数据集,以便进行更全面的基准测试。

标签:用户界面,模型,ScreenAI,图表,任务,图像,屏幕,文本
From: https://blog.csdn.net/matt45m/article/details/140281701

相关文章

  • React+TS前台项目实战(二十六)-- 高性能可配置Echarts图表组件封装
    文章目录前言CommonChart组件1.功能分析2.代码+详细注释3.使用到的全局hook代码4.使用方式5.效果展示总结前言Echarts图表在项目中经常用到,然而,重复编写初始化,更新,以及清除实例等动作对于开发人员来说是一种浪费时间和精力。因此,在这篇文章中,将封装一个“高......
  • STK 报告和图表
    STK提供了很多样式的报告和图表,并且可以个性化定制。纬度、经度和高度(LLAPosition)(1)在ObjectBrowser里面选中MEO;(2)点击图标,打开Report工具;(3)选中InstalledStyles—LLAPosition;(4)点击Generate…,会出现一个报表,里面列出了在整个场景时间段内的纬度、精度、高度以及相应的速......
  • 解密Prompt系列33. LLM之图表理解任务-多模态篇
    上一章我们介绍了纯文本模态的表格理解任务,这一章我们聚焦多模态图表数据。先讨论下单纯使用prompt的情况下,图片和文字模态哪种表格模型理解的效果更好更好,再说下和表格相关的图表理解任务的微调方案。Prompt:表格模态哪家强使用prompt对比SOTA的文本模型和多模态模型,哪个在表格......
  • 邮件显示统计图表echarts-java+phantomjs实现
    邮件显示统计图表echarts-java+phantomjs实现项目背景是产品业务上的订阅推送,纯java后端实现,通过邮件将统计报表发送给用户。这里会涉及一些关键点:首先是统计图表的生成,我们采用常见的echarts,简单易用,支持图表类型丰富美观;java后端实现可使用echarts-java来实现图表的生成......
  • 【python】Tkinter 图形用户界面
    #导入Tkinter模块,它是Python的标准GUI库importtkinter#创建一个Tkinter的根窗口对象,这是所有其他GUI元素的容器top=tkinter.Tk()#设置窗口的标题top.title('单线程')#设置窗口的初始大小和位置。这里指定了宽度为200像素,高度为150像素top.g......
  • 【信息系统项目管理师】常见图表
    作文里面的画图题用语言描述画图过程合同采购综合评分标准责任分配矩阵成本预算表成本估算成本管理计划活动清单活动属性变更日志问题日志项目章程自己再添加更多内容甘特图甘特图包含以下三个含义:1、以图形或表格的形式显示活动;2、通用的显示进......
  • python解析Linux top 系统信息并生成动态图表(pandas和matplotlib)
    文章目录0.引言1.功能2.使用步骤3.程序架构流程图结构图4.数据解析模块5.图表绘制模块6.主程序入口7.总结8.附录完整代码0.引言在性能调优和系统监控中,top命令是一种重要工具,提供了实时的系统状态信息,如CPU使用率、内存使用情况和进程状态。然而,仅凭......
  • 解析 Ferret-UI:多模态大模型在移动用户界面理解中的应用
    移动应用的爆炸性增长,用户界面(UI)的设计越来越复杂,功能也越来越丰富。但现有的多模态大模型(MLLMs)在理解用户界面时存在局限,尤其是在处理具有特定分辨率和包含众多小型对象(如图标、文本)的移动UI屏幕时。这些模型通常难以准确识别和操作界面上的特定元素,也难以执行基于自然语言......
  • 141个图表,完美展示数据分类别关系!
    本文介绍使用Python工具seaborn详细实现分类关系图表,包含8类图141个代码模版。分类关系图表用于展示数字变量和一个或多个分类变量之间的关系,可以进一步分为:箱形图(boxplot)、增强箱形图(enhancedboxplot)、小提琴图(violinplot)、抖动散点图(jitterplot)、蜂群图(beeswarmplot)、......
  • 前端智能合约:连接区块链与用户界面
    引言智能合约是区块链技术中的核心概念,它允许在没有中介的情况下执行可信的交易和协议。然而,要使这些合约对终端用户有用,我们需要一个能够与智能合约交互的前端界面。本文将探讨如何使用Web3.js等工具来构建一个能够与智能合约进行交互的前端应用程序。Web3.js简介Web3.js......