- 博客(229)
- 资源 (5)
- 收藏
- 关注
原创 Explorer: Scaling Exploration-driven Web Trajectory Synthesis forMultimodal Web Agents论文学习
这篇文章轨迹数量也是10万这个级别的,一条轨迹成本是0.28美元.它这个探索过程和任务描述生成很有意思,二者是同步进行的。看一下主页,生成一个第一步任务(这个任务也是high level的,只是不具体),然后执行第一部动作,来到第二个界面,进一步具体化该动作。这个流程就象是人在随便逛这个网站,看到一个想要的东西,点进去,然后逐渐确定自己需求的过程一样。麻了,看下别人的论文,瞬间发现自己啥也不是。其它的就没什么好说的了。最后也有一个verification,这个判断比较简单,不如上一篇trek的方法。
2025-03-27 17:50:22
199
原创 AG E N TTR E K: AGENT TRAJECTORY SYNTHESISVIA GUIDING REPLAY WITH WEB TUTORIALS论文学习
我感觉我的pipline里面最novelty的就是后处理的部分,其它的部分和他们相比感觉没什么。还有,基本上所有用到了模型的环节,作者都做了模型和人为评估的误差分析,非常严谨。本篇工作也是自动化生成轨迹数据的工作,但很有意思的是其采用的是使用爬虫爬取网络上的各种教程,然后把这些教程转化为具有逐步指令的结构化任务。总结一下,本文最大的特色在于获取任务描述的方式。充分利用了网上的教程,既让agent的探索更顺畅,又可以让最后的数据集更加充分。包括了逐步分析,甚至包括了适用情况下的最早的故障点。
2025-03-27 16:43:13
241
原创 OS-Genesis: Automating GUI Agent Trajectory Construction viaReverse Task Synthesis论文学习
自动化产生轨迹数据的方法!可恶啊,我还以为我的工作可以成为第一个自动化产生轨迹的方法呢。不过它的思路和我的不一样,它用的是我最开始的时候尝试过的思路,但是因为轨迹数据质量太差被我放弃了。这个论文貌似是设计了一个奖励函数,可以判定一个轨迹数据是否高质量,从而筛选出合适的轨迹。•通过从任务驱动的方法转向交互驱动的GUI代理数据构建,我们引入了反向任务合成来提高轨迹质量和多样性。•我们提出了一种新的管道,OS Genesis,能够有效地合成高质量的轨迹数据。无需人工监督,OS Genesis支持跨环境
2025-01-06 11:09:03
443
原创 WEBRL: TRAINING LLM WEB AGENTS VIA SELFEVOLVING ONLINE CURRICULUM REINFORCEMENTLEARNING论文学习
这段文字主要讲述了如何使用广义优势估计(GAE)来估计优势函数,并且提出了如何训练价值网络的技巧(通过交叉熵损失)。此外,作者还介绍了如何通过经验重放缓冲区和演员信心过滤来防止模型遗忘过去的经验,同时避免过于熟悉或过于困难的数据影响训练。这里解释一下,优势函数是一个动作-价值(Q函数)与状态-价值(V函数)之间的差异。具体地,优势函数通过对比某个动作的实际回报与期望回报,帮助代理判断在该状态下哪个动作更值得采取。注意,在我们的这种问题中,我们是没有中间奖励的!因此优势函数就要充当中间奖励的角色。
2024-12-06 22:54:30
872
原创 ANDROIDWORLD: A Dynamic Benchmarking Environment for Autonomous Agents论文学习
与现有的测试环境不同(miniwob++[48]是一个明显的例外),ANDROIDWORLD中的每个任务都是使用随机生成的参数动态实例化的,具有数百万个独特任务目标和条件的代理。“我们改编了一个流行的桌面web代理来在Android上工作,我们发现它在移动设备上的效率较低,这表明未来的研究需要实现通用的,跨平台的代理。这种训练环境的优点就是动态,与静态的数据集(比如说我自己的工作)不同,因此可以在更大更真实的任务上训练。可以看到这篇工作的核心就是“评估”,如何去评估代理在实际工作中的表现。
2024-11-10 20:30:12
947
原创 Enabling Cost-Effective UI Automation Testing withRetrieval-Based LLMs: A Case Study in WeChat论文学习
论文提出了CAT,一种使用LLM引导的UI空间探索。“给定任务描述,CAT采用检索增强生成(RAG)来获取工业应用程序使用的示例作为少数镜头学习上下文,帮助LLM生成特定的动作序列。然后,CAT采用机器学习技术,LLM作为补充优化器,将目标元素映射到UI屏幕上。我们对微信测试数据集的评估证明了CAT的性能和成本效益,以0.34美元的成本实现了90%的UI自动化,超过了最先进的水平。我们还将我们的方法集成到现实世界的微信测试平台中,证明了它在检测141个错误和增强开发人员测试过程方面的有用性。
2024-10-30 23:24:56
968
原创 AndroidEnv: A Reinforcement LearningPlatform for Android 论文学习
在发布时,这包括大约30个不同应用程序中的100多个任务,从目标明确的基本任务到需要长期推理的更复杂的任务。所选内容包括时间敏感任务(如接球)、基于物理的环境(如向量球)、谜题(如经典2048)、纸牌游戏(如简单石)、空间推理(如完美)、UI导航(如时钟定时器)、策略游戏(如机器人鱼)等。•事件重置时触发的事件:例如,启动给定的应用程序、清除缓存或将屏幕固定到单个应用程序(从而将代理的交互限制在该应用程序上)。作者提出了一个用于强化学习的,基于安卓系统的开源环境,里面啥任务都有。如何定义这个任务呢?
2024-10-29 20:37:09
354
原创 高级算法设计与分析 学习笔记15 NP完全问题
问题复杂性概述 我们在面对一个问题时,首先需要考虑两个问题:计算复杂性衡量的是一个算法在解决问题时所需的资源(如时间或空间)。如果一个问题可以用多项式时间(polynomial time)解决,我们通常认为它是“简单”的,也就是说,计算机能够在合理的时间内解决该问题。P 问题与 NP 问题P = NP 问题 目前还没有确定 P 问题和 NP 问题是否是同一类问题(即 P 是否等于 NP)。如果能证明 P = NP,那么很多目前被认为非常复杂的问题都可以在多项式时间内解决,这将带来巨大的科技变革,比如在运筹优
2024-10-22 17:45:57
1048
原创 Agent Q: Advanced Reasoning and Learningfor Autonomous AI Agents论文学习(与DPO强化学习笔记)
相应的,我们也就可以得到策略函数。可以看到强化学习和深度学习区别还是很大的,没有那些熟悉的东西,成堆的参数,有的只是Q,也就是记录着价值的这个函数,这个函数其实就是决定了系统下一步采用某个动作的概率。上下是两种不同的方法,上面这种使用了实际上最后的价值与预期的估计的差值来计算,而下面这种方法使用的是实际上t步的价值与接下来的估计减去之前估计的价值来得到误差,用来更新新的预期估计。在修改Q的时候,很显然离最后那一步近的与结果关系大,离得远的关系小,那么Q的修改幅度也是一样,离的近的修改多,离得远的修改少。
2024-10-20 23:00:01
684
原创 高级算法设计与分析 学习笔记14 FFT
这里的 n 是一个正整数,表示单位根的阶数。换句话说,单位根是一个复数,当它被提升到 n 次幂时,结果为1。单位根在复平面上的单位圆上均匀分布。可以看到两个n°的多项式,我们直接乘,每种组合都要试一遍,就会要是n^2遍。我们直接乘,时间复杂度是n^2。使用FFT则可以变成nlgn。记录下n个点,想要原版形式的话就解矩阵方程吧。不过这种表示法太奇怪了,能不能来经典形式的?首先多项式可以通过这种方法来表示。本章我们研究多项式乘法。
2024-10-17 17:45:57
314
原创 高级算法设计与分析 学习笔记13 线性规划
原来的x2正负无所谓,但我希望每个x都是有限制的,所以把它改成x2'-x2''改造之后就成了这样,全都是不等式约束,每个变量都有约束,目标函数要求最大化。等式变成两个不等式。两个都要满足,相当于是等式(奇怪的仪式感)先改成统一最大化(凸优化那边怎么是统一最小化?注意是线性规划不是动态规划哦。好家伙,这不是凸优化吗?
2024-10-15 17:46:16
386
原创 MobileViews: A Large-Scale Mobile GUI Dataset论文学习
为了提高应用程序遍历效率,我们引入了MobileViews Crawler,它使用固定的交互规则来处理繁琐的应用程序操作,LLM增强了其处理复杂UI状态的能力。当出现人为预定义的触发器时,例如复杂的登录屏幕和固定交互规则无法处理的屏幕空闲,LLM用于理解当前的UI状态并执行绕过这些屏幕的操作。在这一部分引入了LLM。这篇工作提出的数据集一大特点就是图像重复度低,因为每个app的图像不多,但是参考了很多个不同的app。文章反复强调自己的数据集包括了UI结构信息(就是上图中的VH)而知名数据集AITW没有。
2024-10-13 23:02:41
746
原创 高级算法设计与分析 学习笔记12 贪心算法
当然开始之前先要把所有时间按照结束时间排个序(nlgn就行)这样比较方便。直觉上讲,每次都选最先结束的可以留下最多的资源。现在,我们要把这个解决办法转换成一个贪心算法。s代表开始时间,f代表结束时间。可以看到这是一个动态规划的算法。那么贪心算法究竟是什么结构呢?
2024-10-10 17:42:55
476
原创 MobileVLM: A Vision-Language Model for Better Intra- and Inter-UIUnderstanding论文学习
为了解决这些问题,如图1所示,我们提出了两个额外的移动预训练阶段和四个特定的移动任务,以增强UI内部和UI之间的理解。而且这些任务普遍关注单图,忽略多图之间的联系。而且很多UI数据集都是用链状的结构组织数据的,(比如说AITW,一条一条序列相互独立)真正用来表示UI之间关系的图的应该是网状的。模型训练的预训练则分为两个阶段:单UI与多UI,单UI就是理解单张图里面的UI,分辨有哪些,在哪里,能否点击,滑动等。•我们定义了两个额外的预训练阶段和四个基于UI的预训练任务,涵盖了UI内部和UI之间的理解。
2024-10-06 02:03:17
387
原创 高级算法设计与分析 学习笔记10 平摊分析
可以轻易证明把n个数字放进去的时间复杂度是O(n),n + n/2 + n/4……也就2n,插入数字本身也就是n,加起来最多不超过3n.这种复杂度究竟是怎么算的?毕竟每次插入复杂度不一样,怎么算平均呢?问题:这些什么存款,势能的,一次多少究竟是怎么算出来的?答曰:先用最开始的方法算出来总体的复杂度,然后凑。使用势能法分析之前的动态表,怎么说?一溢出就另起一个两倍大小的表。把存款当成当前集合的势能。首尾相连很多都被抵掉了。势能和存款就是一个意思。
2024-09-29 17:44:02
336
原创 组合优化与凸优化 学习笔记5 对偶拉格朗日函数
记得之前凸函数的时候的结论吗?一大堆函数,每一段都取最大的,最后会得到一个凸函数。同理,每一段都取最小的,得到的是一个凹函数。就这样,我们强行把问题变成了一个凹函数,就算原本的f(x)既不凸也不凹。拉格朗日函数是原本问题的下界,现在我们要求这个函数最大是多少,这样就可以尽量靠近原始函数了。可以看到之前的对偶函数是最优值的下界,毕竟加了一大堆0或者比0还小的东西。其实就是和高数里面求给定条件的极大极小值用的方法,一模一样。有的时候约束条件有点难搞,我们可以把它放到目标函数里面。但显然这个条件不总是成立。
2024-09-29 09:45:02
399
1
原创 高级算法设计与分析 学习笔记9 跳表
这条“快速路”最好是几个节点呢?负无穷用来解决一些表头之类的问题。1/2概率往上差一个快捷传送点。假如我们弄好多层跳表呢?
2024-09-26 17:45:53
312
原创 SeeClick: Harnessing GUI Grounding for Advanced Visual GUI Agents论文学习
Web UI具有跨网站的各种布局和设计风格,是训练LVLM在不同GUI上下文中的一般识别和基础能力的理想选择。至于项目中构建的数据集ScreenSpot,作者是网络爬取了web数据,从开源数据集中充足了一部分手机的轨迹数据,还照搬了一部分开源数据(LLAVA的常规数据)。我们的主要贡献如下:•我们开发了一个统一的可视化GUI代理SeeClick,它仅依靠界面截图在不同的GUI平台上执行点击和打字操作。模型训练方面,文章的基础模型是Qwen-VL,在上面的数据集训练了1个epoch,用了LoRA。
2024-09-24 21:27:37
555
3
原创 高级算法设计与分析 学习笔记7 数据结构扩充
如果自己是父节点的右孩子,那就加上父节点左孩子的值加上1(左兄弟和父节点都比自己小,所以排名上升了),然后继续向上看。如果自己只是左子树,那就梁木了,父节点和右兄弟都比自己大,没得比,直接去看再上一级吧。总之自己的排名都是左边的兄弟父老(还有开局的孩子)提供的。往左走,给的那个数字就是排名,但是往右边走的话,那就的先加上当前的排名(也就是r)才是真实的排名。右子树的标记数字不用变,也可以用老办法(左子树+1)求出在新树中的排名,只是我们要找的数排名下降了而已。就改几个节点,下面的不用动。
2024-09-24 17:37:56
368
原创 WINDOWS AGENTARENA:EVALUATING MULTI-MODAL OS AGENTS AT SCALE论文学习
文章开头说现有的agent都是局限于特定领域(什么网络问答啊,仅限文字啊,仅限于某一个app啊)这样的,本文的工作主打一个贴近用户使用场景,用户用什么软件,看什么网页,本文的模型就用什么软件,看什么网页,只要是能在windows系统上用的东西本agent都能用,泛用性更强。(常规操作,没啥新颖的)本文使用了OSworld的架构(OSworld论文之前讲过了)。除了数据集以外本文还提出了一个叫Navi的模型。文章提到现在的benchmark测试一般在虚拟机上进行,这样是比较慢的。文章提出可以提高任务并行化。
2024-09-18 22:40:19
372
原创 adb devices不显示连接设备怎么解决
我的设备是honor100pro,很有可能是魔改安卓系统的缘故,和adb不兼容了。假如遇到这种问题,那就不要想从传统方式解决了。正确做法是直接放弃链接实体设备,直接用android studio模拟。假如是显示adb这个命令不认识,那就是系统路径问题。但是我遇到了更奇怪的问题:我把网上的攻略都试了一遍,设备驱动也重新打了,都没有。假如你也遇到这个问题,很有可能和我一样,是手机的锅。捏妈妈的,为啥那些攻略都不提可以直接用android studio代替呢,连手机问题那么多。
2024-09-12 19:10:40
1183
1
原创 高级算法设计与分析 学习笔记5 红黑树
首先看各个节点的平衡值,从根节点开始算,哪个最后超过1就是从这里开始转。往下看2个,这三个点就是旋转的主角,怎么转就看这三个节点的关系。根节点必黑,红节点孩子必黑,叶子节点(外部节点,null的那种)也是黑,每条路的黑节点数量一致。
2024-09-12 17:44:12
297
原创 AutoDroid: LLM-powered Task Automation inAndroid论文学习
这里的最大特点是加上了UI领域知识,可以大幅增强LLM在处理UI方面的知识的能力。根据文章的说法,使用了这招他们的LLM可以吊打GPT4V,准确率高2倍。光看题目怎么和上一篇差不多?
2024-09-11 21:27:36
506
原创 DroidBot-GPT: GPT-powered UI Automation for Android论文学习
但是,这篇文章的工作也会被无文字描述的UI元素,模糊的UI关系和动作等东西gank。个人认为这归根结底是因为它没有直接使用截图,还是以纯文本的形式在描述UI,这样会损失大量信息,有很多东西干脆就表示不了,以后不可能使用这种方法了。给定一个图形用户界面,我们首先提取所有用户可见的元素并检查它们的属性。因此,提示由任务、具有它们提供的动作选项的GUI元素、动作历史以及输出应该是单选还是要键入的句子的要求组成。然后,我们将所有元素与前面的文本“当前状态具有以下UI视图和相应的操作,操作id在括号中”相结合。
2024-09-11 19:53:18
754
原创 DroidBot: A Lightweight UI-Guided Test InputGenerator for Android论文学习
DroidBot就是之前用过的那个自动截图程序。那我很熟悉了,快速读完这篇论文。brain默认使用深度优先探索,当然用户也可以使用自己的方法。可以看到它会分辨当前页面,以页面作为状态,点击等动作作为事件。这玩意支持各种输入(点击,滑动,输入文本)
2024-09-11 15:23:07
416
原创 矩阵分析 学习笔记3 多项式矩阵 jordan标准型
多项式矩阵的秩和带一个类目大进去变成普通矩阵的秩不是一回事哦,毕竟类目大可以取到一个特定的值使行列式的值为0,刚好凑到0,秩就变小了。假如这个多项式矩阵是可逆的,那么它的行列式肯定是一个固定的值,还不能是0!就是说这个矩阵里面的各个元素都是多项式,多项式的主角是类目大(自变量)。0多项式就是完全0的那种,就一个0,类目大都没有了。单位模阵就是可逆多项式矩阵。多项式矩阵的秩是啥呢?
2024-09-11 11:45:55
1412
原创 高级算法设计与分析 学习笔记4 二叉查找树
后继就是在这棵树中刚好比这个点大一位的节点。如果它有右子树就好办。没有的话,我们就要找让这个节点作为其左子树一部分的第一个节点。比如说13,它没有右子树,而且往上追溯一直都是右子树(都是比它小的)等到头一回发现是左子树的,那就是它的后继。有两个子树的,那就要找其右子树中最小的数(也就是直接后继)来当新的父节点。可以注意到这棵树的性能和初始选择的值很有关系。可以看到后面这种方法更好,虽然都是递归,但后者不需要一直调用函数。这种算法的复杂度显然是等于树高。左子树小于父节点小于右子树。这样可以让树尽量平衡一点。
2024-09-10 17:46:16
289
原创 Re-ReST: Reflection-Reinforced Self-Training for Language Agents论文学习
之前有提到做inference的时候是没有R参与的,毕竟按照之前的思路,难不成做inference的时候还要把agent输出的结果先用api试一遍,然后把反馈交给R再把精修过的结果交给用户?具体做法是让M生成数据,正确的就直接拿来用,不正确的就加上环境给的反馈一起拿来给R微调用。Re-ReST是命令agent去生成某种数据(比如说代码,图像与文字啥的)然后把这些数据放到真实情况中去使用,把使用结果反馈给agent,让他自己修改自己原本生成的数据,从而得到新的高质量数据,最后用这些高质量数据去微调。
2024-09-10 01:31:58
1068
原创 视频的编码与传输 学习笔记2 信息论
这和上面的结论也一样,因为选择多了,出现某一种符号的概率就小了,情况不常见了,信息就多了。直观的看,这个I(X,Y)好像就是比较了X与Y之间的关联程度。假如X,Y毫无关联,那两个就是一样的,I就是0.要是X,Y完全一样,I就是等于H(X)了。均匀就是常见的情况(概率高,信息少),有序就是不常见的情况(概率低,信息多)。这条理论是在无损加密的情况下生效的,也叫香农第一定律。有条件概率,当然也有条件信息,条件熵,毕竟它们是绑定在一起的嘛。一个是一个符号传递多少信息,一个是一段时间内传递多少信息。
2024-09-06 15:44:02
464
原创 视频编码与传输 学习笔记 1 一些视频压缩算法的介绍
说白了,就是视频太大,不压缩不行,因此我们会用压缩比非常夸张但对于视频来说效果很好的压缩方法先对视频压缩(source coding)然后把压缩后的视频发出去,要看的时候再解压。虽然这个方法看起来只是对RGB进行了一些不明所以的运算,但实际上这可以神奇的提取出画面的线条,明暗等信息,可以所示专门对付图像的压缩方法。就是这个方法,其中的RGB就是你想的那个意思。这里就是简单的讲一下常见的视频压缩方法。
2024-09-06 14:12:45
473
原创 diffusion 简单学习
而diffusion模型则是从原始数据Pdata(真实的图像)出发,不断地给他加上高斯噪声,让他面目全非,然后再复原。这个复原过程是可以学习的。想要研究多模态数据生成就要研究diffusion架构。今天通过这个论文来学习一下。GAN就是生成对抗模型,让两个模型打擂台,一个造假一个打假。上述过程也被称为扩散与逆扩散。
2024-09-05 18:57:43
267
原创 高级算法设计与分析 学习笔记3 哈希表
首先我们要讨论一个把n个数据放到列表S里面的问题:但很显然,这些数据的范围有多大这个T就得有多大,而实际上要放的数字可能就几个(比如就放一个1和一个10000000,那我还是要准备一个巨大的T),不好。为了解决这个问题,哈希表登场了。
2024-09-05 17:45:21
337
原创 REAL-FAKE: EFFECTIVE TRAINING DATA SYNTHESISTHROUGH DISTRIBUTION MATCHING 论文学习
介绍部分,文章提到现在有很多工作都是用生成的文本,图像来训练,但使用假数据来训练的模型性能貌似和真数据来的有很大差距。先前的工作大多是启发式的,本文要从理论框架的角度分析这个问题。总共就做两件事:1)目标数据和合成数据之间的分布差异,以及(2)训练集的基数。文章摘要首先讲生成数据很重要,但在训练高级的模型的时候效果不好。论文主要研究的是这背后的原理并且证明了生成数据的作用。这篇文章主要讲的是生成数据在模型训练中的作用,对于接下来要研究的生成多模态数据具有重要的作用。但这个分布的衡量标准是什么?
2024-09-04 20:54:12
300
原创 高级算法设计与分析 学习笔记 2 希尔排序 线性时间内的排序——计数排序,基数排序,桶排序
要选定一个步长(比如4),那么0,4,8……它们是一组,1,5,9……他们是一组。分组排完之后再换成2步长,最后改成1,就行了。实际使用时一般先设置步长为n/2,然后n/4……组内排序直接插入就可以了。这一点可以使用决策树来证明:可以看到,每个叶子代表一种排序结果,一共有n!个。
2024-09-03 17:44:31
319
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人