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.mzph.cn/news/768203.shtml

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

相关文章

华为od真题2023-C卷-三叉搜索树

题目描述: 定义构造三叉搜索树规则如下: 每个节点都存有一个数,当插入一个新的数时,从根节点向下寻找,直到找到一个合适的空节点插入。查找的规则是: 1.如果数小于节点的数减去500,则将数插入节点的左子树2.如果数大于…

政安晨:【深度学习部署】—— TensorFlow Extended(TFX)介绍

政安晨的个人主页:政安晨 欢迎 👍点赞✍评论⭐收藏 收录专栏: TensorFlow与Keras实战演绎机器学习 希望政安晨的博客能够对您有所裨益,如有不足之处,欢迎在评论区提出指正! 前言 TensorFlow Extended(TFX&a…

深入了解Redis的过期策略和内存淘汰机制

✨✨谢谢大家捧场,祝屏幕前的小伙伴们每天都有好运相伴左右,一定要天天开心哦!✨✨ 🎈🎈作者主页: 喔的嘛呀🎈🎈 ✨✨ 帅哥美女们,我们共同加油!一起进步&am…

语言模型的原理、实战与评估

语言模型的原理、实战与评估是一个宽泛的话题,下面是对这三个方面简要概述: 语言模型的原理 语言模型(Language Model, LM)是一种统计模型,用于估计一段文本序列的概率分布。它的核心任务是给定一系列词语,计算出这些词语组合成一个完整句子或段落的概率。典型的语言模型…

mysql基础2多表查询

多表查询 多表关系: 一对多 案例: 部门 与 员工的关系 关系: 一个部门对应多个员工,一个员工对应一个部门 实现: 在多的一方建立外键,指向一的一方的主键 多对多 案例: 学生 与 课程的关系 关系: 一个学生可以选修多门课程,一门课程也可以…

MySQL基础复习

目录 一、简单的命令 二、SQL语句分类 三、简单查询 四、条件查询 五、排序 一、简单的命令 net start 服务名称 net stop 服务名称 mysql -uroot -p123456 显示密码形式 mysql -uroot -p 隐藏密码形式 exit 退出 show databases; 查看MySQL中的数据库有哪些 use test…

RuleApp资源社区,知识付费社区,可对接typecho的小程序APP

强大的文章/社区/自媒体客户端,支持打包为安卓,苹果,小程序。包括文章模块,用户模块,支付模块,聊天模块,商城模块等基础功能,包含VIP会员,付费阅读等收费体系&#xff0c…

AttributeError: ‘_MSDataLoaderIter‘ object has no attribute ‘_put_indices‘

问题描述 复现代码过程中遇到错误:AttributeError: _MSDataLoaderIter object has no attribute _put_indices 解决方案 出错的原因是代码中使用了不存在的属性"_put_indices"。这个错误可能与你使用的版本不兼容有关。在pytorch1.x版本中,&q…

c语言函数大全(I开头)

c语言函数大全(I开头) There is no nutrition in the blog content. After reading it, you will not only suffer from malnutrition, but also impotence. The blog content is all parallel goods. Those who are worried about being cheated should leave quickly. 函数名…

【生产力】Mac 窗口布局工具 Magnet

Magnet 是一款为Mac操作系统设计的实用工具,旨在帮助用户更加方便地管理和组织他们的窗口布局。通过使用Magnet,用户可以轻松地将应用程序窗口拖放到屏幕的各个部分,从而实现窗口的自动排列和大小调整。这款工具特别适合需要同时处理多个应用…

Django Ajax

【一】Json 【1】介绍 JSON(javascript object otaition)是一种轻量级的数据交换格式JSON使用了Javascript的一部分语法来定义其数据格式,但Json是独立于语言的Json采用完全独立于语言的文本格式,使得Json成为理想的数据交互语言…

OD_2024_C卷_100分_72、求最多可以派出多少支团队【JAVA】【双指针】

题目描述 用数组代表每个人的能力,一个比赛活动要求参赛团队的最低能力值为N,每个团队可以由1人或者2人组成,且1个人只能参加1个团队,计算出最多可以派出多少只符合要求的团队。 输入描述 第一行代表总人数,范围1-5…

react native 键盘事件

在做修改密码功能是发现他的键盘第一次调起之后然后收起键盘焦点不会消失而且键盘也不会再调起来了 我门线引入需要的组件 import { StyleSheet, View, TextInput, Keyboard, TouchableWithoutFeedback, } from react-native; import React, {useEffect, useState, useRef} fr…

计算机网络原理之四种攻击

目录 一、ARP攻击 二、DNS劫持攻击 三、DOS攻击 四、DDOS攻击 一、ARP攻击 概念: ARP协议的基本功能就是通过目标设备的IP地址,在局域网发送广播包,查询目标设备的MAC地址以保证通信的进行。 原理: 基于ARP协议的这一工作特性&…

[Halcon学习笔记]在Qt上实现Halcon窗口的字体设置颜色设置等功能

1、 Halcon字体大小设置在Qt上的实现 在之前介绍过Halcon窗口显示文字字体的尺寸和样式,具体详细介绍可回看 (一)Halcon窗口界面上显示文字的字体尺寸、样式修改 当时介绍的设定方法 //Win下QString Font_win "-Arial-10-*-1-*-*-1-&q…

MySQL学习笔记------SQL(2)

ziduanSQL DML 全称为:Data Manipulation Language,用来对数据库中表的数据记录进行增删改操作 插入数据 添加数据(INSERT) 给指定字段添加数据:INSERT INTO 表名(字段名1,字段名2,......…

【PyQt】19-数据操作

数据表 前言一、显示二维表数据(QTableView控件)扩展知识---MVC模式1.1 代码1.2 运行结果 二、显示列数据(QListView控件)2.1 代码2.2 运行结果2.3 扩展---列表控件(QListWidget)运行结果 总结 前言 一、显…

STM32使用滴答定时器实现delayms

在STM32上使用SysTick实现jiffies(时间戳)并且实现delay_ms 代码实现: volatile uint32_t jiffies 0; // 用于记录系统运行的jiffies数 void SysTick_Handler(void) {/* 每次SysTick中断,jiffies增加 */jiffies; }uint32_t tick…

网络安全新前沿:利用大模型进行复杂威胁检测与响应

1. 背景介绍# 网络安全新前沿:利用大模型进行复杂威胁检测与响应 1. 背景介绍 随着互联网的普及和信息技术的飞速发展,网络安全问题日益突出。传统的网络安全防御手段,如防火墙、入侵检测系统(IDS)和防病毒软件&…

Python Flask 使用数据库

pip install flask_sqlalchemy 官方文档: Flask-SQLAlchemy — Flask-SQLAlchemy Documentation (3.1.x) 为了不报错 也 需要导入另外两个库 # pip install flask_sqlalchemy # pip install mysqlclient 完整代码 import osfrom flask import Flask from flask_…