LISA(推理分割)笔记

LISA(推理分割)笔记

简介

这篇论文题目中文翻译是 基于大型语言模型的语义分割, 提出了一个新任务-推理分割。大概就是给一张图和一段话,模型使用大语言模型分割出目标。作者给了一个例子,从图片中分割出富含维生素C的物品。

作者说这篇论文有三个贡献,提出了推理分割的任务,建立了一个推理分割基准,ReasonSeg, 还有训练了一个模型。

项目主页GitHub

LISA可以完成四种任务 1) complex reasoning; 2) world knowledge; 3) explanatory answers; 4) multi-turn conversation

模型架构

生成mask

这里作者提出了一些问题,就是大部分llm是不具备视觉能力,有视觉能力的泛化型不好还不好训练。相比之下,训练 LISA-7B 在 8 个 NVIDIA 24G 3090 GPU 上只需要 10,000 个训练步骤。(嗯8块3090)

image.png 模型结构就是上面这张图,右下角标了火花的就说明是需要训练或者微调的。首先扩充词表,加入<SEG> ,接下来给出一张图片\(x_{img}\)和一段文本\(x_{txt}\), 将他们送入大语言模型\(\mathcal{F}\) ,写成公式就是\[\hat{\boldsymbol{y}}_{txt}=\mathcal{F}(x_{img},\boldsymbol{x}_{txt}).\] 当LLM倾向于生成二进制分割掩码时,输出\(\hat{\boldsymbol{y}}_{txt}\)应该包含一个<SEG>令牌。所以提取最后一层嵌入\(\hat{h}_{seg}\) (因为他和<SEG> token 是相关的), 并用一个MLP \(\gamma\) 将其投影到\(h_{seg}\)

同时,视觉编码器\(\mathcal{F_{enc}}\) 会从图片中提取出视觉特征\(\text{f}\)

最后\(h_{seg}\)\(\text{f}\) 会被送入一个和SAM有相同架构的解码器,获得最后的mask.

整个过程表示出来就是\[\begin{gathered}\boldsymbol{h}_{seg}=\gamma(\hat{\boldsymbol{h}}_{seg}),\quad\boldsymbol{f}=\mathcal{F}_{enc}(\boldsymbol{x}_{img}),\\\hat{\boldsymbol{M}}=\mathcal{F}_{dec}(\boldsymbol{h}_{seg},\boldsymbol{f}).\end{gathered}\] ### 训练目标 训练目标是文本生成损失 \(\mathcal{L}_{txt}\) 和分割掩码损失 \(\mathcal{L}_{mask}\) 进行端到端训练。总体目标 \(L\) 是这些损失的加权和,由 \(\lambda_{txt}\)\(\lambda_{mask}\) 确定\[\mathcal{L}=\lambda_{txt}\mathcal{L}_{txt}+\lambda_{mask}\mathcal{L}_{mask}.\] ## 训练 ### 数据集 训练数据由三部分组成,都是开源数据集 1. Semantic Segmentation Dataset 2. Vanilla Referring Segmentation Dataset 3. Visual Question Answering Dataset

值得注意的是,LISA具有zero-shot能力,因为训练集不包含任何推理分割的内容。

需要训练的参数

为了保持llm的泛化能力作者用了lora,解码器可以被微调,llm的词嵌入和投影最后一层潜入的mlp也可以微调


LISA(推理分割)笔记
https://studyinglover.com/2023/08/18/LISA(推理分割)笔记/
作者
StudyingLover
发布于
2023年8月18日
许可协议