MiniDrive:面向自动驾驶的更高效的视觉语言模型
名称 | 内容 |
---|---|
论文 | MiniDrive: More Efficient Vision-Language Models with Multi-Level 2D Features as Text Tokens for Autonomous Driving |
链接 | https://arxiv.org/abs/2409.07267 |
源码 | https://github.com/emzucas/minidrive |
Abstract
- 存在的问题
- 模型太大,难以部署
- 目前的VLMs模型,缺乏处理多张图片的能力,导致其难以适应多机位的感知任务
- 主要贡献
- 提出了a novel framework,名字叫
MiniDrive
- 提出了 the Feature Engineering Mixture of Experts (
FE-MoE
) - 提出了 the Dynamic Instruction Adapter (
DI-Adapter
) - 提出的MiniDrive达到了SOTA的表现,在同参数量级上,最小的版本仅仅83M parameters(8300万)
- 提出了a novel framework,名字叫
Introduction
-
存在的问题
- 模型太大,难以部署,现有的方法基本都是用计算昂贵的visual encoders和 large language models (LLMs),例如visual encoders使用CLIP,LLM使用GPT3.5等。
- 虽然近期有一篇 EM-VLM4AD 的论文,提出了一个轻量的架构,第一次尝试在自动驾驶领域使用轻量模型并达到优秀的结果,这篇论文中的模型虽然参数量减少了很多,但是与数据集的Baseline相比较,表现还是差了很多。
- 目前的VLMs模型,缺乏处理多张图片的能力,导致其难以适应多机位的感知任务
-
本文方法
- 提出了a novel framework,名字叫
MiniDrive
,相比于传统的VLM架构,MiniDrive不是一个基于Transformer的统一架构,该模型the first time
使用高效的大卷积核网络UniRepLKNet作为vision encoder,使其能在不同图像层次上高效快速的提取2D特征。 - 提出了 the Feature Engineering Mixture of Experts (
FE-MoE
),FE-MoE高效的将多个图像的2D features映射为visual token embeddings,具体的,UniRepLKNet 捕获图像的2D特征, FE-MoE 处理多个2D特征(因为有多个图像),将其映射为文本 tokens,无需分阶段训练即可进行跨模态的细粒度对齐,有效减少视觉特征 tokens 的数量并最大限度地降低特征冗余。 - 通过残差结构引入了 the Dynamic Instruction Adapter (
DI-Adapter
),DI-Adapter使visual token embeddings能够动态的根据用户文本指令进行变化,解决了对于相同的图像不同的文本指令,每次得到的visual token embeddings都是一样的问题,有效地促进文本和图像之间的跨模态理解。
- 提出了a novel framework,名字叫
-
任务及结果
如下图所示,MiniDrive 处理多张输入图像及用户指令,生成自然语言响应,包括自动驾驶中最关键的感知、规划和预测问答能力
多个MiniDrive可以在 24GB 内存的 RTX 4090 GPU 上进行完整训练。如下图(b)中,MiniDrive 224 只有 83M 参数,浮点运算量仅为 5.9B,显著低于当前用于自动驾驶的视觉-语言模型。在响应性能方面,MiniDrive 在问答能力上优于一系列之前的模型。值得注意的是,其响应质量超越了拥有数十亿参数的模型。此外,MiniDrive 支持单张和多张图像输入。在图 (c)中,MiniDrive 在单图像评估系统 CODA-LM(Li 等人,2024)中优于具有 7B 参数及以上的开源模型,并接近闭源商用模型的性能。
Method
如上图所示,描述了MiniDrive架构和其他架构的不同,对于其他架构使用的都是Transformer架构的Vision Encoder,而MiniDrive使用的是CNN,并且在还在输入Language Model之前还将Text Embedding和visual tokens进行了动态适应。
Model Architecture
如上图 (a) 显示了MiniDrive的整体结构。在MiniDrive中,主要有两个分支:视觉和文本。
- 对于视觉分支,nnn张图像作为视觉编码器的输入,形状为 R3×H×WR^{3 \times H \times W}R3×H×W,每张图像都得到一组深层的二维特征表示 V2D∈Rc×h×wV^{2D} \in R^{c \times h \times w}V2D∈Rc×h×w。这些特征随后被输入到FE-MoE中,在FE-MoE中,多个experts沿通道维度 ccc 压缩信息,并沿高度 hhh 和宽度 www 维度展开,以生成新的二维特征表示。在FE-MoE中,Gate网络会根据每张图像的需求来确定哪个专家更适合进行处理,并为每个专家分配不同的权重值。最后,通过加权求和来组合这些新的二维特征表示,得到新的特征集Vmoe∈Rc′×h′×w′V^{moe} \in R^{c' \times h' \times w'}Vmoe∈Rc′×h′×w′。将 VmoeV^{moe}Vmoe 展平成 V∈Rl1×dim1V\in R^{l_1\times \text{dim}_1}V∈Rl1×dim1,其中长度 l1l_1l1 对应于之前的 c′c'c′,维度 dim1\text{dim}_1dim1 对应于之前的 h′×w′h' \times w'h′×w′。然后,投影层将 dim1\text{dim}_1dim1 映射为 dim\text{dim}dim,从而得到 V∈Rl1×dimV \in R^{l_1 \times \text{dim}}V∈Rl1×dim。
- 对于文本分支,用户的自然语言指令通过分词器和嵌入层进行处理,得到文本的词嵌入 T∈Rl2×dimT \in R^{l_2 \times \text{dim}}T∈Rl2×dim。文本嵌入序列 TTT 被用作key (k) 和value (v),而此时的视觉嵌入序列 VVV 被用作query (q)。这些被输入到DI适配器中以计算新的视觉嵌入序列 V1V_1V1,该序列现已结合了来自文本嵌入 TTT 的上下文信息,从而实现了更好的跨模态理解或决策能力。V1V_1V1 然后通过残差连接与 VVV 相结合,形成序列 VinputV^{input}Vinput,而 TTT 被视为 TinputT^{input}Tinput。接着,连接后的序列 [Vinput,Tinput][V^{input}, T^{input}][Vinput,Tinput] 被用作语言模型的输入。
- 语言模型解码生成预测概率最高的词序列。整个框架能够有效处理多图像输入信息,动态响应用户查询。
Vision Encoder
如上图(b)所示,视觉编码器的主干网络基于大核神经网络UniRepLKNet,该网络在多个模态中展现了出色的性能。它有效利用了大核卷积的特性,能够在不深入网络层次的情况下实现较宽的感受野。在保持高效计算的同时,它在各种任务中达到了或超越了当前最先进技术的性能。这种通用性和效率使其成为一个具有广泛感知任务潜力的强大模型。
如上图Figure 4所示,对UniRepLKNet架构的简要描述,它主要由多个顺序连接的Stage层组成。每个Stage主要由一系列Lark Block和Smak Block构成。在MiniDrive中,作者使用UniRepLKNet作为视觉网络的主干,其中输入图像并从最终的第n层Stage中获得输出特征图 F1∈Rc×h×wF1 \in R^{c \times h \times w}F1∈Rc×h×w。
FE-MoE
在上图(b)中,展示了FE-MoE的具体结构,该结构旨在处理来自多张图像的二维输入特征。每张输入图像对应由视觉编码器输出的特征图 F1∈Rc×h×wF_1 \in R^{c \times h \times w}F1∈Rc×h×w。为了高效地进一步处理每张图像的二维特征表示,它们被输入到FE-MoE中。首先,F1F_1F1 通过Gate网络以获得对应于样本的专家选择权重。Gate网络主要由卷积层、最大池化层和线性层组成,如下公式所示:
Weights=Softmax(Gate(F1))
\text{Weights} = \text{Softmax}(\text{Gate}(F_1))
Weights=Softmax(Gate(F1))然后,F1F_1F1 通过每个Expert网络,产生一个新的特征表示 F2∈Rc′×h′×w′F_2 \in R^{c' \times h' \times w'}F2∈Rc′×h′×w′。每个专家网络主要由反卷积层、ReLU层和卷积层构成。反卷积层首先进行初步的上采样映射,增加特征图的宽度和高度,以扩展信息量,便于后续的映射学习。同时,它减少原始特征图的通道数量,以最小化数据冗余并选择最重要的二维特征表示信息,显著简化了后续视觉token的数量。卷积层进一步转换特征以增强专家的学习 能 力。公式如下:
F2=Conv(ReLU(Deconv(F1)))
F_2 = \text{Conv}(\text{ReLU}(\text{Deconv}(F_1)))
F2=Conv(ReLU(Deconv(F1))) F1∈Rc×h×w→F2∈Rc↓×h↑×w↑=F2∈Rc′×h′×w′
F_1 \in R^{c \times h \times w} \rightarrow F_2 \in R^{c\downarrow \times h\uparrow \times w\uparrow} = F_2 \in R^{c' \times h' \times w'}
F1∈Rc×h×w→F2∈Rc↓×h↑×w↑=F2∈Rc′×h′×w′其中,c↓c\downarrowc↓ 表示通道数减少,而 h↑h\uparrowh↑ 和 w↑w\uparroww↑ 分别表示特征图的高度和宽度增加。在此上下文中,F2F_2F2 表示单个专家的输出。给定第 iii 个专家对于图像的权重为 WiW_iWi,且该专家的输出为 FiF_iFi,总的专家数为 NNN,经过FE-MoE模型处理后的图像特征 VmoeV^{moe}Vmoe 表示如下:
Fi=Experti(VisionEncoder(Image))
F_i = \text{Expert}_i(\text{VisionEncoder}(\text{Image}))
Fi=Experti(VisionEncoder(Image))Vmoe=∑i=1NWi⋅Fi
V^{moe} = \sum_{i=1}^{N} W_i \cdot F_i
Vmoe=i=1∑NWi⋅Fi
FE-MoE的作用是高效的将2D的特征图转换为适合语言模型输入的Text Token
DI-Adapter
在以前的视觉-语言模型中,图像表示在输入到语言模型之前是固定的,并且在进入语言模型进行计算之前,它们会对应于不同的文本表示。为了使图像表示在输入语言模型之前能够根据不同的文本表示动态地进行转换,从而提升跨模态理解,作者引入了动态指令机制并设计了动态指令适配器(Dynamic Instruction Adapter)。
如上图所示,左图(a) 表示的是过去的VLM模型,其中只要输入的图片不变,则输入进Language Model中的Image Token也不会变,而对于右图(b),会将Text embedding和Image Embedding进行一个自适应,根据Text Embedding动态调整Image Embedding,这样就更好的提升了夸模态的理解。
具体过程如上图所示,将文本输入序列 TTT 用作key(kkk)和 value(vvv),而图像输入序列 VVV 用作query(qqq)。通过交叉注意力(cross-attention),计算融合了文本上下文信息的序列 V′V'V′。公式如下所示:
V′=CrossAtt.(q=V,k=T,v=T)
V' = \text{CrossAtt.}(q = V, k = T, v = T)
V′=CrossAtt.(q=V,k=T,v=T)然后将V′V'V′通过残差连接与投影层的输出序列VVV相连接,作为输入到语言模型之前的视觉表示。关于额外语言模型输出的训练细节,可在附录中找到。
Experiments
Experimental Settings
-
数据集(Datasets)
在DriveLM数据集上进行实验。为了确保实验的公平性,作者使用与EM-VLM4AD相同的训练和评估协议,即相同的训练集、验证集和测试集。训练集包含约340,184个不同的多视图/问答(QA)对,而测试集和验证集各包含18,899个不同的多视图/问答对。
-
模型(Models)
基于不同版本的UniRepLKNet模型作为视觉主干构建了不同版本的MiniDrive,主要区别在于它们学习视觉标记嵌入的能力。作者使用UniRepLKNet-A作为视觉主干来处理分辨率为224×224224 \times 224224×224的图像,并使用UniRepLKNet-S来处理分辨率为384×384384 \times 384384×384的图像。以T5-small语言模型为基础。
-
评估指标(Evaluation metrics)
为确保评估的公平性和可复现性,作者采用与EM-VLM4AD相同的评估方法,对DriveLM数据集的模型从四个不同的角度进行评估:BLEU-4(Papineni et al., 2002)、ROUGE-L(Lin, 2004)、METEOR(Banerjee and Lavie, 2005)和CIDEr(Vedantam et al., 2015)。
-
实现细节(Implementation details)
每个模型在单个RTX 4090 GPU上训练。视觉编码器被冻结,其余参数以初始学习率1×10−41 \times 10^{-4}1×10−4和权重衰减0.050.050.05进行训练。每个模型在训练集上训练6个epoch。需要注意的是,在后续实验中,MiniDrive默认指MiniDrive 224版本,每张图像的tokens数量设置为16,experts数量设置为4。
Quantitative Results
如下面表1中,作者将MiniDrive在测试集上的评估结果与之前的工作进行了比较,包括EM-VLM4AD和Drive-Agent。在各项指标的总体表现上,MiniDrive 224和MiniDrive 384均优于之前的方法,尽管DriveLM-Agent在BLEU-4上超过了MiniDrive,但其参数量显著大于MIniDrive,达到3.96B。
Computational Analysis
在本节中,主要比较了MiniDrive与一系列现有视觉-语言模型在参数量、浮点运算次数(FLOPs)和内存使用量(GB)方面的差异。结果如下表2所示。以输入图像分辨率为224为例,MiniDrive在这三个方面均表现出色。
Qualitative Examples
在图5中,展示了MiniDrive在三种不同任务上对未见样本的实际响应。为了提供MiniDrive对多视图图像输入的感知分析,论文分析了MiniDrive在不同场景下的激活图。
在图5 (a)中,MiniDrive展示了对多个图像输入的感知问答,蓝框表示用户指令中引用的“左后”位置的图像。红框对应MiniDrive的响应,主要关注该图像,并在指定位置识别出“多辆汽车、一辆卡车和一名行人”。
在图5 (b)中,MiniDrive展示了对多个图像输入的规划问答。根据用户指令和空间术语“CAM_FRONT”,MiniDrive集中在对应前方图像的左侧红框上。这一关注点与人类在做出规划决策时考虑的元素一致,包括自车左侧的车道标记和车辆。
在图5 ©中,MiniDrive展示了对多个图像输入的预测问答。根据用户指令预测“左前方”位置行人的运动,MiniDrive集中在对应位置图像中的行人,突出显示为红框。综上所述,MiniDrive在激活图中关注的对象与人类驾驶员在驾驶过程中遵循的推理过程一致,表明MiniDrive具有一定的可靠性和可解释性。
Ablation Studies
为了验证各模块的有效性,作者设计了一系列消融实验。在表3中,研究了FE-MoE和动态指令适配器(DI-Adapter)对MiniDrive的影响。当单独引入FE-MoE和动态指令适配器时,各项指标的结果有所提升,而当两个模块同时引入时,效果更佳。这表明各模块之间的机制具有有效性。其他消融实验的详细信息请参见附录。
Further analysis
尽管MiniDrive 被设计为一个自动驾驶问答模型,能够接收多张图像输入。其工作原理是从多张图像中提取、压缩并重新学习信息,将其转换为供语言模型使用的text Token。然而,它同样可以用于单张图像输入任务。作者在 CODA-LM 数据集上将其与现有的主流开源和闭源通用模型进行了比较,结果如表 4 所示。可以看出,尽管 MiniDrive 只有 8300 万参数,但它表现出色,超越了开源模型,并接近闭源模型的性能。由于训练数据分布的问题,作者认为这可能是 MiniDrive 在识别“Cone”(锥形物体)方面能力突出的主要原因。更详细的信息可以在附录中找到。