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

news2024/11/17 11:34:46

概述

论文地址: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.coloradmin.cn/o/1909060.html

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

相关文章

C#——序列化和反序列化概念

(1)序列化 在编程中,序列化是指将对象转换为可存储或传输的格式,例如将对象转换为 JSON 字符串或字节流。 (2)反序列化 在编程中,反序列化则是将存储或传输的数据转换回对象的过程。 序列化和反序列化经常用于数据的持久化、数据交换以及…

【计算机毕业设计】013新闻资讯微信小程序

🙊作者简介:拥有多年开发工作经验,分享技术代码帮助学生学习,独立完成自己的项目或者毕业设计。 代码可以私聊博主获取。🌹赠送计算机毕业设计600个选题excel文件,帮助大学选题。赠送开题报告模板&#xff…

【高中数学/指数函数】比较a=0.6^0.9 b=0.6^1.5 c=1.5^0.6的大小

【问题】 比较a0.6^0.9 b0.6^1.5 c1.5^0.6的大小 【解答】 指数函数y0.6^x是减函数&#xff0c;因为0.9<1.5,所以0.6^0.9>0.6^1.5,即a>b; 指数函数y1.5^x是增函数&#xff0c;1.5^0.6>1.5^01>0.6^0.9,即c>a; 综上&#xff0c;得出c>a>b的结论。 …

移动UI:该如何给页面降噪,给你支8招。

为什么我的移动UI页面看来这么复杂、为什么用户很迷茫&#xff0c;不知道如何操作&#xff0c;为什么很拥挤&#xff0c;核心原因还是页面噪声过多了&#xff0c;需要适当的降噪。 降低页面噪音&#xff0c;提高页面的简洁高效性是一个重要的设计目标。以下是一些降噪的设计方…

音频demo:使用opencore-amr将PCM数据与AMR-NB数据进行相互编解码

1、README a. 编译 编译demo 由于提供的.a静态库是在x86_64的机器上编译的&#xff0c;所以仅支持该架构的主机上编译运行。 $ make编译opencore-amr 如果想要在其他架构的CPU上编译运行&#xff0c;可以使用以下命令&#xff08;脚本&#xff09;编译opencore-amr[下载地…

终于搞定了通过两路蓝牙接收数据

一直想做无线传感器&#xff0c;通过蓝牙来接收数据&#xff0c;无奈因为arduino接收串口数据的一些问题&#xff0c;一直搁到现在。因为学校里给学生开了选修课&#xff0c;所以手边有一些nano和mega可以使用&#xff0c;所以就做了用两个nano加上两个蓝牙模块来发射数据&…

solidity:构造函数和修饰器、事件

构造函数​ 构造函数&#xff08;constructor&#xff09;是一种特殊的函数&#xff0c;每个合约可以定义一个&#xff0c;并在部署合约的时候自动运行一次。它可以用来初始化合约的一些参数&#xff0c;例如初始化合约的owner地址&#xff1a; address owner; // 定义owner变…

web前端开发——标签一

今天我来针对web前端开发讲解标签一 Html标签_标题&段落&换行 注释标签&#xff1a;Ctrl/ Ctrl/ &#xff0c;用户可能会获取到注释标签 注释的原则: •和代码逻辑一致 •尽量使用中文 •正能量 标题标签&#xff1a;<h1></h1> h1-h6 标题标签有6…

Nacos2.X源码分析:服务注册、服务发现流程

文章目录 Nacos2.1.X源码源码下载服务注册NacosClient端NacosServer端 服务发现NacosClient端NacosServer端 Nacos2.1.X源码 源码下载 源码下载地址 服务注册 官方文档&#xff0c;对于NamingService接口服务注册方法的说明 Nacos2.X 服务注册总流程图 NacosClient端 一个…

2024年浙江省高考分数一分一段数据可视化

下图根据 2024 年浙江高考一分一段表绘制&#xff0c;可以看到&#xff0c;竞争最激烈的分数区间在620分到480分之间。 不过&#xff0c;浙江是考两次取最大&#xff0c;不是很有代表性。看看湖北的数据&#xff0c;580分到400分的区段都很卷。另外&#xff0c;从这个图也可以…

【Mac】Folder Icons for mac(文件夹个性化图标修改软件)软件介绍

软件介绍 Folder Icons for Mac 是一款专为 macOS 设计的应用程序&#xff0c;主要用于个性化和定制你的文件夹图标。以下是它的主要特点和使用方法&#xff1a; 主要特点&#xff1a; 个性化文件夹图标 Folder Icons for Mac 允许用户为 macOS 上的任何文件夹定制图标。你…

k8s集群如kubeadm init和kube-flannel.yam问题

查看k8s中角色内容kubectl get all (显示pod和server以及delment) 删除应用资源选择删除先删除部署查看部署和pod没了服务还在&#xff0c;但资源和功能以及删除&#xff0c;删除服务kubectl delete 服务名&#xff08;部署名&#xff09;&#xff0c;get pods 获取默认空间的容…

Android C++系列:Linux进程(二)

1. fork #include <unistd.h> pid_t fork(void);子进程复制父进程的0到3g空间和父进程内核中的PCB,但id号不同。 fork调用一次返回两次 父进程中返回子进程ID子进程中返回0读时共享,写时复制#include <sys/types.h> #include <unistd.h> #include <…

高颜值官网(4):酒店民宿网站12个,看着看着就醉了。

对于高星级酒店或者高端酒店来说&#xff0c;拥有一个高颜值的官方网站是非常重要的。一个精美、专业的网站设计可以有效地展现酒店的品牌形象和服务质量&#xff0c;吸引目标客户群体并提高预订转化率。 这次分享12个&#xff0c;都是超高颜值的。

机器学习中的可解释性

「AI秘籍」系列课程&#xff1a; 人工智能应用数学基础 人工智能Python基础 人工智能基础核心知识 人工智能BI核心知识 人工智能CV核心知识 为什么我们需要了解模型如何进行预测 我们是否应该始终信任表现良好的模型&#xff1f;模型可能会拒绝你的抵押贷款申请或诊断你患…

break 和 continue 的区别与用法

break 和 continue 的区别与用法 1、break 语句2、continue 语句3、总结 &#x1f496;The Begin&#x1f496;点点关注&#xff0c;收藏不迷路&#x1f496; 在JAVA中&#xff0c;break 和 continue 是两种常用的控制流语句&#xff0c;它们主要用于在循环结构中改变程序的执行…

怎样卸载电脑上自带的游戏?

卸载电脑上自带的游戏通常是一个简单的过程&#xff0c;以下是几种常见的方法&#xff0c;您可以根据自己的操作系统版本选择相应的步骤进行操作&#xff1a; 方法一&#xff1a;通过“设置”应用卸载&#xff08;适用于Windows 10和Windows 11&#xff09; 1. 点击开始菜单&…

【链表】- 链表相交

1. 对应力扣题目连接 链表相交 2. 实现思路 链表详情&#xff1a; 考虑使用双指针&#xff1a; 解法一&#xff1a; 具体代码&#xff0c;详见3. 实现案例代码解析&#xff1a; 思路&#xff1a;因为链表按照如图的箭头走向&#xff0c;走的总路程是相等的&#xff0c;一…

泰迪智能科技受邀北京物资学院共讨校企合作交流

为落实“访企拓岗促就业”专项行动工作要求&#xff0c;推动科研成果向实际应用转化&#xff0c;培养适应新时代需求的高素质人才&#xff0c;拓宽毕业生就业渠道&#xff0c;提升就业竞争力。7月1日&#xff0c;广东泰迪智能科技股份有限公司区域总监曹玉红到访北京物资学院开…

两张图片合并(右上角添加水印,兼容矢量图)保留原来的颜色

无缝合并两张图片&#xff08;封面右上角添加logo&#xff09;-- opencv &#xff1a; 进行添加logo(水印)由于使用了cv2.seamlessClone&#xff0c;cv2.seamlessClone使用了泊松克隆&#xff08;Poisson Cloning&#xff09;&#xff0c;会根据周围的颜色信息进行颜色调整&…