Google ScreenAI代表了一款先进的视觉语言模型,专为用户界面(UI)和视觉情境下的语言理解而设计

  每周跟踪AI热点新闻动向和震撼发展 想要探索生成式人工智能的前沿进展吗?订阅我们的简报,深入解析最新的技术突破、实际应用案例和未来的趋势。与全球数同行一同,从行业内部的深度分析和实用指南中受益。不要错过这个机会,成为AI领域的领跑者。点击订阅,与未来同行! 订阅:https://rengongzhineng.io/

屏幕用户界面(UI)和信息图表,例如图表、图解和表格,在人类沟通和人机交互中发挥着重要作用,因为它们促进了丰富和互动的用户体验。用户界面和信息图表共享类似的设计原则和视觉语言(例如,图标和布局),这提供了建立单一模型的机会,该模型能够理解、推理并与这些界面交互。然而,由于它们的复杂性和多样的呈现格式,信息图表和用户界面呈现了一个独特的建模挑战。

为了应对这一挑战,研究者们介绍了“ScreenAI:一个用于用户界面和信息图表理解的视觉-语言模型”。ScreenAI在PaLI架构的基础上进行了改进,采用了pix2struct中引入的灵活打补丁策略。研究者们在包括一项新颖的屏幕注释任务在内的独特数据集和任务组合上训练了ScreenAI,该任务要求模型识别屏幕上的用户界面元素信息(即,类型、位置和描述)。这些文本注释为大型语言模型(LLMs)提供了屏幕描述,使它们能够自动生成问答(QA)、用户界面导航和摘要训练数据集。仅在5亿参数的情况下,ScreenAI就在基于用户界面和信息图表的任务(WebSRC和MoTIF)上达到了最先进的结果,并且在与相似大小的模型相比,在Chart QA、DocVQA和InfographicVQA上表现最佳。研究者们还发布了三个新的数据集:Screen Annotation,用于评估模型的布局理解能力,以及ScreenQA Short和Complex ScreenQA,用于更全面地评估其问答能力。

ScreenAI的架构基于PaLI,包含一个多模态编码器块和一个自回归解码器。PaLI编码器使用视觉变换器(ViT)创建图像嵌入,并且多模态编码器将图像和文本嵌入的连接作为输入。这种灵活的架构使ScreenAI能够解决可以重新构想为文本加图像到文本问题的视觉任务。

在PaLI架构之上,研究者们采用了pix2struct中引入的灵活打补丁策略。不使用固定的网格模式,而是选择网格尺寸以保留输入图像的原生宽高比。这使ScreenAI能够很好地适应各种宽高比的图像。

ScreenAI模型在两个阶段进行训练:预训练阶段和微调阶段。首先,自监督学习被应用于自动生成数据标签,然后使用这些标签来训练视觉变换器和语言模型。在微调阶段,视觉变换器被冻结,大多数使用的数据是由人类评估员手动标记的。

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

通过使用PaLM 2增强预训练数据的多样性,研究者们在两步过程中生成输入-输出对。首先,使用上述技术生成屏幕注释,然后他们围绕这个架构为大型语言模型创建一个提示,以生成合成数据。这个过程需要提示工程和迭代细化来找到有效的提示。研究者们通过人类验证对生成数据的质量进行评估,以达到一个质量阈值。

ScreenAI在两个阶段进行训练:预训练和微调。预训练数据标签是通过自监督学习获得的,而微调数据标签来自人类评估员。

You only speak JSON. Do not write text that isn’t JSON.
You are given the following mobile screenshot, described in words. Can you generate 5 questions regarding the content of the screenshot as well as the corresponding short answers to them? 

The answer should be as short as possible, containing only the necessary information. Your answer should be structured as follows:
questions: [
{{question: the question,
    answer: the answer
}},
 ...
]

{THE SCREEN SCHEMA}

研究者们使用公开的问答、摘要和导航数据集对ScreenAI进行微调,并使用与用户界面相关的多种任务。对于问答,他们使用多模态和文档理解领域中建立良好的基准,如ChartQA、DocVQA、多页DocVQA、InfographicVQA、OCR VQA、Web SRC和ScreenQA。对于导航,使用的数据集包括Referring Expressions、MoTIF、Mug和Android in the Wild。最后,他们使用Screen2Words进行屏幕摘要,使用Widget Captioning描述特定用户界面元素。除了微调数据集,研究者们还使用三个新的基准测试来评估微调后的ScreenAI模型:

- Screen Annotation:用于评估模型的布局注释和空间理解能力。
- ScreenQA Short:ScreenQA的一个变体,其真实答案已缩短,仅包含与其他问答任务更一致的相关信息。
- Complex ScreenQA:与ScreenQA Short相辅相成,包含更难的问题(计数、算术、比较和无法回答的问题),并包含具有各种宽高比的屏幕。

微调后的ScreenAI模型在各种基于用户界面和信息图表的任务(WebSRC和MoTIF)上达到了最先进的结果,并且与相似大小的模型相比,在Chart QA、DocVQA和InfographicVQA上表现最佳。ScreenAI在Screen2Words和OCR-VQA上也表现出竞争力。此外,研究者们还报告了在新引入的基准数据集上的结果,作为进一步研究的基线。

研究者们介绍了ScreenAI模型以及一个统一的表示,使他们能够开发利用所有这些领域数据的自监督学习任务。他们还展示了使用大型语言模型进行数据生成的影响,并探讨了通过修改训练混合来提高模型在特定方面的表现。他们将所有这些技术应用于构建多任务训练模型,与公开基准上的最先进方法相比,这些模型表现出竞争力。然而,研究者们也

注意到,尽管他们的方法与公开基准上的最先进方法相比显示出竞争力,但与大型模型相比仍有差距。他们强调,需要进一步的研究来弥合这一差距,并探索新的策略和技术以提升模型性能。

研究者们的工作不仅展示了ScreenAI模型在用户界面和信息图表理解方面的潜力,而且还为未来的研究提供了一个坚实的基础。通过发布新的数据集和展示通过大型语言模型生成数据的能力,他们为解决复杂的人机交互问题开辟了新途径。

此外,ScreenAI模型的开发揭示了跨领域融合的重要性,即将计算机视觉、自然语言处理和人机交互的最新进展结合起来,以解决长期存在的挑战。这种跨学科的方法不仅促进了技术进步,也为研究社区提供了丰富的资源,包括数据集、模型架构和训练策略,这些都是推动未来创新的关键因素。

总之,ScreenAI项目标志着在理解和互动与日益复杂的数字界面方面的重要一步。随着技术的不断进步,期待未来的研究能够继续探索这一领域的潜力,解锁更多的应用场景,从而更好地服务于人类与机器的交互。

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

如若内容造成侵权/违法违规/事实不符,请联系我们进行投诉反馈qq邮箱809451989@qq.com,一经查实,立即删除!

相关文章

二次开发Flink-coGroup算子支持迟到数据通过测输出流提取

1.背景 coGroup算子开窗到时间关闭之后,迟到数据无法通过测输出流提取,intervalJoin算子提供了api,因为join算子底层就是coGroup算子,所以Join算子也不行。 flink版本 v1.17.1 2.coGroup算子源码分析 2.1完成的coGroup算子调用流…

QT(C++)-error LNK2038: 检测到“_ITERATOR_DEBUG_LEVEL”的不匹配项: 值“2”不匹配值“0”

1、项目场景: 在VS中采用QT(C)调试时,出现error LNK2038: 检测到“_ITERATOR_DEBUG_LEVEL”的不匹配项: 值“2”不匹配值“0”错误 2、解决方案: 在“解决方案资源管理器”中选中出现此类BUG的项目,右键-…

jenkins介绍,帮助你从安装到使用jenkins

Jenkins 概述 官网地址:https://www.jenkins.io/zh/ 什么是 Jenkins Jenkins是一款开源 CI&CD 软件,用于自动化各种任务,包括构建、测试和部署软件。它提供了一个易于使用的图形化界面,可以通过配置简单的任务来实现自动化构…

javaSSM游泳馆日常管理系统IDEA开发mysql数据库web结构计算机java编程maven项目

一、源码特点 IDEA开发SSM游泳馆日常管理系统是一套完善的完整企业内部系统,结合SSM框架和bootstrap完成本系统,对理解JSP java编程开发语言有帮助系统采用SSM框架(MVC模式开发)MAVEN方式加载,系统具有完整的源代码和…

Vue 3 里的 onMounted 怎么用?

疑问 最近,一直在学习 Vue 3,此前我不懂前端,也没写过 Vue 2,所以是从 0 开始学习 Vue 3 的。很多对普通人不是疑问的,在我这里也会不太清楚。 我在写项目的时候,常见的一种场景是这样的:页面…

分类预测 | Matlab实现MTF-CNN-Mutilhead-Attention马尔可夫转移场卷积网络多头注意力机制多特征分类预测/故障识别

分类预测 | Matlab实现MTF-CNN-Mutilhead-Attention马尔可夫转移场卷积网络多头注意力机制多特征分类预测/故障识别 目录 分类预测 | Matlab实现MTF-CNN-Mutilhead-Attention马尔可夫转移场卷积网络多头注意力机制多特征分类预测/故障识别分类效果基本介绍模型描述程序设计参考…

基于SSM非遗视域下喀什旅游网站

ssm非遗视域下喀什旅游网站的设计与实现 摘要 我们的生活水平正在不断的提高,然而提高的一个重要的侧面表现就是更加注重我们的娱乐生活。旅行是我们都喜欢的一种娱乐方式,各式各样的旅行经历给我们带来的喜悦也是大不相同的。带来快乐的同时也因为其复…

IntelliJ IDE 插件开发 | (七)PSI 入门及实战(实现 MyBatis 插件的跳转功能)

系列文章 IntelliJ IDE 插件开发 |(一)快速入门IntelliJ IDE 插件开发 |(二)UI 界面与数据持久化IntelliJ IDE 插件开发 |(三)消息通知与事件监听IntelliJ IDE 插件开发 |(四)来查收…

MongoDB高可用架构涉及常用功能整理

MongoDB高可用架构涉及常用功能整理 1. mongo架构和相关组件1.1. Master-Slave主从模式1.2. Replica Set 副本集模式1.3. Sharding 分片模式 2. Sharding 分片模式2.1. Hashed Sharding方式2.2. Range Sharding方式 3. 事务性4. 疑问和思考4.1. 怎么保证数据的高可靠&#xff1…

常用中间件redis,kafka及其测试方法

常用消息中间件及其测试方法 一、中间件的使用场景引入中间件的目的一般有两个:1、提升性能常用的中间件:1) 高速缓存:redis2) 全文检索:ES3) 存日志:ELK架构4) 流量削峰:kafka 2、提升可用性产品架构中高可…

Web前端—浏览器渲染原理

浏览器渲染原理 浏览器渲染原理渲染时间点渲染流水线1. 解析HTML—Parse HTML2. 样式计算—Recalculate Style3. 布局—Layout4. 分层—Layer5. 绘制—Paint6. 分块—Tiling7. 光栅化—Raster8. 画—Draw完整过程 面试题1. 浏览器是如何渲染页面的?2. 什么是 reflow…

linux apt 速度慢 换源

Ubuntu 20.04.1 LTS已推出,一样的为期5年的服务,感觉不错,安装了一个,但是苦于使用默认源在国内下载太慢,就想着把apt源改为国内源,目前国内比较好的源,有阿里源,清华源,豆瓣源等,下面我以阿里源为例,说下如何修改。 也可以在中科大https://mirrors.ustc.edu.cn/查…

使用amd架构的计算机部署其他架构的虚拟机(如:arm)

1 下载quem模拟器 https://qemu.weilnetz.de/w64/2 QEMU UEFI固件文件下载(引导文件) 推荐使用:https://releases.linaro.org/components/kernel/uefi-linaro/latest/release/qemu64/QEMU_EFI.fd3 QEMU 安装 安装完成之后,需要将安装目录添加到环境变…

福昕阅读器 PDF 文档基本操作

福昕阅读器 PDF 文档基本操作 References 转至 PDF 顶部 快捷键:Home. 转至 PDF 顶部 快捷键:End. 打开超链接 文本选择工具 -> 手形工具 (Hand Tool) -> 点击超链接 福昕阅读器 同时在多个窗口中打开多个文件 文件 -> 偏好设置 -> 文…

数据库导入文件或者运行文件的时候报错误 #1046 - No database selected

如果我们在使用数据库导入文件的时候报错误 #1046 - No database selected该怎么解决 那么小编带我们可以从三个角度去观察 1、这种情况一般是因为你在数据库中没有这个数据库,你新建一个你要导入的数据库名字的数据库,然后选中该数据库,再进…

设计模式-初步认识

目录 🛻1.什么是设计模式 🚚2.设计模式的优点 🚍3.设计模式6大原则 🛴4.设计模式类型 1.什么是设计模式 设计模式代表了最佳的实践,通常被有经验的面向对象的软件开发人员所采用。设计模式是软件开发人员在软件开…

如何使用PHP和RabbitMQ实现消息队列?

前言 今天我们来做个小试验,用PHP和RabbitMQ实现消息队列功能。 前期准备,需要安装好docker、docker-compose的运行环境。 如何使用docker部署php服务_php如何使用docker发布-CSDN博客 一、安装RabbitMQ 1、创建相关目录,执行如下命令。…

数据分析与挖掘

数据起源: 规模庞大,结构复杂,难以通过现有商业工具和技术在可容忍的时间内获取、管理和处理的数据集。具有5V特性:数量(Volume):数据量大、多样性(Variety)&#xff1a…

neo4j所有关系只显示RELATION,而不显示具体的关系

当看r时,真正的关系在properties中的type里,而type为“RELATION” 造成这个的原因是: 在创建关系时,需要指定关系的类型,这是固定的,不能像属性那样从CSV文件的一个字段动态赋值。标准的Cypher查询语言不支…

Verilog刷题笔记42

题目:Create 16 D flip-flops. It’s sometimes useful to only modify parts of a group of flip-flops. The byte-enable inputs control whether each byte of the 16 registers should be written to on that cycle. byteena[1] controls the upper byte d[15:8…
最新文章