论文信息:Ahn, K.; Lee, S.; Gummadi, K. P.; Cha, M. GeoX: Mastering Geospatial Reasoning Through Self-Play and Verifiable Rewards. arXiv:2605.20006,2026 年 5 月(预印本,截至本文写作时无会议录用信息,未公开代码)。作者单位为 KAIST 与马克斯·普朗克研究所。
核心结论
GeoX 做一件事:让一个多模态大模型在遥感图像上自己出题、自己解题、自己判分,全程不使用人工标注数据。 它依据的规则是:面积、质心、距离、邻接这类空间问题的答案由图像的几何属性唯一决定,可以写成可执行程序,由程序执行结果充当标准答案。最终产出是一个经过强化学习训练的模型,在 RSVQA-HR、EarthVQA、GEOBench-VLM 三个基准上相比基座模型平均提升最高 5.5 个百分点,部分基准超过了使用上千万条人工标注数据训练的专用模型;副产品是一个由自博弈过程自动积累、经程序执行验证的新基准。
本文按五个部分展开:研究动机、方法构成、训练过程、局限性与批评、改进方向与研究启示。
一、研究动机:人工标注覆盖不了空间问题的组合空间
遥感图像理解不能只回答"图里有什么"。实际问题问的是物体之间的空间关系,例如"哪栋建筑离规划中的地铁站最近""最大的用地斑块面积是否超过建筑总面积"。
这类问题的数量随场景内对象数量组合增长。一张城市航拍图包含数百个对象,合法问题数随"目标对象 × 参照对象 × 属性"联合膨胀。人工标注只能覆盖其中很小一部分。现有遥感专用视觉语言模型(GeoChat、VHM、EarthDial 等)都依赖人工策划的问答对微调,模型能力范围因此受限于标注范围。
GeoX 的出发点是:面积、质心、距离、邻接等任务的答案不由模型判断,而由图像的几何事实唯一确定。把这些几何与拓扑操作组合成可执行程序后,程序在图像上执行的结果就是标准答案,监督信号可以直接从图像本身获得,不需要外部标注。
二、方法构成:一个模型扮演出题者与解题者
2.1 自博弈框架
整个系统只有一个多模态策略模型 πθ,交替扮演两个角色:
- 出题者(Proposer):给定一张遥感图,构造一个可执行的空间问题,形式为一段 Python 程序 p 加参数 a;
- 解题者(Solver):尝试解出这道题。
每道题是一个三元组 (p, a, o),其中 o = p(a; I) 是程序在图像 I 上执行的输出。判分由程序执行完成,不交给另一个大模型。
2.2 三种推理模式:同一道题遮住不同元素
同一个三元组遮住不同元素,派生出三种互补的训练任务:
| 模式 | 遮住的元素 | 解题者的任务 | 示例 |
|---|---|---|---|
| 溯因(Abduction) | 参数 a | 由程序和结果反推问题针对的对象 | 答案是 7 → 反推问的是"货船" |
| 演绎(Deduction) | 输出 o | 由程序和参数正向推出答案 | 问货船数量 → 算出 7 |
| 归纳(Induction) | 程序 p | 由若干输入-输出对反推背后的程序 | 由 (货船, 7)、(渔船, 3) 归纳出计数程序 |
消融实验显示:单独只练演绎时效果最好(与下游任务形式最接近),但去掉溯因后掉分最多,说明"由结果反推原因"提供了另外两种模式无法替代的训练信号。
2.3 可执行程序的调用接口
程序不是任意代码,而是组合两类预定义的可调用件:
- 原语库 F:几何算子(面积、质心、方向)、拓扑算子(距离、邻接、重叠)、聚合算子(计数、取最小、比较),基于 NumPy、SciPy、scikit-image 实现;
- 工具箱 T:本文只放入一个工具------开放词汇分割器 SegEarth-OV3,输入任意自然语言短语(如"红屋顶建筑"),输出对应的分割掩码。
只用一个工具是刻意选择:多数空间任务可以从分割掩码直接计算,且单一工具可以把"自博弈框架的贡献"与"工具丰富度的贡献"分开,形成干净的实验对照。
另有一个关键设计:程序执行的中间结果对模型不可见。模型调用分割器后拿不到掩码数组,也看不到计数、面积等中间值。这防止模型通过读取执行轨迹直接抄答案,迫使它从图像内容出发推理。
2.4 奖励设计
- 解题者奖励 = 正确性。溯因与归纳要求执行一致性:解题者给出的答案代回程序执行,必须复现原输出 o。演绎因输出类型多样,采用按类型区分的打分:数值给相对误差的连续分,字符串归一化后精确匹配,布尔值精确匹配,边界框用 IoU。
- 出题者奖励 = 可学习性。解题者对每道新题独立尝试 R = 8 次,平均得分记为 r̄。出题者奖励 r^prop = 1r̄\>0·(1−r̄),在 r̄ = 0.5 时取最大值。也就是说,解题者半会不会的题得分最高,全对(太简单)和全错(太难或题目本身有错)的题都不给分。题目难度由此随解题者能力自动调整,不需要人工设计课程。
两个角色共享同一套模型参数,联合优化,权重 λ = 1。
三、训练过程:是的,核心是强化学习
训练分两阶段,这里按时间顺序说明,不熟悉强化学习的读者可以直接看懂每一步在做什么。
3.1 第一阶段:监督微调热身(只教格式,不教知识)
先用冻结的基座模型跑自博弈循环,用执行器验证过的正确结果替换模型的错误输出,收集约 1 千条出题样例和约 3 千条解题样例,用 LoRA(秩 32)微调 2 个 epoch。这个阶段唯一目标是让模型学会输出格式:出题者输出"问题、参数、程序"的结构,解题者输出"思考过程 + 最终答案"的结构。论文明确说明这一阶段不注入知识,三种推理模式的正确性、调用接口的使用、出题的可学习性全部留给强化学习阶段。
3.2 第二阶段:强化学习自博弈
算法采用 Task-Relative REINFORCE++。对不熟悉强化学习的读者,先解释两个概念:
- REINFORCE 是经典的策略梯度算法。逻辑是:让模型生成一批回答,奖励高的回答提高其生成概率,奖励低的降低。它不需要人工标注哪个回答好,只需要一个能打分的裁判------这里就是程序执行器。
- REINFORCE++ 的改进是给奖励减去一个基线(同类任务的平均奖励)。模型不是因为"答对了"而提高概率,而是因为"比同类任务的平均水平好"而提高概率,训练更稳定。
"Task-Relative"指出题和解题是性质不同的工作,奖励尺度不同,因此把 2 个角色 × 3 种推理模式拆成 6 个独立任务,各自计算基线,每次更新时 6 个任务等比例采样。
一个训练步骤内发生的事如下:
#mermaid-svg-GuvoxrUNXycvXN5v{font-family:"trebuchet ms",verdana,arial,sans-serif;font-size:16px;fill:#333;}@keyframes edge-animation-frame{from{stroke-dashoffset:0;}}@keyframes dash{to{stroke-dashoffset:0;}}#mermaid-svg-GuvoxrUNXycvXN5v .edge-animation-slow{stroke-dasharray:9,5!important;stroke-dashoffset:900;animation:dash 50s linear infinite;stroke-linecap:round;}#mermaid-svg-GuvoxrUNXycvXN5v .edge-animation-fast{stroke-dasharray:9,5!important;stroke-dashoffset:900;animation:dash 20s linear infinite;stroke-linecap:round;}#mermaid-svg-GuvoxrUNXycvXN5v .error-icon{fill:#552222;}#mermaid-svg-GuvoxrUNXycvXN5v .error-text{fill:#552222;stroke:#552222;}#mermaid-svg-GuvoxrUNXycvXN5v .edge-thickness-normal{stroke-width:1px;}#mermaid-svg-GuvoxrUNXycvXN5v .edge-thickness-thick{stroke-width:3.5px;}#mermaid-svg-GuvoxrUNXycvXN5v .edge-pattern-solid{stroke-dasharray:0;}#mermaid-svg-GuvoxrUNXycvXN5v .edge-thickness-invisible{stroke-width:0;fill:none;}#mermaid-svg-GuvoxrUNXycvXN5v .edge-pattern-dashed{stroke-dasharray:3;}#mermaid-svg-GuvoxrUNXycvXN5v .edge-pattern-dotted{stroke-dasharray:2;}#mermaid-svg-GuvoxrUNXycvXN5v .marker{fill:#333333;stroke:#333333;}#mermaid-svg-GuvoxrUNXycvXN5v .marker.cross{stroke:#333333;}#mermaid-svg-GuvoxrUNXycvXN5v svg{font-family:"trebuchet ms",verdana,arial,sans-serif;font-size:16px;}#mermaid-svg-GuvoxrUNXycvXN5v p{margin:0;}#mermaid-svg-GuvoxrUNXycvXN5v .label{font-family:"trebuchet ms",verdana,arial,sans-serif;color:#333;}#mermaid-svg-GuvoxrUNXycvXN5v .cluster-label text{fill:#333;}#mermaid-svg-GuvoxrUNXycvXN5v .cluster-label span{color:#333;}#mermaid-svg-GuvoxrUNXycvXN5v .cluster-label span p{background-color:transparent;}#mermaid-svg-GuvoxrUNXycvXN5v .label text,#mermaid-svg-GuvoxrUNXycvXN5v span{fill:#333;color:#333;}#mermaid-svg-GuvoxrUNXycvXN5v .node rect,#mermaid-svg-GuvoxrUNXycvXN5v .node circle,#mermaid-svg-GuvoxrUNXycvXN5v .node ellipse,#mermaid-svg-GuvoxrUNXycvXN5v .node polygon,#mermaid-svg-GuvoxrUNXycvXN5v .node path{fill:#ECECFF;stroke:#9370DB;stroke-width:1px;}#mermaid-svg-GuvoxrUNXycvXN5v .rough-node .label text,#mermaid-svg-GuvoxrUNXycvXN5v .node .label text,#mermaid-svg-GuvoxrUNXycvXN5v .image-shape .label,#mermaid-svg-GuvoxrUNXycvXN5v .icon-shape .label{text-anchor:middle;}#mermaid-svg-GuvoxrUNXycvXN5v .node .katex path{fill:#000;stroke:#000;stroke-width:1px;}#mermaid-svg-GuvoxrUNXycvXN5v .rough-node .label,#mermaid-svg-GuvoxrUNXycvXN5v .node .label,#mermaid-svg-GuvoxrUNXycvXN5v .image-shape .label,#mermaid-svg-GuvoxrUNXycvXN5v .icon-shape .label{text-align:center;}#mermaid-svg-GuvoxrUNXycvXN5v .node.clickable{cursor:pointer;}#mermaid-svg-GuvoxrUNXycvXN5v .root .anchor path{fill:#333333!important;stroke-width:0;stroke:#333333;}#mermaid-svg-GuvoxrUNXycvXN5v .arrowheadPath{fill:#333333;}#mermaid-svg-GuvoxrUNXycvXN5v .edgePath .path{stroke:#333333;stroke-width:2.0px;}#mermaid-svg-GuvoxrUNXycvXN5v .flowchart-link{stroke:#333333;fill:none;}#mermaid-svg-GuvoxrUNXycvXN5v .edgeLabel{background-color:rgba(232,232,232, 0.8);text-align:center;}#mermaid-svg-GuvoxrUNXycvXN5v .edgeLabel p{background-color:rgba(232,232,232, 0.8);}#mermaid-svg-GuvoxrUNXycvXN5v .edgeLabel rect{opacity:0.5;background-color:rgba(232,232,232, 0.8);fill:rgba(232,232,232, 0.8);}#mermaid-svg-GuvoxrUNXycvXN5v .labelBkg{background-color:rgba(232, 232, 232, 0.5);}#mermaid-svg-GuvoxrUNXycvXN5v .cluster rect{fill:#ffffde;stroke:#aaaa33;stroke-width:1px;}#mermaid-svg-GuvoxrUNXycvXN5v .cluster text{fill:#333;}#mermaid-svg-GuvoxrUNXycvXN5v .cluster span{color:#333;}#mermaid-svg-GuvoxrUNXycvXN5v div.mermaidTooltip{position:absolute;text-align:center;max-width:200px;padding:2px;font-family:"trebuchet ms",verdana,arial,sans-serif;font-size:12px;background:hsl(80, 100%, 96.2745098039%);border:1px solid #aaaa33;border-radius:2px;pointer-events:none;z-index:100;}#mermaid-svg-GuvoxrUNXycvXN5v .flowchartTitleText{text-anchor:middle;font-size:18px;fill:#333;}#mermaid-svg-GuvoxrUNXycvXN5v rect.text{fill:none;stroke-width:0;}#mermaid-svg-GuvoxrUNXycvXN5v .icon-shape,#mermaid-svg-GuvoxrUNXycvXN5v .image-shape{background-color:rgba(232,232,232, 0.8);text-align:center;}#mermaid-svg-GuvoxrUNXycvXN5v .icon-shape p,#mermaid-svg-GuvoxrUNXycvXN5v .image-shape p{background-color:rgba(232,232,232, 0.8);padding:2px;}#mermaid-svg-GuvoxrUNXycvXN5v .icon-shape rect,#mermaid-svg-GuvoxrUNXycvXN5v .image-shape rect{opacity:0.5;background-color:rgba(232,232,232, 0.8);fill:rgba(232,232,232, 0.8);}#mermaid-svg-GuvoxrUNXycvXN5v .label-icon{display:inline-block;height:1em;overflow:visible;vertical-align:-0.125em;}#mermaid-svg-GuvoxrUNXycvXN5v .node .label-icon path{fill:currentColor;stroke:revert;stroke-width:revert;}#mermaid-svg-GuvoxrUNXycvXN5v :root{--mermaid-font-family:"trebuchet ms",verdana,arial,sans-serif;} 开始:一张遥感图
第一步:出题者生成问题程序与参数(大模型)
第二步:执行程序,丢弃语法错误、运行错误、结果不确定的题
第三步:解题者对每题独立尝试 8 次(大模型)
第四步:执行器判分,计算解题者正确率
第五步:按可学习性计算出题者奖励
第六步:按正确性计算解题者奖励
第七步:REINFORCE++ 联合更新模型参数(大模型)
结束:进入下一步,共 150 步
主要超参数(出自论文附录 D):AdamW 优化器,学习率 5e-7,梯度裁剪阈值 1.0,恒定学习率无预热,采样温度 1.0;出题批大小每模式 32 张图,上下文参考 6 道已有题目;完整训练 150 步,使用 4 张 NVIDIA H200 约 60 小时。训练图像来自 SAMRS-FAST 和 Globe230k 两个数据集,只使用图像,不使用其标注。冷启动靠一个手写种子程序("图里有建筑吗?",调用分割器后检查掩码是否非空),每个题库先填入 100 个种子问题,之后由出题者自行演化出更复杂的组合式问题。
3.3 代码与复现
论文没有公开代码或模型仓库,全文无任何代码链接;文中仅提到随论文发布自博弈积累的基准。要复现只能依据附录 D 的配置自行实现。注意:GitHub 上有一个同名仓库(GeoX,几何题求解,ICLR 2025),与本文无关,引用时不要混淆。
四、局限性与批评
以下按严重程度排序。第一、二条作者在论文 Limitations 部分有承认,其余为本文作者的独立批评。
4.1 验证链条建立在会犯错的工具上
GeoX 的"可验证"有一个前提:程序执行结果正确,要求分割器分割正确。但分割器本身是神经网络,会出错。一旦第一步检测或分割出错,会产生连锁后果:
- 出题者基于错误掩码算出的标准答案 o 是错的;
- 解题者给出真正正确的答案,反而被判错并受到惩罚;
- 自博弈循环会把这类标注噪声不断传入训练,模型学到的是"如何符合分割器的输出",而不是"如何正确理解图像"。
对分割器表现较差的稀有目标类别,这个问题最严重。论文承认"分割错误会作为标签噪声在出题-解题循环中传播",但没有做定量分析,例如注入不同程度的分割噪声观察性能退化。缺少这个实验,"可验证"的实际可靠程度就无法评估。
4.2 能力上限受工具箱表达力限制
工具箱只有一个分割器,深度与坡度估计(垂直方向推理)、路网连通性(图结构推理)、接入 OpenStreetMap 元数据(外部语义信息)等任务都不在当前框架范围内。训练曲线也印证了这一点:三个基准上与空间推理最相关的子任务在 150 步内先后趋于平稳,说明在现有调用接口下,可构造的问题类型已经用尽。
4.3 增益分布不均
平均提升 5.5 个百分点是 LLaVA 基座上的数字,更强的 Qwen 基座只提升 1.9 个百分点。在 RSVQA-HR 的 Area 子项上,GeoX 仍明显落后于使用人工标注数据微调的 GeoChat(16.5 对 41.6)。"零标注达到百万标注模型水平"是平均意义上的结论,单个子任务上并非全面胜出。
4.4 评测环节仍用了大模型判分
训练时强调不让大模型判分,但评测开放式答案时又使用了 LLM-as-judge。训练与评测的判分标准不一致,这一点论文没有讨论。
4.5 叙事超出证据范围
论文将框架描述为迈向"地理空间世界模型"的路径。从现有证据看,模型学到的是分割掩码之上的几何与拓扑查询能力,与世界模型的含义还有明显距离。
五、改进方向:如果继续做这个工作
按"修复可靠性、扩展能力、范式扩展"三层给出具体方案。
5.1 修复验证可靠性(最优先)
- 多工具交叉验证:同一道题用分割器、开放词汇检测器、视觉语言模型直接回答等多种方式独立求解,只有多数工具答案一致的题才进入训练。工具答案不一致的题本身是有用信号,标出了感知不确定的区域。
- 置信度加权奖励:把分割器输出的置信度纳入奖励计算,低置信区域降低奖励权重,而不是硬性判对判错。
- 噪声注入实验:主动给分割结果注入受控噪声,测量性能退化曲线,定量回答"工具准确率要到多少,自博弈才有效"。
5.2 扩展工具箱
论文在方法图中已列出预留方向:深度估计工具(支持垂直方向推理)、路网图工具(支持连通性与可达性查询)、OpenStreetMap 元数据接口(支持外部语义接地)。这个框架的一个实际优点是工具即插即用:每增加一个工具,可验证问题的空间就增加一个维度,奖励机制不需要改动。
5.3 范式层面的扩展
- 增加第三个角色:在出题者、解题者之外加入"挑错者",专门寻找程序与标准答案的漏洞。三方博弈比两方博弈更能抑制奖励投机(reward hacking)。
- 跨图像归纳:目前的归纳模式在单张图内进行。扩展到跨图像,让模型从多时相图像的变化中归纳规律,可以直接对接变化检测、灾害评估、城市扩张监测等应用。
- 开放自生长基准:论文副产品------由自博弈自动积累、经执行验证的问题集------若开放为社区平台(模型持续出题,人工只做仲裁),其长期影响可能超过方法本身。
六、创新性评价与研究启示
6.1 创新性定位
自博弈加可执行验证的范式不是这篇论文首创,主体框架来自代码与数学领域的 Absolute Zero。单看算法,创新增量是"把该框架迁移到遥感场景,并把感知接入可执行程序"。但这篇论文真正有价值的贡献是问题重构:它指出遥感图像中存在一类答案天然确定的问题,把此前被认为无法自动监督的视觉空间推理,转化为可验证问题。 改变"什么是可监督的"这类工作,往往比单纯的算法改进影响更深。
6.2 可以迁移到其他研究的五条方法论
- 先问哪些子问题的答案天然确定。 面对标注成本高的领域,不要先想怎么降低标注成本,先检查领域内哪些任务的答案可以由确定性计算得到。把监督问题转化为验证问题,是当前可验证奖励强化学习(RLVR)研究的基本思路。
- 一个样本派生多种任务。 通过遮住三元组的不同元素,同一道题产生溯因、演绎、归纳三种训练信号,监督密度提高三倍。这个方法可迁移到任何有结构化表示的任务。
- 用奖励实现自动课程。 题目难度由解题者的实时表现闭环调节(可学习性奖励),替代人工设计的课程安排。涉及课程学习(curriculum learning)的问题都可以参考这个设计。
- 用单工具做变量隔离。 工具箱刻意只保留一个工具,把框架贡献与工具丰富度贡献分开;消融实验中的 BaseGen(静态出题)与 SolvOnly(去掉出题者奖励)两个对照,直接回答了审稿人最可能提的两个问题。实验设计替审稿人提前提问,是这篇论文值得学习的写法。
- 主动写明局限性能增强可信度。 作者明确承认工具噪声传播这一核心风险,论文的可信度反而更高。
小结
- GeoX 用单个多模态模型交替出题与解题,答案由程序执行验证,训练全程不使用人工标注;核心训练算法是 Task-Relative REINFORCE++,150 步、4 张 H200、约 60 小时,但未公开代码。
- 主要风险在于验证链条依赖分割器:第一步识别出错,错误答案会被当成标准答案传入训练循环,且论文缺少定量分析。
- 改进的最优先事项是多工具交叉验证与置信度加权;扩展方向是丰富工具箱、加入挑错角色、做跨图像归纳。
- 对研究者的通用启示:寻找领域内答案天然确定的子问题,把监督问题转化为验证问题,是这篇论文最值得迁移的方法论。