将视觉语言模型训练为智能手机助手

24年4月Agile Loop和德国弗赖堡大学的论文“Training A Vision Language Model As Smartphone Assistant”。

为了解决能够执行各种用户任务的数字助理挑战,该研究重点是基于指令的移动设备控制域。 用大语言模型 (LLM) 的最新进展,本文提出一种可以在移动设备上完成各种任务的视觉-语言模型 (VLM)。 模型仅通过与用户界面(UI)交互来发挥作用。 它用来自设备屏幕的视觉输入并模仿类人交互,包括点击和滑动等手势。 输入和输出空间的这种通用性允许智体与设备上的任何应用程序进行交互。 与以前的方法不同,该模型不仅在单个屏幕图像上运行,而且在根据过去的屏幕截图序列以及相应动作创建的视觉语言句子上运行。该方法在具有挑战性的 Android in the Wild 基准测试中评估。

作者引入了一种专为 UI 环境设备控制而定制的视觉语言模型 (VLM)(GeminiTeam,2023;OpenAI,2023;Driess,2023)。 VLM 的主要功能是预测完成给定指令所需的后续操作。 其输入包括指令本身以及由屏幕截图和相关操作组成的历史记录,后者以自然语言格式化。
为了适应文本和视觉输入,将两种模式编码到统一的嵌入空间中。 语言模型中的tokens嵌入对文本组件进行编码,而视觉编码器将每个图像转换为低维表示。 可训练的线性投影将这些视觉嵌入与tokens嵌入的维度对齐。 随后,语言模型对这些嵌入的序列进行操作。 该序列从指令的tokens嵌入开始,然后是初始屏幕状态、第一个操作、后续屏幕状态等的嵌入。 这种方法能够将完整的轨迹表示为一系列嵌入序列,从而促进文本和视觉信息的无缝集成。

该方法的可视图解:根据指令、屏幕截图历史记录和动作历史记录为 VLM 创建一系列嵌入向量,这些向量首先被翻译为自然语言,然后被编码为tokens嵌入。 根据视觉编码器的不同,视觉嵌入向量的数量可能会有所不同。

请添加图片描述

对于视觉编码器,用预先训练的 Vision Transformer (ViT) 模型(Dosovitskiy et al., 2020),配置了 3.2 亿个参数,设计用于处理 384 × 384 大小的图像。输入分辨率的选择要确保识别精细细节,例如屏幕上出现的小文本。 使用可学习的投影矩阵将视觉编码器的输出投影到语言模型的tokens嵌入空间中。

对于语言模型,用 LLama-2-7B(Touvron,2023)。 选择仅解码器模型来自动回归文本生成的优先级,符合以文本形式预测动作的要求。 LLama-v2 模型以其在文本生成任务中的特征而闻名,这非常适合该应用程序。 使用 7B 参数版本的决定是出于计算效率的考虑,尽管更大的版本可能会产生更强大的性能。

值得注意的是,与以前的方法不同,该方法包含完整的历史状态,可以更全面地理解上下文并增强控制机制的稳健性。

Qwen-VL(Bai,2023b)的视觉编码器利用 Vision Transformer(ViT)架构,以及来自 Openclip 的 ViT-bigG(Ilharco,2021)的预训练权重。 输入图像的大小调整为 448 × 448 的分辨率,并由视觉编码器处理,将它们分割成步幅14的块,生成图像特征。 为了减少特征序列的长度,Qwen-VL 引入位置-觉察的视觉语言适配器。 该适配器使用随机初始化的单层交叉注意模块进行初始化,使用可训练的查询向量和位置编码来压缩图像特征。 然后将长度固定为 256 的压缩特征序列输入到语言模型中,该模型使用 Qwen-7B 中的预训练权重进行初始化(Bai,2023a)。 该模型总共有 96 亿个参数。

Qwen-VL 已接受过多种视觉语言任务的预训练。 特别是,这包括OCR等任务以及涉及在图像中定位目标的任务。 这两者都有助于理解屏幕的预训练任务,因为这需要理解文本以及定位按钮。

利用 AITW 基准测试提供的动作空间,其中包括四个字段:类型、触摸点、抬起点(手势动作专用)和键入的文本(打字动作专用)。 在此框架内,定义了六种不同的动作类型:双点手势、打字、返回(go back)、回主页(go home)、输入(enter)、任务完成和不可能任务。 双点手势伴随着触摸和抬起参数。 如果触摸和抬起彼此不同,则它可以表示滑动;如果它们足够相似,则可以表示轻击。 触摸和抬起参数均由触摸或抬起屏幕上的 (x, y) 坐标给出。

通过最初声明的动作类型,以及用于区分轻击和滑动的双点手势之附加规范,将这些动作翻译成自然语言。 对于点击操作,包含由空格字符分隔的触摸点坐标,并将坐标离散化为范围从 0 到 99 的 bin。例如,点击操作可能表示为“在 7 90 处点击”。 滑动操作表示为“从 3 44 滑动到 40 48”。 键入操作被描述为“ 输入文本“txt” ”,其中 txt 代表键入操作的键入文本。 返回(go back)、返回主页(go home)、输入(enter) 动作前面有“press”,表示按钮按下动作,例如“press home”。 AITW 中的动作与其自然语言表示之间的详细映射如表所示。

请添加图片描述
在 LLama+ViT 的训练过程中,冻结 LLM 的视觉编码器和tokens嵌入,将训练工作仅集中在语言模型本身和投影矩阵 Wproj 上,其用于将视觉编码器输出映射到语言模型的嵌入大小。 对于 Qwen-VL 模型,冻结除语言模型之外的网络所有部分,因为视觉和视觉投影部分已经过预训练,可以为语言模型生成有用的输入。 为了减少计算和硬件需求,对这两个模型都采用 LoRA(Hu et al., 2021)。

训练数据集包括演示,以及通过下一个token预测和屏蔽自注意训练的完整模型。 这种方法反映传统的 LLM 对特定域数据集的微调,但在损失计算期间,忽略与指令和图像嵌入相对应的预测。 因此,LLM 经过训练,可以根据提供的指令以及迄今为止的操作历史记录和屏幕截图,准确预测与正确操作相对应的token。 通过这种方式,模型可以在包括指令的完整轨迹上进行训练,就像在完整的句子上进行训练一样。

评估结果如下表所示,部分匹配得分对所有分组以及每个分组分别进行平均。 *请注意,由于正文中解释的动作表示不同,因此 Auto-UI 的结果不能直接与该方法进行比较。仍然包含这些结果以供参考。

请添加图片描述

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

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

相关文章

免费思维13招之十:增值型思维

免费思维13招之十:增值型思维 免费思维的另一大战略思维——增值型思维。 为了提高客户的粘性而促进重复性消费,我们必须对客户进行免费的增值型服务。 大家不要把增值型思维与赠品型思维混淆,增值型思维重心在于提高与消费者的粘性而促进重复消费,重心在后端。而赠品型思…

2024最新独立版校园跑腿校园社区小程序源码+附教程 适合跑腿,外卖,表白,二手,快递等校园服务

内容目录 一、详细介绍二、效果展示1.部分代码2.效果图展示 三、学习资料下载 一、详细介绍 后台php,前端uniapp可以二次开 2024最新独立版校园跑腿校园社区小程序源码附教程 测试环境:NginxPHP7.2MySQL5.6 多校版本,多模块,适…

设计模式-11 - Bridge Method 桥接模式

设计模式-11 - Bridge Method 桥接模式 1.定义 桥接模式是一种设计模式,它将抽象部分与其实现部分分离,使它们可以独立变化。它允许你改变抽象部分和实现部分的实现,而无需更改它们的接口。 结构: 桥接模式涉及四个主要角色&…

从iconfont引入线上字体库

如果是长期使用建议直接下载字体包 /* 在线链接服务仅供平台体验和调试使用,平台不承诺服务的稳定性,企业客户需下载字体包自行发布使用并做好备份。 */ 例如使用阿里妈妈数黑体 https://www.iconfont.cn/fonts/detail?spma313x.fonts_index.i1.d9df…

手动加载PE文件

今天手撸一下加载PE文件,并执行加载的PE文件。看完这一节之后相信大家会对PE文件的结构和在内存中的加载顺序有一个比较深刻的理解。 本文中可能对PE文件的基础知识介绍的不是很详细,建议大家先看看PE文件的基础结构,了解了这些基础知识后再看…

数据库面试总结

数据库相关 mysql使用的函数 字符相关: concant() 连接字符 trim()去除字符的首尾空格 space(n) 返回n个空格 char_length() 返回字符的个数 ucase()/upper()将字符串 s 的所有字母变成大写字母 lcase()/lower() 将字符串 s 的所有字母变成小写字母 substr/substring/mid(s, …

第十五章 数据管理成熟度评估练习

单选题 (每题1分,共19道题) 1、 [单选] 下列选项中属于数据管理成熟度2级特征的选项是? A:很少或没有治理;有限的工具集;单个竖井(系统)内定义角色;控件(如果有的话的应用完全不一致);未解决的数据质量问题 B:治理开始出现;引入一致的工具集;定义了一些角色和…

杂记-记一次前端打包问题解决过程

背景 若干年没更新发布的前端项目,突然来了个小需求,需求完成耗时5min,打包问题解决2小时 问题 error commander12.0.0: The engine “node” is incompatible with this module. Expected version “>18”. Got “10.22.1” 这个错误…

卷积神经网络边缘识别

为什卷积神经网络能够识别图片呢?是基于图片相似度比较,两张图片的点击越大说明两张图片越像,比如我们那狗胡子的图片去比较,如果相似度很高,就是认为这个动物更像狗。点积越大,图片越相似,这个…

vivado Virtex UltraScale 配置存储器器件

Virtex UltraScale 配置存储器器件 下表所示闪存器件支持通过 Vivado 软件对 Virtex UltraScale ™ 器件执行擦除、空白检查、编程和验证等配置操作。 本附录中的表格所列赛灵思系列非易失性存储器将不断保持更新 , 并支持通过 Vivado 软件对其中所列非易失…

基于 LlaMA 3 + LangGraph 在windows本地部署大模型 (六)

LlaMA 3 系列博客 基于 LlaMA 3 + LangGraph 在windows本地部署大模型 (一) 基于 LlaMA 3 + LangGraph 在windows本地部署大模型 (二) 基于 LlaMA 3 + LangGraph 在windows本地部署大模型 (三) 基于 LlaMA 3 + LangGraph 在windows本地部署大模型 (四) 基于 LlaMA…

第三课,python基础语法(二),基本算术运算符、3种数据类型、变量命名规则

一,基本算术运算 数学中:,-,, *小练习 请在程序中,定义如下变量: 钱包余额(变量名:money),初始余额50 请通过程序计算,再购买了: 冰淇淋10元可…

微信小程序、uniapp密码小眼睛

直接上代码喔喔喔喔喔喔喔喔~~ <input name"username" password"{{passwordHideShow}}" placeholder-style"color:#bdbdbd" type"text"maxlength"20" value"{{passwordNumber}}" bindinput"passwordInput…

荷香堪筑梦,鸳鸯和月寻。(变相BFS搜索)

本题链接&#xff1a;登录—专业IT笔试面试备考平台_牛客网 题目&#xff1a; 样例&#xff1a; 输入 3 4 2 .... ***. ..a. 输出 yes 思路&#xff1a; 根据题意&#xff0c;这里 1 s 可以移动多次&#xff0c;我们将每次可以移动避开雪的的位置存储起来&#xff0c;判断当…

randperm函数打乱索引的用法

randperm&#xff0c;用于生成一个随机排列。这个函数可以被用于许多需要随机排列的情况&#xff0c;如数据集的划分、模型的训练等等。通过randperm函数&#xff0c;你可以得到一个随机的、不重复的排列。 下面是randperm函数的一些用法示例&#xff1a; 1. 生成一个长度为n…

地埋式可燃气体监测终端,地下燃气管网安全“哨兵”

在现代都市的繁华之下&#xff0c;一条条地下燃气管网承载着城市的生命与活力&#xff0c;但管网老化腐蚀&#xff0c;第三方施工破坏&#xff0c;巡检维修不到位等问题&#xff0c;时刻影响着燃气管网安全运行&#xff0c;甚至威胁人民群众的生命财产安全。 为实现对燃气管网…

实现一个拆分实数的整数和小数部分的函数指针

#include <stdio.h> // 定义常量 #define LARGE_NUMBER 1000000000 // 定义一个常量&#xff0c;方便后续使用 void splitFloatIntoParts(float x, int *intpart, float *fracpart); // 声明一个分割浮点数为整数和小数部分的函数 int main() // 主函数开始 { …

轻松寄快递,推荐一款寄快递优惠的小程序!

不管我们经不经常寄快递&#xff0c;我们总是要处理寄快递收快递的事情&#xff0c;可是我们不想这么麻烦来处理寄快递的事情&#xff0c;怎么办呢&#xff1f;这里推荐大家使用闪侠惠递来寄快递&#xff0c;因为使用闪侠惠递寄快递&#xff0c;不仅是带给你便宜的寄快递价格&a…

linux进阶高级配置,你需要知道的有哪些(10)-远程访问

1、ssh协议的功能 为客户机提供安全的shell环境&#xff08;字符界面&#xff09;&#xff0c;用于远程管理 2、openssh的服务说明 服务名&#xff1a;sshd 重启服务&#xff1a;systemctl restart sshd 主配置文件&#xff1a;/etc/ssh/sshd/_config 端口号&#xff1a;tcp 2…

代码随想录第五十一天|最长递增子序列、最长连续递增序列、最长重复子数组

题目链接&#xff1a;. - 力扣&#xff08;LeetCode&#xff09; 题目链接&#xff1a;. - 力扣&#xff08;LeetCode&#xff09; 题目链接&#xff1a;. - 力扣&#xff08;LeetCode&#xff09;