- 作者:Sen Wang a , d ^{a,d} a,d, Dongliang Zhou b ^{b} b, Liang Xie c , d ^{c,d} c,d, Chao Xu a ^{a} a, Ye Yan c , d ^{c,d} c,d, Erwei Yin c , d ^{c,d} c,d
- 单位: a ^{a} a天津大学智能与计算学院, b ^{b} b哈尔滨工业大学, c ^{c} c军事科学院, d ^{d} d天津人工智能创新中心
- 论文标题:PanoGen++: Domain-adapted text-guided panoramic environment generation for vision-and-language navigation
- 论文链接:https://www.sciencedirect.com/science/article/abs/pii/S0893608025001996
- 出版信息:Neural Networks 187 (2025) 107320
主要贡献
- 论文提出PanoGen++框架,结合了预训练的生成模型与领域特定微调,用于生成专为视觉-语言导航(VLN)任务定制的全景图像。
- 通过掩码图像修复和递归图像外推两种策略,生成多样化的全景环境,以提高智能体在未见环境中的泛化能力。
- 在多个VLN数据集上进行实验,证明了PanoGen++在导航成功率、导航误差和路径长度加权成功率等指标上优于现有方法。
- PanoGen++在R2R、R4R和CVDN数据集上表现出色,显著提高了智能体在未见环境中的表现,展示了其在增强VLN任务训练环境方面的有效性。
研究背景
研究问题
论文主要解决的问题是视觉语言导航(VLN)任务中,由于训练数据稀缺导致的进展缓慢。
具体来说,VLN任务要求智能体根据自然语言指令在三维环境中进行导航,但现有的训练数据主要集中在少量的室内环境中,限制了智能体学习有效导航策略和泛化到未见环境的能力。
研究难点
该问题的研究难点包括:
- 训练数据的稀缺性和多样性不足,导致智能体难以学习有效的导航策略;
- 现有数据增强方法的效果有限,尤其是在生成与VLN任务特定相关的环境时。
相关工作
视觉语言导航(VLN):
- VLN的目标是指导智能体根据用户指令在房间环境中到达目标位置。
- 初始工作使用序列到序列的长短期记忆(LSTM)模型来生成导航动作。
- 后续研究采用多模态Transformer和图结构来整合历史数据和结构化信息,以提供更有效的导航策略。
- 最近的研究开始利用大型语言模型的推理能力,如NavGPT和MapGPT,展示在VLN中的零样本导航能力。
VLN中的环境增强:
- 环境增强的主要挑战是训练数据的稀缺性,特别是在3D房间环境中。
- 研究集中在消除环境偏差或增强现有环境,例如通过环境丢弃(EnvDrop)和编辑(EnvEdit)技术。
- 研究还探索了从其他来源引入新室内环境的方法,如Airbert和AutoVLN。
- PanoGen使用Stable Diffusion模型生成新的全景环境,但缺乏针对VLN任务的特定优化。
文本到图像生成(T2I):
- T2I任务是将文本输入转换为相应的图像输出。
- 初始研究使用GANs进行T2I生成,随后转向基于扩散模型的方法,如GLIDE和LDM。
- LDM通过在较低维度的潜在空间中进行扩散过程来实现计算效率,同时保持高生成质量。
- T2I技术在数据稀缺场景中被用于生成高质量的合成训练数据,以增强模型的泛化能力。
PanoGen++
问题描述
- 在视觉-语言导航(VLN)任务中,智能体需要在三维环境中导航以到达目标位置。
- 智能体接收自然语言指令,并在每个时间步接收一个全景图像 O t \mathcal{O}_t Ot,该图像被分割为 N N N 个子视图图像 O t = { o i } i = 1 N \mathcal{O}_t = \{o_i\}_{i=1}^N Ot={oi}i=1N。
- 智能体的目标是根据指令选择动作,直到成功到达目标或停止。
环境生成模块与VLN对齐
VLN特定的环境训练数据构建
- 为了将预训练的生成模型适应于VLN特定环境,从R2R数据集中收集房间图像,并将其分割为36个子视图图像。
- 使用BLIP-2模型对这些子视图图像进行标注,生成图像-文本对数据集 D V L N = { ( x i , y i ) } i = 1 M D_{VLN} = \{(x_i, y_i)\}_{i=1}^M DVLN={(xi,yi)}i=1M,其中 x i x_i xi 是子视图图像, y i y_i yi 是对应的文本描述。
VLN环境生成的分布对齐
- 使用低秩适应(LoRA)技术来适应预训练的生成模型。
- 具体来说,通过优化扩散模型的密集层的秩分解矩阵来提高参数效率。公式如下:
Δ W = B A \Delta W = BA ΔW=BA
其中, Δ W \Delta W ΔW 是可学习的增量权重, B ∈ R m × r B \in \mathbb{R}^{m \times r} B∈Rm×r 和 A ∈ R r × n A \in \mathbb{R}^{r \times n} A∈Rr×n 是低秩矩阵, r r r 是内在秩。
通过这种方式,更新后的权重矩阵 W W W 为:
W = W 0 + B A W = W_0 + BA W=W0+BA
其中 W 0 W_0 W0 是预训练的权重。
VLN训练的环境增强
VLN环境增强
论文探索了两种设置来利用PanoGen++生成全景环境:
- 掩码图像修复:保留全景视图的中央部分,并使用文本引导的掩码图像修复策略重建补充区域。公式表示为:
L d a = E ( x , y ) ∼ D V L N , ϵ ∼ N ( 0 , I ) , t ∥ ϵ − ϵ θ ( z t , E t x t ( y ) , t ) ∥ 2 2 \mathcal{L}_{da} = E_{(x, y) \sim D_{VLN}, \epsilon \sim \mathcal{N}(0, I), t} \left\|\epsilon - \epsilon_\theta(z_t, E_{txt}(y), t)\right\|_2^2 Lda=E(x,y)∼DVLN,ϵ∼N(0,I),t∥ϵ−ϵθ(zt,Etxt(y),t)∥22
其中, ϵ \epsilon ϵ 是从标准高斯分布中采样的噪声, z t z_t zt 是经过时间步 t t t 的噪声潜在表示, ϵ θ \epsilon_\theta ϵθ 是基于参数 θ \theta θ 的估计误差。
- 递归图像外推:通过递归过程生成全景图像,逐步旋转相机角度并根据文本描述外推未见过的观察结果。
预训练
在预训练阶段,智能体通过三个视觉-语言智能体任务进行预训练:
- 掩码语言建模(MLM):
L m l m = − log p ( w i ∣ W \ i , P T ) \mathcal{L}_{mlm} = -\log p(w_i \mid \mathcal{W}_{\backslash i}, \mathcal{P}_{\mathcal{T}}) Lmlm=−logp(wi∣W\i,PT)
- 掩码区域建模(MRM):
L m r m = − ∑ j = 1 C P i , j log P ^ i , j \mathcal{L}_{mrm} = -\sum_{j=1}^{C} P_{i, j} \log \hat{P}_{i, j} Lmrm=−j=1∑CPi,jlogP^i,j
- 单动作预测(SAP):
L s a p = − ∑ τ = 1 T log p ( a τ ∣ W , P < τ ) \mathcal{L}_{sap} = -\sum_{\tau=1}^{\mathcal{T}} \log p(a_\tau \mid \mathcal{W}, \mathcal{P}_{<\tau}) Lsap=−τ=1∑Tlogp(aτ∣W,P<τ)
总损失为:
L p t = λ 1 L m l m + λ 2 L m r m + λ 3 L s a p \mathcal{L}_{pt} = \lambda_1 \mathcal{L}_{mlm} + \lambda_2 \mathcal{L}_{mrm} + \lambda_3 \mathcal{L}_{sap} Lpt=λ1Lmlm+λ2Lmrm+λ3Lsap
微调
在微调阶段,智能体在伪交互演示器的监督下进行额外训练。伪演示器利用环境图确定目标节点,并在每次迭代中生成轨迹。公式表示为:
L p i d = ∑ t = 1 T − log p ( a t π ∣ W , P < t ) \mathcal{L}_{pid} = \sum_{t=1}^{T} -\log p(a_t^{\pi} \mid \mathcal{W}, \mathcal{P}_{< t}) Lpid=t=1∑T−logp(atπ∣W,P<t)
总微调损失为:
L f t = λ L s a p + L p i d \mathcal{L}_{ft} = \lambda \mathcal{L}_{sap} + \mathcal{L}_{pid} Lft=λLsap+Lpid
PanoGen++模型训练
领域适应训练
生成模块的领域适应过程,具体步骤如下:
- 初始化:设定迭代次数 N Δ G N_{\Delta G} NΔG。
- 采样:从数据集 D V L N D_{VLN} DVLN 中采样一批图像和描述对 { x , y } \{x, y\} {x,y}。
- 编码:使用VAE编码器 E i m g E_{img} Eimg 将图像 x x x 编码为潜在表示 z z z。
- 组合参数:结合预训练的文本到图像生成模型的参数 θ G \theta_G θG 和领域适应模块的参数 θ Δ G \theta_{\Delta G} θΔG,形成新的参数 θ \theta θ。
- 采样时间步和噪声:随机采样时间步 t t t 和噪声向量 ϵ \epsilon ϵ。
- 生成噪声潜在表示:使用噪声调度参数 a ˉ t \bar{a}_t aˉt 生成噪声潜在表示 z t z_t zt。
- 计算损失:使用全模型的噪声预测计算领域适应损失 L d a \mathcal{L}_{da} Lda。
- 更新参数:通过梯度下降更新领域适应模块的参数 θ Δ G \theta_{\Delta G} θΔG。
VLN智能体的训练
VLN智能体的训练过程,包括预训练和微调阶段。
预训练阶段
- 初始化:设定迭代次数 N p t N_{pt} Npt。
- 任务执行:
- 掩码语言建模(MLM):计算MLM任务损失 L m l m \mathcal{L}_{mlm} Lmlm。
- 掩码区域建模(MRM):计算MRM任务损失 L m r m \mathcal{L}_{mrm} Lmrm。
- 单动作预测(SAP):计算SAP任务损失 L s a p \mathcal{L}_{sap} Lsap。
- 计算总损失:将各任务损失组合成总损失 L p t \mathcal{L}_{pt} Lpt。
- 更新参数:通过梯度下降更新智能体的参数 θ a g e n t \theta_{agent} θagent。
微调阶段
- 初始化:设定迭代次数 N f t N_{ft} Nft。
- 获取环境:从原始MP3D环境中获取当前VLN环境 e o r i g e_{orig} eorig。
- 生成增强环境:使用预训练的文本到图像生成模型 G G G 和优化的领域适应模块 Δ G \Delta G ΔG 生成增强环境 e a u g e_{aug} eaug。
- 混合环境:根据指定比例 p % p\% p% 将当前环境和增强环境混合,更新轨迹 P < τ \mathcal{P}_{<\tau} P<τ。
- 计算损失:
- SAP损失:计算SAP任务损失 L s a p \mathcal{L}_{sap} Lsap。
- PID损失:计算伪交互演示器的损失 L p i d \mathcal{L}_{pid} Lpid。
- 计算总微调损失:组合SAP和PID损失,形成总微调损失 L f t \mathcal{L}_{ft} Lft。
- 更新参数:通过梯度下降更新智能体的参数 θ a g e n t \theta_{agent} θagent。
实验
实验设置
数据集
- 实验使用了三个基于Matterport3D室内环境的视觉语言导航(VLN)数据集:room-to-room (R2R)、room-for-room (R4R) 和 cooperative vision-and-dialog navigation (CVDN)。
- 这些数据集的训练集包含61个独特的房间环境,而未使用的验证和测试集分别包含11和18个房间环境。
网络训练
- 领域适应:在领域适应阶段,所有描述都是使用BLIP-2模型在R2R数据集的训练环境中生成的。领域适应模块的秩为64,使用恒定的学习率 1 0 − 7 10^{-7} 10−7,批量大小为8,经过40,000次训练迭代。
- 生成模块:生成模块基于预训练的Stable Diffusion v2.1模型及其相应的掩码图像生成模型构建。
- VLN智能体训练:
- 采用DUET架构,遵循其已建立的超参数。在单张A100 GPU上进行训练。
- 预训练阶段使用批量大小64,进行100,000次迭代,优化器为Adam,学习率为 5 × 1 0 − 5 5\times 10^{-5} 5×10−5。微调阶段使用批量大小8,学习率为 1 × 1 0 − 5 1\times 10^{-5} 1×10−5,进行40,000次迭代。
结果对比
评估指标
- R2R和R4R数据集:使用轨迹长度(TL)、导航误差(NE)、成功率(SR)和路径长度加权的成功率(SPL)作为评估指标。
- CVDN数据集:使用目标进度(GP)作为唯一指标,测量完成轨迹的长度与到目标的剩余距离之间的平均差异。
基线方法
为了评估PanoGen++的有效性,论文将其与其他基线方法进行了比较,分为两类:
- 环境增强方法:如EnvDrop、AirBERT、REM、EnvEdit、SE3DS和PanoGen。
- 表示学习方法:如PREVALENT、RecBERT、HAMT、MARVAL和DUET。
定性比较
- 生成的环境:展示了PanoGen++生成的全景环境与PanoGen生成的环境的比较。PanoGen++在捕捉复杂细节方面表现出色,特别是在教堂壁画等细节上。
- Fréchet inception distance:用于量化合成图像与真实图像之间的相似性。PanoGen++在Matterport3D设置中显著优于PanoGen,显示出更高的视觉真实性。
定量比较
- R2R数据集:PanoGen++在验证未见和测试未见集上的主要指标(SR和SPL)中表现优异。特别是,在掩码图像填充设置下,PanoGen++在测试未见集上达到了73.47%的SR和62.05%的SPL。
- R4R数据集:PanoGen++在SR上提高了2.28%,在NE上减少了3.65,显示出其在处理更复杂的导航场景中的有效性。
- CVDN数据集:PanoGen++在GP上达到了6.13米,比PanoGen高出0.5米,表明其在基于对话历史的导航任务中具有更好的泛化能力。
消融研究
论文进行了三组实验以研究PanoGen++增强环境的效果、全景环境数量与智能体性能之间的关系,以及领域适应模块的秩的影响。
环境增强的效果
- 替换观察结果:通过在轨迹中随机替换观察结果,验证了PanoGen++环境对智能体泛化能力的提升。结果表明,这种替换在所有数据集上都提高了导航性能。
不同掩码策略的影响
- 掩码策略:研究了四种不同的掩码策略(稀疏区域掩码、广泛区域掩码、半图像掩码和外围区域掩码)。结果显示,保留中心区域的策略在多个评估指标上表现最佳。
全景环境数量的影响
- 环境数量:通过使用不同数量的全景视图进行训练,发现更多的全景环境可以持续提高智能体的性能。
领域适应模块的秩的影响
- 秩的影响:分析了不同秩对智能体性能的影响。结果表明,适当的秩选择可以显著提高模型的性能。
局限与讨论
高级目标导向探索任务的性能
- REVERIE数据集:在REVERIE数据集上进行了额外实验,结果表明PanoGen++在多个指标上优于其前身PanoGen,但仍低于AZHP和DUET等最先进的方法。
失败案例分析
- 失败案例:通过详细的失败案例分析,识别了几何不一致性和特定区域的质量下降等问题,指出了进一步改进的方向。
总结
- 论文提出了PanoGen++,通过结合预训练生成模型和领域特定的微调,生成适用于VLN任务的全景环境。
- 实验结果表明,PanoGen++在多个VLN数据集上均取得了显著的性能提升,验证了其有效性和鲁棒性。
- 尽管如此,PanoGen++生成的环境多样性仍受限于训练数据的质量和范围,未来研究可以进一步探索更多样化的数据集和先进的文本到图像生成模型。