首页 文章详情

Shikra:新一代多模态大语言模型,理解指向,说出坐标

机器学习与生成对抗网络 | 32 2023-07-18 00:34 0 0 0
UniSMS (合一短信)

本文来源  arXiv每日学术速递 侵删


卧剿,6万字!30个方向130篇!CVPR 2023 最全 AIGC 论文!一口气读完


 Shikra:解锁多模态语言模型参考对话的魔法 🪄


8406d5e00f336f7d2c61ac9675873908.webp

Shikra和用户的对话案例


  • 在人类的日常交流中,经常会关注场景中的不同区域或物体, 双方 都可以通过说话并 指向 这些区域来进行高效的信息交换。我们将这种对话模式称为 参考对话(Referential Dialogue)💬

  • 如果多模态大语言模型(MLLM) 擅长这项技能,它将带来许多令人兴奋的应用。例如,将其应用到 Apple Vision Pro 等混合现实 (XR) 眼镜中,用户可以使用 视线注视 指示任何内容与AI对话。同时AI也可以通过 高亮等形式来提示某些区域 ,实现与用户的高效交流;

  • 本工作提出了  Shikra   模型,赋予了MLLM这样的参考对话的魔法,既可以理解 位置输入 ,也可以产生 位置输出



bf8d7579e2953412435981b7fabf21cd.webp

📃论文链接:http://arxiv.org/abs/2306.15195

⚙️代码链接:https://github.com/shikras/shikra 


01


工作亮点


  1. Shikra 能够理解用户 输入 的 Point/Box,并支持 Point/Box 的 输出 ,可以和人类无缝地进行参考对话;
  2. Shikra 设计简单统一,采用非拼接式设计,直接使用 数字 表示坐标, 不需要 额外的位置编码器、前/后目标检测器或外部插件模块,甚至 不需要 额外的词汇表。



02


模型效果


bc3b7781520296c6600ea5b59788b240.webp


比如上图,用户指着右边的女生问 Shikra:“这个人[bbox]的感受如何?” Shikra 回复说:“这个人[bbox]感觉到惊喜和高兴。我们可以根据:她用手[bbox]捂着脸,看着这个男人[bbox]送她一束花[bbox]推断出来” Shikra 不仅推理正确,并且在提到关键视觉线索的时候还会提供在图上的坐标,这让沟通更加准确高效;


9125f6d9f171d19b0a2b7d47d601c8b7.webp


我们来看来自GPT4论文中的网红图片。相比GPT4的回复,Shikra 的回复不光 Get 到了图片的诙谐之处,还更确切指出了每个需要被关注的目标的具体位置。作为对比,下面是GPT4的回答:

60302300cc8ee0a041b157dc4c2baa24.webp


我们在下面再展示几个例子,更多的例子可以查阅 Paper


983ec9eeb18740e3ef36adb4924b2ce1.webp比如 Shikra 会拼拼图,知道用户指出的拼图块应该拼到哪里。


ff7650ecbe0a9367e86758101cb5ab2a.webp

用户指出两个区域, Shikra 会分辨出哪一个是镜像,哪一个是真身。

1a35cd84e10e7eaa00ed9b7f42f8d590.webp

问 Shikra 这是不是兔兔🐰,她也不会上当,会指出这是一个小柴,只是穿着带着兔兔耳朵的衣服,在反驳时,Shikra 会一个一个指给你看290698e3f61d9c0d16be058ad1d7e02e.webp

03


Box/Point 都行


对于输入输出模型还支持使用点(Point) 的形式,无论是电脑上的鼠标点击,还是Vision Pro的注视点,都用起来更加方便。下面是在 PointQA数据集上的例子:

5548cd54bb8e93445e53c1df5a1c0378.webp

当然 Shikra 也支持Point的输出,比如Visual-7W中的例子,从诸多框中选择一个作为答案:
126e8ef9a9c88a3cd5a113cc25bf3861.webp


04


传统任务


参考对话(RD)是很多视觉-语言(VL)跨模态任务的超集,因此 Shikra 天然可以适配到不同的任务上,比如下面的表达式生成任务(REG) 要为用户指定的区域生成图片中图一无二的描述:

d12fc9f3810c033031933459a056d21d.webp

这难不倒 Shikra,她正确地说出了这是一个坐着三个人的长凳。 另外我们可以看下VL领域经典的表达式定位任务(REC),要求模型定位出用户给出的表达式:

b253198677facb07baee124fde8505dc.webp

93d5aac85c343f708de28267b4aaecba.webp

定位出背景中的人,定位出风筝的线,都没有问题。示例看的不过瘾?可以看看的在REC上的定量指标Shikra 取得了很不错的成绩:

75e7e0dceb13b48be5ace14e5a52db7b.webp

Shikra 也有一定的OCR能力,尽管没有专门在相关的数据上训练:

3dc10932867b2f72640bb98a7bb0a4e0.webp

还有本工作定义的任务,Spotting Captioning 任务,模型需要边描述图片边写出提到的物体的坐标,效果就像这样:

417d75be9b622be6400b13358e1dc1ad.webp

在最经典的 VQA 和 Image Captioning 的定量评价上,Shikra也取得了 promising 的结果:

23c47705a1da8d3f204e24cdd25be212.webp

在最新的POPE评价指标上,Shikra 也表现不错,取得和InstrcutBLIP相当的结果,并远超近期其他MLLMs:

c84923d6e13d79cca74f0e2ec98a10e3.webp


05


Shikra 原理


模型架构采用CLIP ViT-L/14 作为视觉主干,Vicuna-7/13B 作为语言基模型,使用一层线性映射连接CLIP和Vicuna的特征空间。

Shikra  直接使用自然语言中的 数字 来表示物体位置 ,使用[xmin, ymin, xmax, ymax] 表示边界框,使用[xcenter, ycenter]表示中心点,xy 坐标根据图像大小进行 归一化 每个数字默认保留 3 位小数 这些坐标可以出现在模型的输入和输出序列中的任何位置,记录坐标的方括号也自然地出现在句子中。在论文中,本工作也尝试使用其他方式进行数值表示,并做了定量的对比实验,感兴趣的朋友可以查看论文。


06


新思维链形式


思想链(CoT),旨在通过在最终答案前添加推理过程以帮助LLM回答复杂的QA问题。这一技术已被广泛应用到自然语言处理的各种任务中。目前的MLLM还存在严重的幻视问题,CoT也经常会产生幻觉,影响最终答案的正确性。通过在合成数据集CLEVR上的实验,本工作发现,使用带有位置信息的CoT时,可以提升模型回答的准确率。

672312edc37d59769159cc64d68889a8.webp

如果只用纯文本的CoT,模型性能反而会降低,甚至不如不用CoT的结果。但是在CoT中包含坐标信息,性能得到了提升,我们将这种新的 CoT 方式称为  Grounding-CoT(GCoT) 。不过该探究仍然比较初步,仍是值得去论证的方向。

07


总结


本工作介绍了一种名为 Shikra 的简单且统一的多模态大语言模型,以自然语言的方式理解与输出空间坐标,为MLLM增加了类似于人类的参考对话能力,无需引入额外的词汇表、位置编码器或外部插件; 代码、模型、数据均开源在: https://github.com/shikras/shikra 


关注公众号【机器学习与AI生成创作】,更多精彩等你来读

深入浅出stable diffusion:AI作画技术背后的潜在扩散模型论文解读

深入浅出ControlNet,一种可控生成的AIGC绘画生成算法! 

经典GAN不得不读:StyleGAN

70a11d08cebb86d315cd30c578205603.webp  戳我,查看GAN的系列专辑~! 一杯奶茶,成为AIGC+CV视觉的前沿弄潮儿!
最新最全100篇汇总!生成扩散模型Diffusion Models ECCV2022 | 生成对抗网络GAN部分论文汇总
CVPR 2022 | 25+方向、最新50篇GAN论文
 ICCV 2021 | 35个主题GAN论文汇总
超110篇!CVPR 2021最全GAN论文梳理
超100篇!CVPR 2020最全GAN论文梳理

拆解组新的GAN:解耦表征MixNMatch

StarGAN第2版:多域多样性图像生成

附下载 | 《可解释的机器学习》中文版

附下载 |《TensorFlow 2.0 深度学习算法实战》

附下载 |《计算机视觉中的数学方法》分享

《基于深度学习的表面缺陷检测方法综述》

《零样本图像分类综述: 十年进展》

《基于深度神经网络的少样本学习综述》


《礼记·学记》有云:独学而无友,则孤陋而寡闻

点击 一杯奶茶,成为AIGC+CV视觉的前沿弄潮儿! ,加入  AI生成创作与计算机视觉  知识星球!

good-icon 0
favorite-icon 0
收藏
回复数量: 0
    暂无评论~~
    Ctrl+Enter