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

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

这篇关于Google ScreenAI代表了一款先进的视觉语言模型,专为用户界面(UI)和视觉情境下的语言理解而设计的文章就介绍到这儿,希望我们推荐的文章对编程师们有所帮助!



http://www.chinasem.cn/article/844002

相关文章

深入理解Apache Kafka(分布式流处理平台)

《深入理解ApacheKafka(分布式流处理平台)》ApacheKafka作为现代分布式系统中的核心中间件,为构建高吞吐量、低延迟的数据管道提供了强大支持,本文将深入探讨Kafka的核心概念、架构... 目录引言一、Apache Kafka概述1.1 什么是Kafka?1.2 Kafka的核心概念二、Ka

Go 语言中的select语句详解及工作原理

《Go语言中的select语句详解及工作原理》在Go语言中,select语句是用于处理多个通道(channel)操作的一种控制结构,它类似于switch语句,本文给大家介绍Go语言中的select语... 目录Go 语言中的 select 是做什么的基本功能语法工作原理示例示例 1:监听多个通道示例 2:带

C语言函数递归实际应用举例详解

《C语言函数递归实际应用举例详解》程序调用自身的编程技巧称为递归,递归做为一种算法在程序设计语言中广泛应用,:本文主要介绍C语言函数递归实际应用举例的相关资料,文中通过代码介绍的非常详细,需要的朋... 目录前言一、递归的概念与思想二、递归的限制条件 三、递归的实际应用举例(一)求 n 的阶乘(二)顺序打印

Spring Security基于数据库的ABAC属性权限模型实战开发教程

《SpringSecurity基于数据库的ABAC属性权限模型实战开发教程》:本文主要介绍SpringSecurity基于数据库的ABAC属性权限模型实战开发教程,本文给大家介绍的非常详细,对大... 目录1. 前言2. 权限决策依据RBACABAC综合对比3. 数据库表结构说明4. 实战开始5. MyBA

Java的IO模型、Netty原理解析

《Java的IO模型、Netty原理解析》Java的I/O是以流的方式进行数据输入输出的,Java的类库涉及很多领域的IO内容:标准的输入输出,文件的操作、网络上的数据传输流、字符串流、对象流等,这篇... 目录1.什么是IO2.同步与异步、阻塞与非阻塞3.三种IO模型BIO(blocking I/O)NI

基于Flask框架添加多个AI模型的API并进行交互

《基于Flask框架添加多个AI模型的API并进行交互》:本文主要介绍如何基于Flask框架开发AI模型API管理系统,允许用户添加、删除不同AI模型的API密钥,感兴趣的可以了解下... 目录1. 概述2. 后端代码说明2.1 依赖库导入2.2 应用初始化2.3 API 存储字典2.4 路由函数2.5 应

C语言中的数据类型强制转换

《C语言中的数据类型强制转换》:本文主要介绍C语言中的数据类型强制转换方式,具有很好的参考价值,希望对大家有所帮助,如有错误或未考虑完全的地方,望不吝赐教... 目录C语言数据类型强制转换自动转换强制转换类型总结C语言数据类型强制转换强制类型转换:是通过类型转换运算来实现的,主要的数据类型转换分为自动转换

利用Go语言开发文件操作工具轻松处理所有文件

《利用Go语言开发文件操作工具轻松处理所有文件》在后端开发中,文件操作是一个非常常见但又容易出错的场景,本文小编要向大家介绍一个强大的Go语言文件操作工具库,它能帮你轻松处理各种文件操作场景... 目录为什么需要这个工具?核心功能详解1. 文件/目录存javascript在性检查2. 批量创建目录3. 文件

C语言实现两个变量值交换的三种方式

《C语言实现两个变量值交换的三种方式》两个变量值的交换是编程中最常见的问题之一,以下将介绍三种变量的交换方式,其中第一种方式是最常用也是最实用的,后两种方式一般只在特殊限制下使用,需要的朋友可以参考下... 目录1.使用临时变量(推荐)2.相加和相减的方式(值较大时可能丢失数据)3.按位异或运算1.使用临时

使用C语言实现交换整数的奇数位和偶数位

《使用C语言实现交换整数的奇数位和偶数位》在C语言中,要交换一个整数的二进制位中的奇数位和偶数位,重点需要理解位操作,当我们谈论二进制位的奇数位和偶数位时,我们是指从右到左数的位置,本文给大家介绍了使... 目录一、问题描述二、解决思路三、函数实现四、宏实现五、总结一、问题描述使用C语言代码实现:将一个整