MindGYM:一个用于增强视觉-语言模型推理能力的合成数据集框架,通过生成自挑战问题来提升模型的多跳推理能力。
2025-03-13,由中山大学和阿里巴巴集团的研究团队提出了MindGYM框架,通过合成自挑战问题来增强视觉-语言模型(VLMs)的推理能力。MindGYM框架通过生成多跳推理问题和结构化课程训练,显著提升了模型在推理深度和广度上的表现,同时减少了对大规模数据和计算资源的依赖。
一、研究背景
随着视觉-语言模型(VLMs)的发展,其在处理需要联合视觉和文本输入的任务中逐渐成为基础工具。然而,如何让这些模型具备鲁棒的、可迁移的推理能力仍然是一个挑战。目前,高质量的推理数据获取主要依赖于人工标注的数据集或计算成本高昂的自监督学习方法,这限制了模型的推理能力提升。
目前遇到的困难和挑战:
1、数据获取成本高:人工标注的数据集如OK-VQA和ScienceQA需要大量人力进行标注,难以大规模扩展。
2、自监督方法的局限性:现有的自监督合成方法(如MMInstruct和MMEvol)在跨模态和任务的泛化能力上表现不佳,无法紧密耦合视觉和文本语义。
3、推理能力提升的计算成本高:强化学习等推理能力提升方法计算成本高昂,限制了其实际应用。
链接地址:MINDGYM|视觉语言推理数据集|多模态认知任务数据集
二、让我们一起来看一下MindGYM
MindGYM是一个用于增强视觉-语言模型推理能力的合成数据集框架,通过生成自挑战问题来提升模型的多跳推理能力。
构建:
1、种子单跳问题合成:模型基于给定的背景文档生成逻辑相关的单跳问题,涵盖数学、科学、逻辑等多个语义领域。
2、挑战性多跳问题合成:将种子问题通过认知操作(如桥接、比较、视觉-文本对齐等)组合成多跳问题。
3、思维诱导课程微调:通过逐步训练,从有指导的推理到独立推理,提升模型的推理能力。
特点:
1、高数据效率:仅用400个合成样本即可实现显著性能提升。
2、计算效率:减少训练和推理成本。
3、泛化能力强:在不同任务和合成源上表现出色。
使用方法:
MindGYM框架通过合成数据直接注入训练过程,无需额外数据。用户可以通过调整合成模板和训练策略,将其应用于不同的视觉-语言模型。
基准测试:
在多个基准测试中,MindGYM显著优于现有方法,例如在MathVision-Mini任务中,仅用400个样本就实现了16%的性能提升。
MindGYM 框架架构由三个核心阶段组成:①种子单跳问题合成,②具有挑战性的多跳问题合成,以及③思维诱导式课程微调
首先:对文本(例如数学/生物问题)和多模态(文本+图像)上下文的认知感知自我合成。
然后:种子问题通过基于文本的策略(桥接、比较、时间)和多模态推理类型(视觉-文本对齐、空间推理、因果推断、上下文合成)相结合,形成自我挑战性问题。
最后:通过掩码任务学习,课程驱动的微调阶段将结构化的认知能力注入模型。
三、让我们一起来看一下MindGYM的应用
比如你正在准备一门化学考试,手头有一张复杂的化学反应图,上面画着各种分子结构、反应箭头,还有标注的反应条件。旁边还有一段文字描述,大概讲了这个反应的过程和一些关键信息。问题是,你得根据这张图和文字描述,推断出这个反应在特定条件下的产物是什么,或者这个反应需要在什么温度下才能顺利进行。
这时候,MindGYM就能派上大用场了!它就像是一个智能的“化学助教”,专门帮你训练这种复杂的推理能力。
首先,MindGYM会根据这张化学反应图和文字描述,生成一些基础的单跳问题。比如,它可能会问:“这个反应中的主要反应物是什么?”或者“图中箭头的方向代表什么含义?”这些问题就像是热身,帮助模型先熟悉一下基本的信息。
然后,MindGYM开始“出难题”了。它会把几个基础问题组合起来,生成一个更复杂的多跳问题。比如:“如果这个反应的温度升高到100摄氏度,产物会有什么变化?请结合图中的反应条件和文字描述进行推理。”这就需要模型不仅要理解图和文字的内容,还要能够把它们联系起来,进行多步推理。
在这个过程中,MindGYM还会让模型“说出”它的思考过程。比如说,模型可能会这样回答:“首先,我看到图中标注的反应条件是80摄氏度,产物是A和B。如果温度升高到100摄氏度,根据文字描述中的能量变化规律,反应可能会向生成更多C的方向进行,因为高温会促使反应向吸热方向移动……”
通过这种训练,模型就像是被“逼”着去深入思考科学问题,而不是简单地死记硬背。这样一来,当它真正面对类似的科学问题时,就能更准确地回答,比如在考试中或者在实际的科学研究里。而且,这种训练方式不仅适用于化学,还可以推广到物理、生物等其他科学领域,帮助模型更好地理解和推理各种复杂的科学概念。
论文中提到数据集:
数据集:ScienceQA
数据集介绍:这是一个大规模的多模态数据集,用于标注讲座和解释答案
数据集地址:TheMrguiller/ScienceQA|科学教育数据集|知识问答数据集
数据集:OK-VQA
数据集介绍:一个用于视觉问答的数据集,要求模型能够结合外部知识回答问题
数据集地址:ReplugLens/OK-VQA|视觉问答数据集|人工智能数据集
数据集:MMStar
数据集介绍:一个包含1500个挑战样本的多模态基准测试数据集。
数据集地址:Lin-Chen/MMStar
数据集:MathVista-Mini
数据集介绍:一个结合了多种数学和视觉任务的基准测试数据集,包含6141个样本。
数据集地址:MathVista-Mini
数据集:MathVision-Mini
数据集介绍:一个包含3040个高质量数学问题的数据集。
数据集地址:MathVision-Mini
数据集:GSM8K
数据集介绍:一个包含小学数学应用题的数据集,每个问题需要2到8步来解决
数据集地址:openai/gsm8k|数学应用题数据集|自然语言处理数据集
数据集:MATH
数据集介绍:MATH数据集是一个专注于数学问题解决的数据集,涵盖了代数、几何、数论等多个数学领域。该数据集由多个子集构成,每个子集针对不同的数学主题,旨在为机器学习和自然语言处理领域提供高质量的数学问题与解答数据。
数据集地址:MATH|数学求解数据集|教育技术数据集
数据集:GPQA
数据介绍:GPQA是一个由生物学、物理学和化学领域的专家编写的448个多选题数据集。该数据集的特点是问题质量高且极其困难,即使是具有博士学位或在读博士的专家也仅能达到65%的准确率,而高技能的非专家验证者仅有34%的准确率。数据集旨在用于研究未来AI系统在帮助解答非常困难问题时的可扩展监督方法,特别是在开发新科学知识时。
数据集地址:GPQA|科学问答数据集|AI监督学习数据集
数据集:MMEvol
数据集介绍:一个用于多模态推理的数据集,包含ScienceQA和DVQA两个子集
数据集地址:MMEvol|多模态数据数据集|数据增强数据集
数据集:LIMO
数据集介绍:一个用于文本推理的数据集,通过少量高质量数据提升模型性能
数据集地址:LIMO
数据集:Open-O1
数据集介绍:一个用于激活链式推理(CoT)的SFT数据集
数据集地址:OpenO1-SFT|语言模型微调数据集|思维链推理数据集
更多免费的数据集,请打开:遇见数据集
遇见数据集-让每个数据集都被发现,让每一次遇见都有价值。遇见数据集,领先的千万级数据集搜索引擎,实时追踪全球数据集,助力把握数据要素市场。https://www.selectdataset.com/
相关文章:
MindGYM:一个用于增强视觉-语言模型推理能力的合成数据集框架,通过生成自挑战问题来提升模型的多跳推理能力。
2025-03-13,由中山大学和阿里巴巴集团的研究团队提出了MindGYM框架,通过合成自挑战问题来增强视觉-语言模型(VLMs)的推理能力。MindGYM框架通过生成多跳推理问题和结构化课程训练,显著提升了模型在推理深度和广度上的表…...
WPS的Excel文档如何利用VB脚本批量替换超链接的内容
准备知识 关于WPS的Excel点击单元格打开别的文档的两种方法的探究【为单元格添加超链接】 https://blog.csdn.net/wenhao_ir/article/details/146212767 激活WPS的Excel文档中的VB编辑器功能 没有激活前的截图如下: 原因是我们的电脑中缺乏VBA插件,我们点击“开发工具”:…...
phpstudy+phpstorm+xdebug【学习笔记】
配置PHPStudy 配置PHPSTORM phpstorm选择PHP版本 配置DEBUG 设置服务器 编辑配置 学习参考链接::https://blog.csdn.net/m0_60571842/article/details/133246064...
(包清楚解疑)ES6中__dirname和__filename不见了吗?,到底怎么用
我们知道,在commonJs中,__dirname和__filename分别表示当前js文件所在目录路径和所在路径的绝对路径。可以直接使用,但是在ES6和Node v20.11.0之后,不能直接用了。 首先明确一下这两个变量为什么会用到: 当我们在使用…...
3.4 基于TSX的渲染函数类型安全实践
文章目录 1. TSX与类型安全的核心价值1.1 TSX的独特优势1.2 类型安全的核心收益2. 基础类型安全实践2.1 组件Props类型约束2.2 子元素类型校验2.3 事件类型系统3. 高级类型安全模式3.1 泛型组件设计3.2 高阶组件类型3.3 类型守卫应用4. 类型操作工具集4.1 实用类型工具4.2 类型…...
vue-draggable-plus实现某些子元素不被拖拽
在使用vue-draggable-plus时倘若只是节点里面所有元素都可以拖拽倒还好实现,但遇到某些子元素是作为其他作用不可拖拽或者可拖拽不可替换这些情况,则比较头疼了 解决: 1. 绑定移动事件 2. 处理移动世界并对对应情况返回false //移动事件 co…...
基于SpringBoot的Mybatis和纯MyBatis项目搭建的区别
【由于之前学习MyBatis的时候是跟着视频敲的纯MyBatis项目,以至于在突然看到别人在SpringBoot项目里搭建MyBatis方式的时候很懵比…特此文字形式记录一下区别(应该还有好多种其他方式是我不知道的,主要应该就是要知道关键的流程步骤ÿ…...
二进制数(十进制转二进制)
二进制数 #include<stdio.h> int main(){int n;while(scanf("%d",&n)!EOF){int a[10000];int i0;if(n0){printf("0\n");continue;}while(n){a[i]n%2;i;nn/2;}for(int ji-1;j>0;j--){printf("%d",a[j]);}printf("\n");}…...
一周学会Flask3 Python Web开发-SQLAlchemy添加数据操作-班级模块
锋哥原创的Flask3 Python Web开发 Flask3视频教程: 2025版 Flask3 Python web开发 视频教程(无废话版) 玩命更新中~_哔哩哔哩_bilibili SQLAlchemy提供session.add()方法添加model实体数据,以及提供session.commit()提交事务。 首先list.html加一个添…...
【python】OpenCV—Hough Circle Transform
文章目录 1、功能描述2、代码实现3、效果展示4、完整代码5、涉及到的库函数6、参考 更多有趣的代码示例,可参考【Programming】 1、功能描述 2、代码实现 载入必要的库 import sys import cv2 as cv import numpy as np函数入口 if __name__ "__main__&qu…...
1216走迷宫
1216走迷宫 ⭐️难度:简单 🌟考点:bfs 📖 📚 import java.util.Arrays; import java.util.LinkedList; import java.util.Queue; import java.util.Scanner;public class Main {public static void main(String[] …...
Matlab实现RIME-CNN-LSTM-Multihead-Attention多变量多步时序预测
SCI一区级 | Matlab实现RIME-CNN-LSTM-Multihead-Attention多变量多步时序预测 目录 SCI一区级 | Matlab实现RIME-CNN-LSTM-Multihead-Attention多变量多步时序预测预测效果基本介绍程序设计参考资料 预测效果 基本介绍 1.Matlab实现RIME-CNN-LSTM-Multihead-Attention霜冰算法…...
医疗资源联动,广州长泰医院与海南德雅医院共筑地贫防治新篇章
为贯彻落实"健康中国"战略关于出生缺陷综合防治的部署要求,推动地中海贫血防治体系建设。2025年3月15日,广州长泰医院与海南德雅医院联合主办的“地中海贫血生殖遗传干预大型义诊暨合作签约仪式”在广州正式启动,活动以“爱与希…...
栈区、堆区、静态区
一、栈区(Stack) 1.栈区是什么 •栈区(Stack)是计算机内存中的一部分,用于存储程序运行时的临时数据。 2.栈区的有关性质 (1)存储临时数据 • 栈区主要用于存储局部变量(比如函…...
SpringBoot整合Swagger (Springfox 3.0.0)
Maven依赖 <dependency><groupId>io.springfox</groupId><artifactId>springfox-boot-starter</artifactId><version>3.0.0</version> </dependency> 配置文件设置 # 解决"Unable to infer base url"错误的关键配…...
ShenNiusModularity项目源码学习(16:ShenNius.Admin.Mvc项目分析-1)
ShenNius.Admin.Mvc项目是MVC模式的启动项目,包括了MVC模式下所需的所有的页面、控制器类、资源、js文件等数据,该项目仅依赖ShenNius.Admin.API项目,主要使用后者的ShenniusAdminApiModule模块类及一些依赖项目中定义的辅助类等。本文学习Sh…...
Flutter PopScope对于iOS设置canPop为false无效问题
这个问题应该出现很久了,之前的组件WillPopScope用的好好的,flutter做优化打算“软性”处理禁用返回手势,出了PopScope,这个组件也能处理在安卓设备上的左滑返回事件。但是iOS上面左滑返回手势禁用,一直无效。 当然之…...
第十次CCF-CSP认证(含C++源码)
第十次CCF-CSP认证 分蛋糕满分题解 学生排队满分题解 Markdown语法题目解读满分代码 结语 分蛋糕 题目链接 满分题解 基本思路:我们需要保证除了最后一个小朋友之外的所有人,分得的蛋糕都大于等于给定的K值,为什么是大于等于,是…...
leetcode51.N 皇后 回溯算法求解 + 效率优化
🎯 这篇文章探讨了解决经典N皇后问题的方法,采用回溯算法在标准棋盘上放置皇后,确保它们之间不能相互攻击。文中首先介绍了基本的思路和实现方式,通过递归尝试每个可能的位置并回退错误选择。为了提升效率,进一步提出了…...
使用 PerformanceObserver 实现网页性能优化的最佳实践
前言 在当今的网页开发中,性能监控已经成为确保用户体验的一个关键部分。用户对网站的速度和响应性越来越敏感,性能问题可能直接影响用户的满意度和留存率。因此,了解并使用合适的工具来监控和优化网页性能显得尤为重要。 今天,我…...
单口路由器多拨号ADSL实现方法
条件是多拨号场景,公司路由器接口不够用...
HW基本的sql流量分析和wireshark 的基本使用
前言 HW初级的主要任务就是看监控(流量) 这个时候就需要我们 了解各种漏洞流量数据包的信息 还有就是我们守护的是内网环境 所以很多的攻击都是 sql注入 和 webshell上传 (我们不管对面是怎么拿到网站的最高权限的 我们是需要指出它是…...
Vue 过滤器深度解析与应用实践
文章目录 1. 过滤器概述1.1 核心概念1.2 过滤器生命周期 2. 过滤器基础2.1 过滤器定义2.2 过滤器使用 3. 过滤器高级用法3.1 链式调用3.2 参数传递3.3 动态过滤器 4. 过滤器应用场景4.1 文本格式化4.2 数字处理4.3 数据过滤 5. 性能优化与调试5.1 性能优化策略5.2 调试技巧 6. …...
基于 Docker 搭建 FRP 内网穿透开源项目
有些配置项不知道该不该用,不知道该在哪用,不知道怎么用,所以我自己写个文章简单记录一下做个笔记 本文介绍的是基于 Docker 运行 frps 和 frpc,并通过 TCP 协议简单穿透 SSH 和 HTTP,在观看本文之前请确保你的机器已经安装 Docker 服务端搭建 frps# 连接拥有公网 IP 的…...
【Git学习笔记】Git结构原理及其分支管理模型分析
【Git学习笔记】Git结构原理及其分支管理模型分析 🔥个人主页:大白的编程日记 🔥专栏:Git学习笔记 文章目录 【Git学习笔记】Git结构原理及其分支管理模型分析前言一.认识工作区、暂存区、版本库1.1 版本回退1.2 撤销修改1.3 删…...
找工作、创业的思考和出路
最近有几位朋友在找工作,以及探索职场出路,与他们聊了一些关于找工作和职业发展的话题。而这些话题对大多数职场人来说,都是必须考虑和面对的问题。今天就基于这两个话题展开聊聊。 首先,初入职场时,工作是相对容易找…...
2024山东大学计算机复试上机真题
2024山东大学计算机复试上机真题 2024山东大学计算机复试机试真题 历年山东大学计算机复试上机真题 历年山东大学计算机复试机试真题 在线评测:传动门:pgcode.cn 最长递减子序列 题目描述 输入数字 n,和 n 个整数,输出该数字…...
FLASK和GPU依赖安装
1. 安装所有依赖包 在终端运行以下命令(如果使用 GPU,请确保已安装 CUDA 驱动): # 安装 Flask 和其他依赖 pip install flask sentence-transformers torch# 如果是 GPU 环境,推荐安装 CUDA 版本的 PyTorchÿ…...
【图论】并查集的学习和使用
目录 并查集是什么? 举个例子 组成 父亲数组: find函数: union函数: 代码实现: fa[] 初始化code: find code: 递归实现: 非递归实现: union code : 画图模拟: 路径压缩:…...
3.9/Q2,Charls最新文章解读!
文章题目:Association between remnant cholesterol and depression in middle-aged and older Chinese adults: a population-based cohort study DOI:10.3389/fendo.2025.1456370 中文标题:中国中老年人残留胆固醇与抑郁症的关系࿱…...
用Python和Pygame实现打砖块游戏
标题:用Python和Pygame实现打砖块游戏 摘要: 本文将介绍如何使用Python和Pygame库实现一个经典的打砖块游戏。通过这个项目,你将学习到Pygame的基本用法、游戏循环、碰撞检测等知识。 1. 打砖块游戏简介(完整代码在末尾) 打砖块是一款经典的…...
自动化测试-网页聊天室
项目介绍: 针对基于WebSocket协议的网页端即时通讯系统,主导设计并实施全流程自动化测试方案。通过构建模块化测试框架,完成对核心业务场景(用户登录鉴权、消息同步、实时聊天等)的自动化验证,最终达成测试…...
Linux第三次练习
1、创建根目录结构中的所有的普通文件 首先在根目录下面新创建一个test目录,然后将查找到的普通文件新建到test目录下 2、列出所有账号的账号名 3、将/etc/passwd中内容按照冒号隔开的第三个字符从大到小排序后输出所有内容 4、列出/etc/passwd中的第20行-25行内容…...
Redis学习
最开始使用的是MySQL,其使用的是磁盘IO方式较慢,无法满足一分钟成千上万次的访问,而使用内存IO的Redis就可以较好的满足。 Redis是NOSQL(Not Only SQL)中的键值存储数据库,性能好较灵活,是在内存中进行存储。 可以通…...
【CSS3】化神篇
目录 平面转换平移旋转改变旋转原点多重转换缩放倾斜 渐变线性渐变径向渐变 空间转换平移视距旋转立体呈现缩放 动画使现步骤animation 复合属性animation 属性拆分逐帧动画多组动画 平面转换 作用:为元素添加动态效果,一般与过渡配合使用 概念&#x…...
【C/C++算法】从浅到深学习--- 前缀和算法(图文兼备 + 源码详解)
绪论:冲击蓝桥杯一起加油!! 每日激励:“不设限和自我肯定的心态:I can do all things。 — Stephen Curry” 绪论: 本章将使用八道题由浅到深的带你了解并基本掌握前缀和思想,以及前缀和的基…...
VIC模型率定验证
在气候变化问题日益严重的今天,水文模型在防洪规划,未来预测等方面发挥着不可替代的重要作用。目前,无论是工程实践或是科学研究中都存在很多著名的水文模型如SWAT/HSPF/HEC-HMS等。虽然,这些软件有各自的优点;但是&am…...
二叉树的性质和实现
二叉树开端 我们要理解二叉树我们可以先看看什么是树,如图 这个树虽然没有什么叶子,不是很好看,但是用在这里刚刚好,我们从局部来看它,随便挑一根树枝, 大概是这样,由一根粗的的主干和一些细的…...
【Azure 架构师学习笔记】- Azure Databricks (21) --费用相关
本文属于【Azure 架构师学习笔记】系列。 本文属于【Azure Databricks】系列。 接上文 【Azure 架构师学习笔记】- Azure Databricks (20) --Delta Live Table 建议 前言 Databricks是很强大的工具和集成平台,但是随着越来越多地使用它,就没办法必须去面…...
StarRocks + Paimon 在阿里集团 Lakehouse 的探索与实践
作者: 范振: 阿里云计算平台开源 OLAP 负责人,StarRocks 社区 Champion 翁才智: 阿里云技术专家,Apache Paimon PMC Member 导读:阿里集团在推进湖仓一体化建设过程中,依托 StarRocks 强大的 OLAP 查询能力与 Paimon…...
OTP单片机调试工具之—单线数据编码
OTP单片机调试工具在实现过程中离不开单线数据的传输,那么使用哪一种方式的数据编码会比较好呢? 我所了解的主要有以下三种: 1.UART(串口),这种方式在单片机和pc之间进行传输都非常常见,效率比较…...
你的完美主义:从缺陷到超能力
所属专栏:《逻辑辨证系列》 前情回顾: 《完美还是完成》(一):完成还是完美—完成大于完美 时间、机会、情绪成本 先完成 … 本期: 《完美还是完成》(二):你的完美主…...
zsh: command not found: adb 报错问题解决
哈喽小伙伴们大家好,我是小李,今天,我满怀信心想要在本地跑一下pda,然而, what? 居然报错了!!别逗我啊! 好吧,究其原因:没有配置好sdk 那就配呗。 首先,…...
应急响应靶机练习-Linux2
1.背景 前景需要:看监控的时候发现webshell告警,领导让你上机检查你可以救救安服仔吗!! 挑战内容: (1)提交攻击者IP (2)提交攻击者修改的管理员密码(明文) (…...
进程间通信--匿名管道
进程间通信介绍 进程间通信目的 数据传输:一个进程需要将它的数据发送给另一个进程资源共享:多个进程之间共享同样的资源。通知事件:一个进程需要向另一个或一组进程发送消息,通知它(它们)发生了某种事件&…...
ctfshow-xxs-316-333-wp
316.反射型 XSS(-326都是反射型) js恶意代码是存在于某个参数中,通过url后缀进行get传入,当其他用户点进这个被精心构造的url链接时,恶意代码就会被解析,从而盗取用户信息。 来看题,先简单测试…...
顺序表和链表的对比(一)
前言 今天给小伙伴们分享的是在数据结构中顺序表和链表的对比。它们在计算机科学和软件开发中具有广泛的应用,是理解更复杂数据结构(如栈、队列、树、图等)的基础。这次将会给大家从定义初始化,以及功能增删查改上进行详细对比&a…...
蓝思科技冲刺港股上市,双重上市的意欲何为?
首先,蓝思科技冲刺港股上市,这一举措是其国际化战略进入实质性阶段的重要标志。通过港股上市,蓝思科技有望进一步拓宽融资渠道,这不仅能够为公司带来更加多元化的资金来源,还能够降低对单一市场的依赖风险,…...
【C++项目实战】校园公告搜索引擎:完整实现与优化指南
🎬 个人主页:谁在夜里看海. 📖 个人专栏:《C系列》《Linux系列》《算法系列》 ⛰️ 道阻且长,行则将至 目录 📚一、项目概述 📖1.项目背景 📖2.主要功能 📖3.界面展…...
C语言每日一练——day_8
引言 针对初学者,每日练习几个题,快速上手C语言。第八天。(连续更新中) 采用在线OJ的形式 什么是在线OJ? 在线判题系统(英语:Online Judge,缩写OJ)是一种在编程竞赛中用…...