视觉语言大模型的幻觉问题

视觉语言大模型经常会产生幻觉,本文借助一篇综述 A Survey on Hallucination in Large Vision-Language Models 来总结LVLM 幻觉产生的原因和可能的解决方法。

大模型幻觉产生的原因

在这里插入图片描述

训练数据导致的幻觉

  • 数据偏见 (Data Bias). 数据缺乏多样化的指令学习,例如事实判断经常回答“是”,模型只会描述图像而不会其他任务。
  • 标注无关性 (Annotation Irrelevance). 大量的指令数据主要是通过大型语言模型(LLMs)从图像字幕和检测数据合成得到的。然而,由于这些生成模型的不可靠性,这种方法面临着标注相关性的挑战:生成的长指令中常常包含与图像中精细内容不相符的对象、属性和关系.

视觉编码产生的幻觉

LVLM 通常使用 CLIP 作为视觉编码器,CLIP虽然能够将文本与视觉特征映射到同一空间中,但CLIP 全面表达视觉信息方面仍存在局限性,比如视觉分辨率的限制以及对细粒度视觉语义表达的不足。这意味着CLIP可能无法精确捕捉到图像中的所有细节或深层次语义,特别是当涉及到高分辨率图像中的微妙差异或需要深刻理解场景上下文时。

  • 有限的视觉分辨率 (Limited Visual Resolution). 提升图像分辨率可以使视觉编码器在对象识别上更加精确,并能感知到更多视觉细节,从而缓解幻觉问题.
  • 细粒度视觉语义 (Fine-grained Visual Semantics). CLIP通过对比学习将视觉内容与词嵌入对齐,这一过程主要侧重于突出的物体,未能捕捉到图像的细粒度方面,从而导致产生幻觉

对齐模块产生的幻觉

  • 连接模块太简单 (Connection Module Simplicity). 通常情况下,连接视觉和文本模态的连接模块采用的是诸如线性层等简单结构。这类设计固然具有计算成本低的优点,但是其简单性阻碍了全面的多模态融合,模型可能无法深入理解和整合来自不同模态的信息,从而增加了生成内容偏离现实、产生幻觉的风险。
  • 受限的Token约束 (Limited Token Constraints). Q-Former作为一种多模态对齐模块,其Token数量太少,在对齐过程中阻碍了图像中所有信息的编码,由此导致的信息损失加剧了产生幻觉的风险。

语言模型产生的幻觉

  • 上下文注意力不足 (Insufficient Context Attention).** LLM过度关注生成的文本片段,而忽略了视觉信息。
  • 随机采样解码 (随机采样解码). 随机采样解码通过在解码过程中引入随机性,这种方法能避免生成低质量的文本,并保证生成内容的多样性,但是随机性也会增加生成内容产生幻觉的风险。
  • 能力错位 (Capability Misalignment). LLM模型在预训练阶段形成的固有能力与后续指令微调阶段所施加的扩展需求不匹配,模型被要求回答它在原始训练数据中并未充分学习的问题,很容易导致幻觉的产生。

减少幻觉的方法

数据层面

  • 减少数据偏差 (Bias Mitigation). 可采取的方法有:1)平衡正负样本比例。2)使用更大规模的视觉指令微调数据集 (LRV-Instruction),并且包括不同层次的正面和负面指令。3)细化原始数据,更改原始数据中属性、数量等内容,构造更多的负样本。
  • 增强标注 (Annotation Enrichment). 使用更详细的标注能够缓解模型产生幻觉的现象。可采取的方法有:1)标注图片中每个物体的存在性、相对位置和属性。2)更加详细的空间层次关系。3)多轮对话,更加复杂的交互样本。

改善视觉编码器

  • 扩大图像分辨率 (Scaling-up Vision Resolution). 增加分辨率能构提高模型对图像细节的理解能力,但是分辨率增加也会加大计算量,如何平衡二者关系也值得研究一番。
  • 增强感知能力 (Perceptual Enhancement). 可以引入额外的视觉编码器,如分割图、深度图等信息帮助模型更好地理解物体间的空间位置关系。

改善连接模块

  • 连接模块增强 (Connection Module Enhancing). 简单地说,就是增加连接模型的参数量和复杂度。比如单层线性连接换成MLP, Q-Former 换成 QLLaMA .
  • 对齐训练优化 (Alignment Training Optimizing). 对齐训练流程是提升模态间对齐度并减少幻觉风险的有效途径。方法有:1)增加新的学习目标,弥补视觉和语言之间的差异;2)使用强化学习,对齐人类偏好。

改善语言模型

  • 解码优化 (Decoding Optimization). 目标使在解码过程中减少LLM对生成内容过度信任。
  • 对齐人类偏好 (Aligning with Human). 可采用的方法有:1)强化学习 LLaVA-RLHF;2)直接偏好优化 DPO。

参考文献

论文:A Survey on Hallucination in Large Vision-Language Models
代码:https://github.com/lhanchao777/LVLM-Hallucinations-Survey

### 多模态大模型的重要性 多模态学习模型(Multimodal Learning Models, MLMs)融合了来自多种感官模式的数据,如文本、图像、音频等,以实现更全面的理解交互。评估是开发MLMs的关键部分,因为这为模型优化提供了必要的反馈,并促进了不同模型之间的性能比较[^1]。 #### 语言大模型的特点与发展 大型语言模型(Language Large Models, LLMs)专注于自然语言处理任务,能够理解生成高质量的人类语言。这类模型通常通过大规模预训练获得强大的泛化能力,可以在各种下游任务中展现出色的表现。然而,LLMs的应用范围主要集中在单一的语言领域内,对于跨语言的支持相对有限[^3]。 ```python import transformers as trf model_name = "bert-base-multilingual-cased" tokenizer = trf.BertTokenizer.from_pretrained(model_name) model = trf.BertModel.from_pretrained(model_name) text = "这是一个中文句子。This is an English sentence." inputs = tokenizer(text, return_tensors="pt") outputs = model(**inputs) ``` #### 视觉大模型的功能与挑战 视觉大模型(Vision Large Models, VLMs)致力于提升计算机视觉的能力,特别是在复杂场景下识别对象并解释其含义的任务上表现突出。尽管如此,VLMs依然存在一些问题,比如容易产生所谓的“物体幻觉”,即错误地感知到实际不存在的事物。为此,研究人员提出了诸如视觉对比解码(VCD)这样的技术来改善这一状况[^4]。 ```python from PIL import Image import torch from torchvision.models.detection import fasterrcnn_resnet50_fpn device = 'cuda' if torch.cuda.is_available() else 'cpu' model = fasterrcnn_resnet50_fpn(pretrained=True).to(device) model.eval() image_path = "./example.jpg" img = Image.open(image_path).convert("RGB") transformed_img = ... # Apply necessary transformations here. with torch.no_grad(): prediction = model([transformed_img.to(device)]) print(prediction) ``` #### 多模态大模型的优势及其应用前景 当把语言能力视觉理解结合起来时就形成了多模态大模型(Multimodal Large Models, MLLMs),它能够在更加真实的环境中执行复杂的认知活动。由于具备更强的通用性适应性,MLLMs可以应对更多样化的应用场景,同时也带来了新的挑战——如何有效地衡量这些系统的整体效能成为了一个亟待解决的问题
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值