给纯粹小白看的哦

1. VLN模型的通用网络层组成

视觉语言导航(VLN)模型的任务是从视觉输入(如RGB图像/视频)和语言指令(如“向右转,走到绿色地毯”)预测导航动作(如前进、左转)。一个典型的VLN模型网络结构可以分解为以下几个层次,每层有特定功能:

(1)输入层

  • 作用:接收原始输入,包括视觉数据(图像、视频)和语言指令(文本)。

  • 视觉输入:

    • 形式:RGB图像、视频序列、深度图、或全景图。

    • 处理:将图像/视频分割为小块(patch)或帧,转换为数字张量(如3×224×224的RGB张量)。

  • 语言输入:

    • 形式:自然语言文本(如“Turn left at the door”)。

    • 处理:通过分词器(tokenizer)将文本拆分为单词或子词(如“turn”、“left”),转换为数字ID序列。

(2)视觉编码层

  • 作用:将视觉输入(图像/视频)编码为特征向量(称为视觉token),提取场景中的语义信息(如物体、地标)。

  • 常见实现:

    • 卷积神经网络(CNN):如ResNet、EfficientNet,提取图像的空间特征。

    • 视觉Transformer(ViT):如CLIP-ViT,将图像分割为patch,通过Transformer编码为token序列。

    • 视频编码器:如TimeSformer、VideoMAE,处理视频的时空特征。

  • 输出:一组视觉特征向量(如512维向量或token序列),表征场景内容(如“桌子”、“门”)。

(3)语言编码层

  • 作用:将语言指令编码为特征向量(语言token),提取指令的语义和逻辑(如“向右转”对应转向动作)。

  • 常见实现:

    • 循环神经网络(RNN):如LSTM、GRU,处理文本序列(早期VLN常用)。

    • Transformer模型:如BERT、LLaMA,基于自注意力(self-attention)编码文本。

    • 大语言模型(LLM):如Vicuna,预训练于海量文本,擅长复杂指令理解。

  • 输出:一组语言特征向量(如768维token序列),表征指令内容。

(4)多模态融合层

  • 作用:将视觉token和语言token融合,生成统一的表示,用于导航决策。核心是让模型理解指令(如“绿色地毯”)与视觉场景的对应关系。

  • 常见实现:

    • 拼接+全连接层:将视觉和语言特征拼接,通过全连接层(FC)融合(早期方法)。

    • 跨模态注意力:用Transformer的cross-attention机制,让视觉和语言特征相互影响。

    • 预训练VLM:如CLIP、BLIP,预训练于图像-文本对,直接生成融合特征。

  • 输出:融合后的特征向量或token序列,表征视觉-语言的联合语义。

(5)导航决策层(动作预测层)

  • 作用:基于融合特征,预测下一步导航动作(如Forward、Left、Right、Stop)。

  • 常见实现:

    • 全连接层+Softmax:将融合特征映射到动作概率,输出动作类别。

    • 强化学习(RL):如PPO,通过奖励优化动作序列。

    • 模仿学习(IL):如DAgger,模仿专家轨迹生成动作。

  • 输出:动作概率分布或具体动作。

(6)训练与损失层

  • 作用:通过损失函数优化模型参数,确保视觉-语言-动作的正确映射。

  • 常见实现:

    • 交叉熵损失:监督动作预测与专家轨迹的对齐。

    • RL奖励:如接近目标的奖励,优化导航效率。

    • 对比损失:如CLIP的InfoNCE损失,增强视觉-语言对齐。

2. 核心名词解释:CLIP、BERT、Transformer等

一些术语(如CLIP、BERT、Vicuna),这些是VLN模型的基础组件。以下是通俗解释,结合VLN中的作用:

(1)CLIP

  • 是什么:OpenAI的视觉语言模型,预训练于4亿图像-文本对(如图片+描述),能将图像和文本映射到同一特征空间。

  • 怎么工作:

    • 视觉部分:ViT将图像分割为patch,编码为特征向量。

    • 语言部分:Transformer编码文本为特征向量。

    • 对比学习:用InfoNCE损失让相关图像-文本对齐(如“猫”对应猫的图片)。

  • 在VLN中的作用:

    • 提取图像/视频的语义特征(如识别“绿色地毯”)。

    • 提供视觉-语言对齐基础。

(2)BERT

  • 是什么:Google的语言模型,预训练于海量文本(如维基百科),擅长理解自然语言。

  • 怎么工作:

    • Transformer架构:多层自注意力,编码文本为token序列。

    • 预训练任务:掩码语言建模(MLM,预测被掩盖的词)和下一句预测(NSP)。

(3)Transformer

  • 是什么:一种神经网络架构,核心是自注意力(self-attention),擅长处理序列数据(如文本、token)。

  • 怎么工作:

    • 自注意力:计算序列中每个元素与其他元素的关系(如“door”与“left”)。

    • 多层堆叠:多层Transformer(Encoder/Decoder)提取深层特征。

  • 在VLN中的作用:

    • 视觉编码(如ViT)。

    • 语言编码(如BERT、Vicuna)。

    • 多模态融合。

(4)Vicuna-7B

  • 是什么:基于LLaMA的开源LLM,7B参数,优化对话和指令理解。

  • 怎么工作:

    • Transformer架构:类似BERT,但更大规模,预训练于对话数据。

    • 微调:在指令跟随任务上微调,擅长复杂指令。

  • 在VLN中的作用:

    • 编码语言指令,参与动作预测。

    • 提供推理能力,适配长程任务。

(5)EVA-CLIP

  • 是什么:CLIP的增强版,优化ViT结构,预训练于更大规模数据。

  • 怎么工作:

    • 更大模型(如ViT-Large)、更多数据(如10亿图像-文本对)。

    • 提升视觉特征的语义丰富性。

  • 在VLN中的作用:

    • 编码视频帧,生成高质量视觉token。

(6)多模态融合

  • 是什么:将视觉和语言特征整合的过程,确保模型理解两者的对应关系。

  • 怎么工作:

    • 简单融合:拼接特征+全连接层。

    • 高级融合:跨模态注意力(如Transformer),让视觉和语言相互影响。

  • 在VLN中的作用:

    • 匹配指令中的地标(如“door”)与视觉场景。

3. 总结VLN模型网络层的通用模式

一个典型的VLN网络包含以下层次:

  1. 输入层:视觉(图像/视频)+语言(文本)。

  2. 视觉编码层:CNN(如ResNet)或ViT(如CLIP、EVA-CLIP)。

  3. 语言编码层:RNN(如LSTM)或Transformer(如BERT、Vicuna)。

  4. 多模态融合层:拼接+FC或跨模态Transformer。

  5. 导航决策层:全连接层+Softmax,或RL/IL策略。

  6. 训练与损失层:交叉熵、RL奖励、对比损失。

Logo

欢迎加入 MCP 技术社区!与志同道合者携手前行,一同解锁 MCP 技术的无限可能!

更多推荐