李飞飞发表研究新成果:视觉推理的推断和执行程序(HR)

2023-10-23 13:40

本文主要是介绍李飞飞发表研究新成果:视觉推理的推断和执行程序(HR),希望对大家解决编程问题提供一定的参考价值,需要的开发者们随着小编来一起学习吧!

原文

论文导读:目前进行视觉推理的方法都是通过黑箱结构将输入直接映射到输出,而不是对潜在的推理过程进行明确建模。这样一来,黑箱模型学习到的是利用数据内的偏置而不是学习进行视觉推理的过程。受到模块化网络的启发,本文提出了一个视觉推理模型,由一个程序产生器和一个执行引擎构成,程序产生器用来构造进行推演的推理过程的明确表示,执行引擎能够执行生成的程序来产生答案。程序产生器和执行引擎都是通过神经网络实现的,并且用后置算法和增强算法结合进行训练。作者使用CLEVR基准来评测视觉推理,实验证明该模型显著优于强基准,并且各种设置下泛化能力更强。


问题导入:在很多应用中,计算机视觉系统需要通过对视觉世界的推理来回答复杂的问题。为了处理新的物体之间的相互作用,或者物体属性的组合,视觉推理需要是组合型的:即使一个模型没有人在摸自行车的先验知识,它也应该能通过把它对自行车的意思结合起来理解这个短语。这样的组合推理是人类智慧的一个标志,它能让人们用有限的基本技能解决大量的问题。

 


组合推理是实际应用中遇到的需要理解复杂视觉场景不可或缺的一部分,例如机器导航,自动驾驶,以及监控。目前的模型都无法完成这样的推理。


主要算法

 

作者提出了一个用于视觉提问回答的可学习的组合模型。该模型将图像和关于图像的视觉问题作为输入。模型从固定的可能答案集中选择出对应问题的一条回答。在其内部,模型预测出一个程序来表示需要回答该问题的推理步骤。然后,该模型在图像上执行预测的程序,产生一个答案分布。

 


系统框图:程序产生器是一个序列到序列模型,将问题作为一序列单词输入,然后输出一个函数序列作为程序,其中,序列可视为为程序抽象语法树的前缀遍历。执行引擎在图像上执行程序,通过组合一个模块化的神经网络来镜像预测程序的结构。


程序

作者通过一个预先设置的函数集F来定义语法。由于作者感兴趣的地方在于视觉问题回答,他们将场景常量包括在词典中,代表图像的视觉特征。我们用语义树来表示有效的程序,每个节点都包含一个函数,在其中每个节点的子代和函数的参数数量一样多。


程序产生器

程序产生器从以词序列来表示的自然语言问题中预测程序。作者使用前缀遍历来序列化语义树,它本来是一个非连续离散结构,将其转换为函数序列。然后便可以使用标准LSTM序列到序列模型来实现程序产生器。


执行引擎

给定一个预测程序和输入图像,执行引擎在图像上执行程序,来预测答案。执行引擎通过模块化的神经网络来实现:用生成的程序来组合针对该问题的神经网络,网络通过一系列模块组成。对于每个函数集中的函数f,执行引擎都含有一个神经网络模块mf。给定程序z,执行引擎按程序定义的顺序将每个函数f映射到其对应的模型mf,来产生一个神经网络m(z)子模块的输出作为相应父模块的输入。


实验内容


强监督及半监督学习

 


CLEVR数据集上基准模型,人工和我们的模型的三个变体的问题回答准确率对比。我们模型的强监督版本使用了所有的700000真实值程序进行训练,而半监督版本分别使用了900018000真实值程序进行训练。人工表现通过CLEVR的一个5500的子集进行测量。结果显示使用强监督,我们的模型在CLEVR数据集上可以达到近乎完美的准确率。(甚至比亚马逊的Mechanical Turk的人工还要准确)。


预测程序(左)和答案(右)的准确率与真实值程序数量的关系图。蓝色和绿色分别给出了微调之前和之后的准确率。点线表示强监督模型的准确率。


模型学到了什么?


CLEVR-CoGenT数据集是用来研究VQA模型进行组合泛化的能力。该数据集包含两个情况下的数据:Condition A中,所有的立方体都是灰色,蓝色,棕色或黄色的,所有的圆柱体都是红色,绿色,紫色或青色的。Condition B中,立方体和圆柱体交换了颜色模式。

 


根据最终特征图,对预测的答案分数总和的梯度范数可视化结果。从左到右,每个问题都为程序添加了一个模块,新的模块是问题中的下划线部分。可视化结果说明了模型在对哪个目标进行问题回答的推理过程。图像来自验证集。

 

结果显示,我们的模型仅用10000个问题和1000张图片就可以学习到新属性的组合,并且优于同样训练的基准线。我们认为这是由于模型的组合特性使其能从很少的训练数据中快速学习属性的新语义,例如红色


对新的属性组合的泛化能力



CLEVR-CoGenT数据集上的问题回答准确率。上:我们在Condition A数据上训练模型,然后分别在Condition ACondition B上对模型进行测试。然后我们使用3000张图片和30000个问题,在Condition B上对模型进行微调,然后再次对两个Condition分别进行测试。在Condition A上训练时,该模型使用了18000个程序,但是在Condition B上进行微调时没有使用任何程序。下:我们研究了使用不同数量数据在Condition B上进行微调的影响。我们展示了整体的准确率以及对颜色提问和对形状提问的准确率。


对新问题类型的泛化能力

 


分别在短的和长的CLEVR问题上的回答准确率。左列:仅在短问题上训练的模型。模型使用了25000个真实值短程序进行训练。右列:在短问题和长问题上进行的训练。模型在短问题上进行训练,然后在整个数据集上进行微调。微调时没有用任何实值程序。

 


模型在短问题上训练时,程序和答案预测不正确的长问题示例,但是在模型在长问题上微调之后,程序和答案都能正确预测。


对人提出问题的泛化能力

 


CLEVR-Humans数据集的问题示例,以及模型预测的程序和答案。CLEVR数据库中没有出现的问题答案进行了下划线。一些预测的程序能和问题的语义进行准确匹配(绿色),一些程序和问题语义紧密匹配(黄色),而一些程序和问题似乎没有关系(红色)。

 


四个模型只在CLEVR数据集(左)训练,以及在CLEVR-Humans数据集的微调(右),在CLEVR-Humans数据测试集的问题回答准确率。

 

结论

本文通过一个长线工作,将符号表示整合入(神经)机器学习模型。我们的结果显示,清晰的程序表示可以使用来回答关于图像的新问题的组合程序变得更简单。作者提出的整体程序表示,可学习程序产生器和模块化统一设计让模型比神经模块网络更具灵活性,并且更容易扩展到新的问题和领域。

这篇关于李飞飞发表研究新成果:视觉推理的推断和执行程序(HR)的文章就介绍到这儿,希望我们推荐的文章对编程师们有所帮助!



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

相关文章

计算机视觉工程师所需的基本技能

一、编程技能 熟练掌握编程语言 Python:在计算机视觉领域广泛应用,有丰富的库如 OpenCV、TensorFlow、PyTorch 等,方便进行算法实现和模型开发。 C++:运行效率高,适用于对性能要求严格的计算机视觉应用。 数据结构与算法 掌握常见的数据结构(如数组、链表、栈、队列、树、图等)和算法(如排序、搜索、动态规划等),能够优化代码性能,提高算法效率。 二、数学基础

一种改进的red5集群方案的应用、基于Red5服务器集群负载均衡调度算法研究

转自: 一种改进的red5集群方案的应用: http://wenku.baidu.com/link?url=jYQ1wNwHVBqJ-5XCYq0PRligp6Y5q6BYXyISUsF56My8DP8dc9CZ4pZvpPz1abxJn8fojMrL0IyfmMHStpvkotqC1RWlRMGnzVL1X4IPOa_  基于Red5服务器集群负载均衡调度算法研究 http://ww

生信圆桌x生信分析平台:助力生物信息学研究的综合工具

介绍 少走弯路,高效分析;了解生信云,访问 【生信圆桌x生信专用云服务器】 : www.tebteb.cc 生物信息学的迅速发展催生了众多生信分析平台,这些平台通过集成各种生物信息学工具和算法,极大地简化了数据处理和分析流程,使研究人员能够更高效地从海量生物数据中提取有价值的信息。这些平台通常具备友好的用户界面和强大的计算能力,支持不同类型的生物数据分析,如基因组、转录组、蛋白质组等。

开题报告中的研究方法设计:AI能帮你做什么?

AIPaperGPT,论文写作神器~ https://www.aipapergpt.com/ 大家都准备开题报告了吗?研究方法部分是不是已经让你头疼到抓狂? 别急,这可是大多数人都会遇到的难题!尤其是研究方法设计这一块,选定性还是定量,怎么搞才能符合老师的要求? 每次到这儿,头脑一片空白。 好消息是,现在AI工具火得一塌糊涂,比如ChatGPT,居然能帮你在研究方法这块儿上出点主意。是不

研究人员在RSA大会上演示利用恶意JPEG图片入侵企业内网

安全研究人员Marcus Murray在正在旧金山举行的RSA大会上公布了一种利用恶意JPEG图片入侵企业网络内部Windows服务器的新方法。  攻击流程及漏洞分析 最近,安全专家兼渗透测试员Marcus Murray发现了一种利用恶意JPEG图片来攻击Windows服务器的新方法,利用该方法还可以在目标网络中进行特权提升。几天前,在旧金山举行的RSA大会上,该Marcus现场展示了攻击流程,

Science Robotics 首尔国立大学研究团队推出BBEX外骨骼,实现多维力量支持!

重复性举起物体可能会对脊柱和背部肌肉造成损伤,由此引发的腰椎损伤是工业环境等工作场所中一个普遍且令人关注的问题。为了减轻这类伤害,有研究人员已经研发出在举起任务中为工人提供辅助的背部支撑装置。然而,现有的这类装置通常无法在非对称性的举重过程中提供多维度的力量支持。此外,针对整个人体脊柱的设备安全性验证也一直是一个缺失的环节。 据探索前沿科技边界,传递前沿科技成果的X-robot投稿,来自首尔国立

《计算机视觉工程师养成计划》 ·数字图像处理·数字图像处理特征·概述~

1 定义         从哲学角度看:特征是从事物当中抽象出来用于区别其他类别事物的属性集合,图像特征则是从图像中抽取出来用于区别其他类别图像的属性集合。         从获取方式看:图像特征是通过对图像进行测量或借助算法计算得到的一组表达特性集合的向量。 2 认识         有些特征是视觉直观感受到的自然特征,例如亮度、边缘轮廓、纹理、色彩等。         有些特征需要通

【python计算机视觉编程——7.图像搜索】

python计算机视觉编程——7.图像搜索 7.图像搜索7.1 基于内容的图像检索(CBIR)从文本挖掘中获取灵感——矢量空间模型(BOW表示模型)7.2 视觉单词**思想****特征提取**: 创建词汇7.3 图像索引7.3.1 建立数据库7.3.2 添加图像 7.4 在数据库中搜索图像7.4.1 利用索引获取获选图像7.4.2 用一幅图像进行查询7.4.3 确定对比基准并绘制结果 7.

参会邀请 | 第二届机器视觉、图像处理与影像技术国际会议(MVIPIT 2024)

第二届机器视觉、图像处理与影像技术国际会议(MVIPIT 2024)将于2024年9月13日-15日在中国张家口召开。 MVIPIT 2024聚焦机器视觉、图像处理与影像技术,旨在为专家、学者和研究人员提供一个国际平台,分享研究成果,讨论问题和挑战,探索前沿技术。诚邀高校、科研院所、企业等有关方面的专家学者参加会议。 9月13日(周五):签到日 9月14日(周六):会议日 9月15日(周日

【python计算机视觉编程——8.图像内容分类】

python计算机视觉编程——8.图像内容分类 8.图像内容分类8.1 K邻近分类法(KNN)8.1.1 一个简单的二维示例8.1.2 用稠密SIFT作为图像特征8.1.3 图像分类:手势识别 8.2贝叶斯分类器用PCA降维 8.3 支持向量机8.3.2 再论手势识别 8.4 光学字符识别8.4.2 选取特征8.4.3 多类支持向量机8.4.4 提取单元格并识别字符8.4.5 图像校正