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 等规模更大的模型之间的差距。

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

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/bicheng/43301.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

普通人必看!AI绘画商业变现全攻略(附教程)

大部分的设计师除了主业以外,都会利用空余时间去接单做副业。 单子包括但不限于产品/品牌LOGO、电商产品图设计、海报、室内设计图等等,单价在几十到上千不等 引起了我的思考,我们普通人有没有机会,也能像他们一样去接单赚钱吗&a…

pytorch- RNN循环神经网络

目录 1. why RNN2. RNN3. pytorch RNN layer3.1 基本单元3.2 nn.RNN3.2.1 函数说明3.2.2 单层pytorch实现3.2.3 多层pytorch实现 3.3 nn.RNNCell3.3.1 函数说明3.3.2 单层pytorch实现3.3.3 多层pytorch实现 4.完整代码 1. why RNN 以淘宝的评论为例,判断评论是正面…

matplotlib颜色对照表

matplotlib的色彩设置: #------------------------------------------------------------------------------------------------------------------------------- #-------------------------------------------------------------------------------------------------------…

【JavaWeb】登录校验-会话技术(二)JWT令牌

JWT令牌 介绍 JWT全称:JSON Web Token (官网:https://jwt.io/) 定义了一种简洁的、自包含的格式,用于在通信双方以json数据格式安全的传输信息。由于数字签名的存在,这些信息是可靠的。 简洁&#xff1a…

vue和react你怎么选择?

在选择Vue和React之间,其实没有一个绝对的“最佳选择”,因为这取决于你的项目需求、团队熟悉度、开发环境、以及你对这两个框架的个人偏好。下面是一些可以帮助你做出决策的因素: 1. 学习曲线 Vue:Vue的学习曲线相对平缓&#xf…

借助软件资产管理系统,优化Solidworks软件许可证管理

在当今数字化的企业环境中,软件许可证的有效管理对于业务的顺畅运行至关重要。然而,IT 运维部门常常面临着诸如用户部门 SW 许可证不够用、使用紧张等问题,而由于缺乏可靠的数据支持,难以准确判断许可证的短缺程度,这给…

MFC引用C#生成的dll,将dll放置到非exe程序目录,如何操作?

🏆本文收录于「Bug调优」专栏,主要记录项目实战过程中的Bug之前因后果及提供真实有效的解决方案,希望能够助你一臂之力,帮你早日登顶实现财富自由🚀;同时,欢迎大家关注&&收藏&&…

信创:鲲鹏(arm64)+麒麟(kylin v10)离线部署k8s和kubesphere(含离线部署新方式)

本文将详细介绍,如何基于鲲鹏CPU(arm64)和操作系统 Kylin V10 SP2/SP3,利用 KubeKey 制作 KubeSphere 和 Kubernetes 离线安装包,并实战部署 KubeSphere 3.3.1 和 Kubernetes 1.22.12 集群。 服务器配置 主机名IPCPUOS用途master-1192.168.10…

【linux高级IO(二)】多路转接之select详解

💓博主CSDN主页:杭电码农-NEO💓   ⏩专栏分类:Linux从入门到精通⏪   🚚代码仓库:NEO的学习日记🚚   🌹关注我🫵带你学更多操作系统知识   🔝🔝 Linux高级IO 1. 前言2. 初识s…

SCI丨返修一作+通讯

中科四区,JCR2 返修转让一作通讯,5个月左右录用 题目:通过机器学习算法XXXXXXXxxx混凝土力学性能的可靠方法

苍穹外卖--完善登录功能:进行MD5加密

目标 TODO:使用MD5加密方式对明文密码。 实现 password DigestUtils.md5DigestAsHex(password.getBytes());

Face_recognition实现人脸识别

这里写自定义目录标题 欢迎使用Markdown编辑器一、安装人脸识别库face_recognition1.1 安装cmake1.2 安装dlib库1.3 安装face_recognition 二、3个常用的人脸识别案例2.1 识别并绘制人脸框2.2 提取并绘制人脸关键点2.3 人脸匹配及标注 欢迎使用Markdown编辑器 本文基于face_re…

双向链表+Map实现LRU

LRU: LRU是Least Recently Used的缩写,即最近最少使用,是一种常用的页面置换算法,选择最近最久未使用的页面予以淘汰。 核心思想: 基于Map实现k-v存储,双向链表中使用一个虚拟头部和虚拟尾部,虚拟头部的…

BioXcell—InVivoMAb anti-West Nile/dengue virus E protein

研发背景: 西尼罗河病毒(WNV)是一种由蚊虫类介导传播的黄病毒,与引起人类感染性流行病的登革热病毒、黄热病病毒和日本脑炎病毒密切相关。 WNV和登革热病毒(DENV)同属黄病毒科(Flaviviridae)黄热病毒属,是具有小包膜单…

【多模态】41、VILA | 打破常规多模态模型训练策略,在预训练阶段就微调 LLM 被证明能取得更好的效果!

论文:VILA: On Pre-training for Visual Language Models 代码:https://github.com/NVlabs/VILA 出处:NVLabs 时间:2024.05 贡献: 证明在预训练阶段对 LLM 进行微调能够提升模型对上下文任务的效果在 SFT 阶段混合…

Centos7离线安装ElasticSearch7.4.2

一、官网下载相关的安装包 ElasticSearch7.4.2: elasticsearch-7.4.2-linux-x86_64.tar.gz 下载中文分词器: elasticsearch-analysis-ik-7.4.2.zip 二、上传解压文件到服务器 上传到目录:/home/data/elasticsearch 解压文件&#xff1…

免费无限白嫖阿里云服务器

今天,我来分享一个免费且无限使用阿里云服务器的方法,零成本!这适用于日常测试学习,比如测试 Shell 脚本、学习 Docker 安装、MySQL 等等。跟着我的步骤,你将轻松拥有一个稳定可靠的服务器,为你的学习和实践…

错误记录-SpringCloud-OpenFeign测试远程调用

文章目录 1,org.springframework.beans.factory.UnsatisfiedDependencyException: Error creating bean with name memberController: Unsatisfied dependency expressed through field couponFeign2, Receiver class org.springframework.cloud.netflix…

几种不同的方式禁止IP访问网站(PHP、Nginx、Apache设置方法)

1、PHP禁止IP和IP段访问 <?//禁止某个IP$banned_ip array ("127.0.0.1",//"119.6.20.66","192.168.1.4");if ( in_array( getenv("REMOTE_ADDR"), $banned_ip ) ){die ("您的IP禁止访问&#xff01;");}//禁止某个IP段…

SAP S4 环境下,KSU1 Ob52 转为前台操作,不产生传输请求号

参考 OB52/KSV1/KSU1等与Client状态相关的前台操作-y_q_yang se16n 编辑表 T811FLAGS 新增行 CYCLES MAINTENANCE X 即可