大型视觉语言模型中幻觉现象的综述

大型语言模型中的幻觉研究综述:原理、分类、挑战和未决问题 大型语言模型(LLM)的出现标志着自然语言处理(NLP)的重大突破,导致文本理解和生成的显着进步。然而,除了这些进步之外,LLM还表现出产生幻觉的关键倾向,导致内容与现实世界的事实或用户输入不一致。这种现象对它们的实际部署提出了重大挑战,并引起了对LLM在现实世界场景中的可靠性的担忧,这吸引了越来越多的关注来检测和减轻这些幻觉。在这项调查中,我们的目标是提供一个全面和深入的概述LLM幻觉领域的最新进展。我们开始与LLM幻觉的创新分类,然后深入研究的因素,有助于幻觉。 阅读详情

img

大型视觉语言模型(LVLMs)通过在大型语言模型(LLMs)的基础上整合视觉模态,增强了用户交互并丰富了用户体验。它展现了强大的信息处理和生成能力。然而,幻觉现象的存在限制了LVLMs在各个领域的潜力和实际效用。尽管已有大量工作致力于幻觉的减缓与纠正,但针对这一问题的综述性研究却较为少见。在本次综述中,我们首先介绍了LVLMs和幻觉现象的背景。随后,介绍了LVLMs的结构以及幻觉生成的主要原因。接着,我们总结了近期在幻觉纠正和减缓方面的相关工作。此外,我们还从判断性和生成性角度介绍了LVLMs幻觉评估的可用基准。最后,我们提出了一些未来的研究方向,以增强LVLMs的可靠性和实用性。

img

近年来,大型语言模型(LLMs)在自然语言处理(NLP)领域取得了优异的成绩。基于Transformer的LLMs通过在大规模语料库上学习语言模式和知识,获得了理解和生成自然语言的能力。许多LLMs在NLP领域中涌现,如GPT-4 [1]、Llama [2]、InstructGPT [3]、PaLM [4]和Vicuna [5]。在大规模语料库和大量参数的支持下,这些LLMs能够完成广泛的任务,并展示出强大的零样本能力。尽管LLMs具有令人兴奋且稳健的特性,但它们仅限于文本领域。越来越多的研究提出将视觉信息融入LLMs中,这些新模型称为大型视觉语言模型(LVLMs),可应用于多种场景,如医疗诊断与辅助[6]、[7],艺术与娱乐[8],自动驾驶[9],虚拟助手和聊天机器人[10]、[11]。凭借其出色的性能,LVLM吸引了众多用户。然而,一些用户发现,LVLM生成的信息在事实层面上是错误的,但看似合理,例如错误地报告不存在的物体、物体属性、行为和物体间关系。上述现象被称为幻觉,这使得LVLM难以应用于对准确性和可靠性要求较高的场景中。例如,幻觉可能会误导用户,提供错误或不准确的信息,甚至在内容摘要或信息检索中导致错误信息的传播。如果LVLM频繁生成幻觉,可能会影响其发展。因此,纠正或减缓幻觉对于LVLMs来说是必要的。

为了构建一个可信赖的LVLM,幻觉是必须克服的障碍。因此,出现了大量关于减缓或纠正LVLM幻觉的研究工作。目前,已有几篇综述总结了LLMs中的幻觉纠正工作[12]、[13]。在多模态领域,也有部分工作[14]、[15]致力于总结多模态大型语言模型中的幻觉现象。然而,我们的综述采用了明显不同的分类策略。我们根据不同幻觉纠正工作的核心思想以及幻觉评估基准进行了分类。

在本文中,我们对LVLM幻觉现象的最新进展进行了综述。首先,我们介绍了与LVLM和幻觉相关的背景知识。在第二节中,我们提供了LVLM的结构及其产生幻觉的主要原因。第三节总结了幻觉的纠正和减缓工作。接下来,第四节中我们介绍了用于评估LVLM幻觉的基准。最后,在第五节中,我们对LVLM幻觉纠正的未来前景提供了一些见解,并描绘了潜在的研究方向。

img

II. LVLM的背景

A. LVLM的结构

LVLMs可以分为三个模块:感知模块、跨模态模块和响应模块,如图1(A)所示。通过这三个模块,视觉信息被提取并映射到文本空间。进一步地,视觉信息和文本信息结合以生成最终的响应。

感知模块通常使用视觉Transformer(ViT)[16]或其变体[17]将图像转换为高维向量。在输入ViT之前,图像被分割成若干patch,并添加位置信息。如图1(A)所示,ViT是一个仅包含编码器的模型,由N个编码器组成。编码器的多头注意力机制是Transformer模型的核心组件,具有强大的并行计算能力,能够在序列的不同部分之间建立联系。

跨模态模块旨在弥合视觉和语言之间的模态差距[18]。近年来,LVLMs中的跨模态模块采用了可学习接口[10]、[19]、Q-former[20]和pereceiver resampler[21]等结构。可学习接口基于投影矩阵将视觉信息映射到文本空间。Q-former通过与文本交互视觉信息来弥合模态间的差距。pereceiver resampler通过使用交叉注意力将视觉特征编码到文本中。

响应模块充当LVLMs的大脑。因此,它需要强大的能力来处理和分析视觉和文本的输入,以生成最终答案。响应模块通常采用LLMs,如Vicuna [5]、Llama [2]、Flan-PaLM [22]和Llama2 [23]。ViT和LLM都是基于Transformer的,但LLM是仅包含解码器的结构。解码器的掩码多头注意力机制增加了掩码操作。因此,LLM在文本生成过程中无法利用“未来”信息,确保了生成内容的真实性。

B. 幻觉的成因

有几个因素导致LVLM产生幻觉。幻觉的发生可能与LVLM的多个部分有关,包括感知模块、跨模态模块和响应模块。因此,为了更好地纠正和减缓幻觉,我们将幻觉现象的主要原因归纳如下:

  1. 模态差距:每种模态都有其独特的特性和表达方式,这导致了不同模态数据在分布、特征和语义上的显著差异。模态差距的存在使响应模块在理解图像输入时产生偏差,导致错误的响应生成。例如,如图1(B)所示,红白相间的物体实际上是一个标志,而不是中文字符。由于模态差距的存在,响应模块错误地将其描述为“红白相间的中文字符”。
  2. 数据集中的有害信息:交叉熵损失的本质是模仿。因此,LVLMs从数据集中学习模式以生成与训练数据相似的响应。由于LVLMs需要大量数据进行训练,大多数数据集是通过LVLMs或LLMs生成的。尽管这些数据在生成后经过人工清理,仍有一定比例的误导性样本保留在数据集中。当LVLM从这些带有幻觉的数据中学习时,必然会生成幻觉。
  3. LLM的幻觉:LVLMs的优异表现主要归功于其将LLMs作为“大脑”。然而,LLMs很容易产生幻觉。此外,LLMs已经积累了丰富的参数化知识。当这些参数化知识错误或与接收到的视觉信息冲突时,会导致幻觉。此外,可用解码策略的随机性也可能是幻觉的诱因。许多特殊现象通常在解码过程中发生,并且与幻觉密切相关。

III. 幻觉的纠正

img

在本部分中,我们将回顾和总结近年来与LVLM(大型视觉语言模型)中幻觉现象相关的纠正与减缓工作。随着LVLM在各个领域的广泛应用,如何有效地减少其生成不准确或错误的内容(即幻觉)成为了一个重要的研究方向。幻觉的产生与数据集、模态差距以及输出响应的生成机制密切相关,因此幻觉纠正的方法主要集中在以下三类:数据集去幻觉、模态差距补偿以及输出纠正。我们将对这三类方法进行详细介绍,分析各自的工作原理和应用场景。

A. 数据集去幻觉

数据集去幻觉是通过改进或清理训练数据集,以减少或避免模型在推理过程中生成幻觉内容的一种有效方法。LVLM通常通过指令调优来增强推理性能,而这一过程对高质量、大规模的指令数据集有高度依赖。然而,现实中构建这样的数据集并不容易,即便有LLMs或LVLMs的帮助也很难确保数据完全无误。因此,通过对现有数据集进行改写、去除过度自信样本和打破不当共现现象成为解决这一问题的重要策略。

  1. 数据重写
    数据重写是指对训练数据中的错误信息或潜在误导性样本进行修改,以确保模型学到的信息更加准确。例如,针对某些数据中由于标注错误或不准确导致的幻觉现象,可以通过自动化工具或人工验证的方式,识别并纠正这些问题。数据重写的方法可以帮助LVLM在训练时避免学习到有害的或不准确的信息,从而减小幻觉的生成概率。
  2. 去除过度自信
    在LVLM的训练过程中,有些数据会使模型对某些错误的或不确定的输出表现出过度的自信。这种过度自信会使模型在推理阶段产生幻觉。为了解决这一问题,研究者提出了一些方法来降低模型在面对不确定输入时的自信水平。例如,通过调整损失函数,使模型在训练过程中对不确定的样本保持一定程度的怀疑,从而避免模型生成看似合理但实际上错误的响应。
  3. 打破共现现象
    共现现象是指在训练数据中,某些视觉元素和文本描述频繁一起出现,导致模型在推理时不加区分地将这些元素联系在一起。例如,某些物体和某些动作在数据集中经常共现,但在实际场景中这些组合并不总是正确的。为了解决这一问题,可以通过打乱数据集中这些元素的组合,或引入新的样本,以减少这种共现现象对模型产生的负面影响。

B. 模态差距补偿

模态差距是LVLM中幻觉产生的一个重要原因。由于视觉信息和文本信息之间的特性差异,模型在融合这些多模态数据时,可能会产生错误的推断。通过有效的跨模态模块设计,可以弥合视觉和语言之间的差距,减少因模态不匹配导致的幻觉现象。

  1. 可学习接口的应用
    可学习接口是一种基于投影矩阵的方法,它将视觉信息映射到文本空间。这种方法通过学习视觉和语言之间的对应关系,使模型能够更好地理解视觉信息并将其与文本结合。通过这种方式,模型能够在视觉和语言之间建立更加紧密的联系,从而减少幻觉的产生。
  2. Q-former的引入
    Q-former是一种通过交互方式将视觉信息与文本信息连接起来的技术。它通过设计一种特殊的查询机制,使视觉信息在跨模态过程中与文本信息进行交互。这种方法能够更好地处理模态之间的差异,尤其是在复杂的视觉场景中,帮助模型准确地生成文本描述。
  3. pereceiver resampler的使用
    pereceiver resampler是一种使用交叉注意力机制的技术,旨在将视觉特征编码到文本中。通过这种方法,视觉特征被转换为与文本相匹配的表征,从而减少模态差距导致的幻觉现象。

C. 输出纠正

除了通过改进数据集和跨模态机制来减少幻觉,研究人员还致力于直接纠正模型输出的幻觉内容。输出纠正方法通过后处理技术或改进解码策略,来确保模型生成的最终响应更加准确。

  1. 后处理机制
    后处理机制是一种在模型生成响应之后对其进行检查和修正的技术。例如,通过引入额外的验证模块,检查生成的文本是否与视觉信息一致。如果发现生成内容存在逻辑或事实错误,可以通过该模块进行修正。这样的后处理机制可以有效减少模型生成幻觉的可能性。
  2. 解码策略的优化
    解码策略对生成式模型的输出有很大的影响。研究发现,某些解码策略(如贪婪搜索或随机采样)容易引发幻觉现象。为了解决这一问题,研究人员提出了一些新的解码策略,例如基于约束的采样方法或对抗性解码策略。这些方法通过更好地平衡生成的多样性和准确性,减少了模型生成幻觉的概率。

img

IV. 幻觉的评估基准

在减缓和纠正LVLM幻觉的过程中,建立有效的评估基准是至关重要的。评估基准用于衡量模型在生成过程中出现幻觉的频率和严重程度,同时也为模型改进提供反馈。我们从判断性和生成性两个角度总结了现有的幻觉评估基准。

  1. 判断性基准
    判断性基准主要通过分析模型生成的响应是否符合事实或是否与视觉输入一致来评估幻觉。例如,通过引入人工评估或使用预定义的规则来判断模型生成的内容是否准确。这类基准侧重于定量地评估幻觉现象,帮助研究人员了解幻觉在不同场景中的发生频率。
  2. 生成性基准
    生成性基准则侧重于评估模型在生成过程中所表现出的创造性和合理性。尽管模型可能生成出具有一定创新性的内容,但这些内容不一定符合事实或逻辑。因此,生成性基准的评估主要关注模型是否能够在保持生成多样性的同时,减少幻觉的产生。

V. 未来研究方向

尽管当前LVLM在减少幻觉方面取得了一定进展,未来仍有很多值得探索的方向。以下是一些可能的研究方向:

  1. 多模态融合的优化
    进一步优化视觉与语言之间的融合机制,特别是在复杂场景中的跨模态理解和表达。
  2. 数据集构建的改进
    通过新的数据增强和数据清洗技术,构建更高质量、更具代表性的大规模数据集,以减少训练数据中的幻觉样本。
  3. 模型透明性的提高
    提高LVLM的透明性和可解释性,使得用户可以更清楚地理解模型生成幻觉的原因,从而对其进行有效的纠正。
  4. 动态学习机制的引入
    引入动态学习机制,使模型能够在运行过程中不断调整和修正自身,避免幻觉的累积效应。

​

如何学习大模型

现在社会上大模型越来越普及了,已经有很多人都想往这里面扎,但是却找不到适合的方法去学习。

作为一名资深码农,初入大模型时也吃了很多亏,踩了无数坑。现在我想把我的经验和知识分享给你们,帮助你们学习AI大模型,能够解决你们学习中的困难。

下面这些都是我当初辛苦整理和花钱购买的资料,现在我已将重要的AI大模型资料包括市面上AI大模型各大白皮书、AGI大模型系统学习路线、AI大模型视频教程、实战学习,等录播视频免费分享出来,需要的小伙伴可以扫取。

一、AGI大模型系统学习路线

很多人学习大模型的时候没有方向,东学一点西学一点,像只无头苍蝇乱撞,我下面分享的这个学习路线希望能够帮助到你们学习AI大模型。

在这里插入图片描述

二、AI大模型视频教程

在这里插入图片描述

三、AI大模型各大学习书籍

在这里插入图片描述

四、AI大模型各大场景实战案例

在这里插入图片描述

五、结束语

学习AI大模型是当前科技发展的趋势,它不仅能够为我们提供更多的机会和挑战,还能够让我们更好地理解和应用人工智能技术。通过学习AI大模型,我们可以深入了解深度学习、神经网络等核心概念,并将其应用于自然语言处理、计算机视觉、语音识别等领域。同时,掌握AI大模型还能够为我们的职业发展增添竞争力,成为未来技术领域的领导者。

再者,学习AI大模型也能为我们自己创造更多的价值,提供更多的岗位以及副业创收,让自己的生活更上一层楼。

因此,学习AI大模型是一项有前景且值得投入的时间和精力的重要选择。

ANALYZING AND MITIGATING OBJECT HALLUCINATION IN LARGE VISION-LANGUAGE MODELS分析和减轻大视觉语言模型中的物体幻觉 大型视觉语言模型(LVLM)在用人类语言理解视觉信息方面表现出了卓越的能力。然而,LVLM 仍然存在物体幻觉的问题,即生成包含图像中实际不存在的物体的描述的问题。这可能会对许多视觉语言任务产生负面影响,例如视觉摘要和推理。为了解决这个问题,我们提出了一种简单而强大的算法,LVLM Hallucination Revisor (LURE),通过重建较少的幻觉描述来事后纠正 LVLM 中的对象幻觉。 阅读详情

相关推荐

Evaluation and Analysis of Hallucination in Large Vision-Language Models----大视觉语言模型中幻觉的评估与分析

以 ChatGPT 为代表的大型语言模型(LLM)的成功引起了广泛的关注(Zhang et al., 2022;最近,大视觉语言模型(LVLM)扩展了 LLM 来理解视觉输入,并以零样本的方式展示令人印象深刻的多模态能力(Zhu et al., 2023;Gong)等,2023;Wang 等,2023;Li 等,2023a;Mu 等,2023;Su 等,2023;Liu 等,2020)。这些努力推动了多模态通用人工智能的发展。

Mars_prime的博客 2042

【OCR多模态大模型paper阅读笔记--4】InternLM-XComposer2-4KHD精读,8B文档理解新SOTA!中文能力优秀的OCR大模型

为了解决高分辨率图像处理中的挑战,本文提出了一种新型的多模态大模型——InternLM-XComposer2-4KHD。该模型能够处理从336像素到4K高清(3840×1600)及以上分辨率的图像。通过这种创新方法,模型在高分辨率图像理解任务中的表现得到了显著提升。

Mugi_jiang的博客 1731

如何解决大模型的「幻觉」问题?克服大模型幻觉策略汇总!

本文对LLM幻觉领域的最新进展进行全面而深入的概述,从LLM幻觉的创新分类法开始,然后深入研究导致幻觉的因素,并且对幻觉检测方法和基准进行了全面概述。不过随着模型规模的增大,一个不容忽视的问题也逐渐浮现出来——幻觉问题,就是指模型在处理数据时产生的错误认知或偏差,这些问题可能会导致预测结果的偏差或误判。本文调查了近期在检测、解释和缓解幻觉方面的努力,重点介绍了LLMs所特有的挑战,并提出了LLM幻觉现象和评估基准的分类,分析了缓解LLM幻觉的现有方法,最后还讨论了未来研究的潜在方向。

2401_82426425的博客 2988

中科院,CMU,Meta等联合出品:去除LLM先验对多模态大模型的负面影响

大型视觉语言模型在近期发展迅速(LVLMs),他们使用图像-文本对进行预训练或使用专门的视觉指导调整数据集进行微调,将大语言模型(LLM)拓展为了处理文本和图像的多模态模型。尽管这些模型擅长理解复杂的视觉模式并将其转化为语言,来自中科院,CMU,阿里巴巴,squirrel AI 以及 Meta AI 的研究人员揭示了一个显著问题。由 LVLMs 生成的内容在很大程度上偏向于在预训练期间使用的底层 ...

Paper weekly 1436

OpenIddict实战指南:在.NET Core中构建安全的OAuth 2.0与OpenID Connect服务

本文详细介绍了如何在.NET Core中使用OpenIddict框架构建安全、标准的OAuth 2.0与OpenID Connect授权服务。内容涵盖从快速搭建授权服务器、理解核心配置与授权流程,到集成用户数据库、实现完整登录授权,以及生产环境下的安全加固与部署指南,为.NET开发者提供了一套现代、可维护的认证授权解决方案。

weixin_29229989的博客 355

CATIA_DELMIA_V5R2019安装包下载及安装教程破解

CATIA_V5R2019/DELMIA_V5R2019安装包下载及安装教程破解

一只机械工装熊的博客 8362

AI推介-多模态视觉语言模型VLMs论文速览(arXiv方向):2024.02.25-2024.03.01

数据和注释的质量是下游模型质量的上限。虽然存在大量的文本语料库和图像-文本对,但高质量的视频-文本数据却很难收集。首先,人工标注更耗时,因为它需要标注者观看整个视频。其次,视频具有时间维度,由多个场景叠加而成,并显示多个动作。因此,为了建立一个具有高质量字幕的视频数据集,我们提出了一种利用多模态输入(如文字视频描述、字幕和单个视频帧)的自动方法。具体来说,我们从公开的 HD-VILA-100M 数据集中收集了 380 万个高分辨率视频。

小小帅 1939

基于Dify构建银行智能客服:从意图识别到多RAG架构的实战解析

本文深入解析了如何利用Dify平台构建银行智能客服系统。从传统客服痛点出发,详细阐述了基于意图识别精准分类用户需求,并通过多RAG架构解决知识混淆问题,实现高效、准确的业务响应。文章重点介绍了结合工具调用实现业务流程自动化,并强调了数据本地化部署、内容安全过滤等银行级安全合规实践,为金融行业AI应用提供了实战指南。

yog99的博客 926

扩展大型视觉-语言模型的视觉词汇:Vary 方法

使用Vicuna-7B作为LLM,以及LLaVA-CC665k作为SFT数据,Vary在MMVet基准上的总指标比LLaVA-1.5高出2.4%,证明了Vary的数据和训练策略没有损害模型的通用能力。)提出的一种创新方法,旨在通过扩展模型的视觉词汇来提升其在特定视觉任务上的表现,尤其是那些需要密集和细粒度视觉感知的任务,如文档级光学字符识别(时,采取了一种特殊的策略,即冻结新旧视觉词汇网络的权重。能够结合新旧视觉词汇的优势,提高模型在复杂视觉任务上的表现,同时保持在通用任务上的性能。

人工智能讲师分享前沿技术 1557

银河麒麟桌面系统批量交付:封装自动化ISO镜像,百台装机效率提升10倍

麒麟桌面系统自动化ISO镜像定制摘要 本文详细介绍麒麟桌面版ISO安装镜像的定制方法,通过修改系统文件实现自动化安装部署。主要内容包括:1) 挂载原版ISO并提取文件;2) 使用unsquashfs解压系统文件进行定制化修改,包括添加系统标记配置;3) 配置ky-installer.cfg自动应答文件,设置安装参数如用户名、密码、分区方案等;4) 修改grub引导配置启用自动安装模式。该流程支持磁盘加密、自定义分区、自动登录等功能,生成的定制镜像可满足批量部署需求,显著提升系统安装效率。

信创运维工程师 · 银河麒麟 & 容器实战 | 金融生产环境迁移·等保加固 | 142篇原创·17万+阅读 1508

openlayers:实现在连续更改时间维度时如何平滑地重新加载层 (附完整源码)

openlayers:实现在连续更改时间维度时如何平滑地重新加载层 (附完整源码)

希望我的博客,能帮上你解决学习中工作中所遇到的问题 348

Interpreting Attention Heads for Image-to-Text Information Flow in Large Vision–Language Models阅读笔记

本文提出了一种基于注意力头归因(Head Attribution)的技术,用于解释大型视觉语言模型(LVLMs)中图像到文本的信息流机制。研究发现,特定注意力头子集负责跨模态信息传递,且这些头的选择由图像语义内容而非视觉外观决定。通过消融实验和线性回归建模,作者验证了信息流遵循结构化过程:文本信息先传播到角色相关token,图像信息则嵌入对象相关token。该方法通过忠实度和完备性指标证明其有效性,为理解LVLMs的底层机制提供了新视角。

小旋风的博客 370

100天精通Python(爬虫篇)——第114天:爬虫基础模块之requests基础入门

一、request模块大总结 1. 下载安装 2. 常用属性或方法 3. response.text和response.content的区别: 4. 发送带headers参数请求 5. 发送带参数请求 6. 在headers参数中携带cookie 7. 超时参数timeout的使用 8. proxies代理参数的使用 9. 发送post请求...............

努力让自己发光,对的人才能迎着光而来 11万+

检测和缓解大型视觉语言模型中的幻觉现象:基于细粒度AI反馈的方法

检测和缓解大型视觉语言模型中的幻觉现象:基于细粒度AI反馈的方法 Detecting and Mitigating Hallucination in Large Vision Language Models via Fine-Grained AI Feedback

Together_CZ的博客 1635

漏检率从23%降至1.3%:YOLOv8交通车辆计数与违章识别完整落地方案

本文分享了基于YOLOv8+ByteTrack的交通视频分析系统实战经验,针对车辆计数和违章识别两大核心功能,提出了完整的工程化解决方案。系统采用边缘计算架构,单张GTX 1660即可稳定处理8路1080P视频流,实现了白天98.7%、夜间96%以上的车辆计数准确率。文章详细剖析了交通视频分析的四大落地痛点,系统架构设计思路,以及遮挡处理、光照适应、多路并发等关键技术优化方案,重点介绍了车辆计数三重校验机制和三类违章识别的工程实现细节。通过ROI裁剪、TensorRT加速、动态抽帧等优化手段,显著提升了系统

专注于Python爬虫开发,分享爬虫技巧、项目实战与反爬经验,使用Scrapy、BeautifulSoup等工具,解决数据抓取难题。 340

“EXB文件的格式和编程“

首先,打开文件并读取文件头,然后解析文件头中的元数据信息。接下来,循环读取数据块,每次读取块头部分,解析块的大小和类型,并读取相应大小的块数据。文件头(Header):EXB文件通常包含一个文件头,用于存储关于文件的元数据信息。读取EXB文件时,首先需要解析文件头,以了解文件的属性和数据结构。总结起来,EXB文件是一种常见的二进制数据文件格式,在编程中处理EXB文件需要了解其基本结构和元数据信息。通过以上代码,您可以根据自己的需求扩展处理其他类型的数据块,或者根据EXB文件的具体规范进行解析和处理。

HackCyberX的博客 1535

《多模态大型语言模型的幻觉现象》综述

来源:专知 本文约5000字,建议阅读5分钟本综述旨在加深对MLLMs中幻觉的理解,并激发该领域的进一步发展。本综述全面分析了多模态大型语言模型(MLLMs)——亦称为大型视觉语言模型(LVLMs)——中的幻觉现象。这些模型在多模态任务中展示了显著的进步和非凡的能力。尽管这些发展充满希望,MLLMs常常生成与视觉内容不一致的输出,这一挑战被称为幻觉,它对模型的实际部署构成了重大障碍,并引起了对其在...

数据派THU 1320

efm32 入门.pdf

本PDF共计22页,介绍的是操作驱动API,下载与否自己斟酌。

读一篇AI论文并理解——通过幻觉诱导优化缓解大型视觉语言模型中的幻觉

读懂一篇论文,如何通过幻觉诱导优化缓解大型视觉语言模型中的幻觉问题。

WenJGo的博客 1863

ET2012新版免狗免安装绿色软件

ET2012新版免狗免安祖昂绿色软件。,新界面,新视觉,

深度学习工具包 DeepLearningToolbox

深度学习工具包Deprecation notice.-----This toolbox is outdated and no longer maintained.There are much better tools available for deep learning than this toolbox, e.g. [Theano](http://deeplearning.net/software/theano/), [torch](http://torch.ch/) or [tensorflow](http://www.tensorflow.org/)I would suggest you use one of the tools mentioned above rather than use this toolbox.Best, Rasmus.DeepLearnToolbox================A Matlab toolbox for Deep Learning.Deep Learning is a new subfield of machine learning that focuses on learning deep hierarchical models of data.It is inspired by the human brain's apparent deep (layered, hierarchical) architecture.A good overview of the theory of Deep Learning theory is[Learning Deep Architectures for AI](http://www.iro.umontreal.ca/~bengioy/papers/ftml_book.pdf)For a more informal introduction, see the following videos by Geoffrey Hinton and Andrew Ng.* [The Next Generation of Neural Networks](http://www.youtube.com/watch?v=AyzOUbkUf3M) (Hinton, 2007)* [Recent Developments in Deep Learning](http://www.youtube.com/watch?v=VdIURAu1-aU) (Hinton, 2010)* [Unsupervised Feature Learning and Deep Learning](http://www.youtube.com/watch?v=ZmNOAtZIgIk) (Ng, 2011)If you use this toolbox in your research please cite [Prediction as a candidate for learning deep hierarchical models of data](http://www2.imm.dtu.dk/pubdb/views/publication_details.php?id=6284)```@MASTERSTHESIS\{IMM2012-06284, author = "R. B. Palm", title = "Prediction as a candidate for learning deep hierarchical models of data", year = "2012",}```Contact: rasmusbergpalm at gmail dot comDirectories included in the toolbox-----------------------------------`NN/` - A library for Feedforward Backpropagation Neural Networks`CNN/` - A library for Convolutional Neural Networks`DBN/` - A library for Deep Belief Networks`SAE/` - A library for Stacked Auto-Encoders`CAE/` - A library for Convolutional Auto-Encoders`util/` - Utility functions used by the libraries`data/` - Data used by the examples`tests/` - unit tests to verify toolbox is workingFor references on each library check REFS.mdSetup-----1. Download.2. addpath(genpath('DeepLearnToolbox'));Example: Deep Belief Network---------------------```matlabfunction test_example_DBNload mnist_uint8;train_x = double(train_x) / 255;test_x = double(test_x) / 255;train_y = double(train_y);test_y = double(test_y);%% ex1 train a 100 hidden unit RBM and visualize its weightsrand('state',0)dbn.sizes = [100];opts.numepochs = 1;opts.batchsize = 100;opts.momentum = 0;opts.alpha = 1;dbn = dbnsetup(dbn, train_x, opts);dbn = dbntrain(dbn, train_x, opts);figure; visualize(dbn.rbm{1}.W'); % Visualize the RBM weights%% ex2 train a 100-100 hidden unit DBN and use its weights to initialize a NNrand('state',0)%train dbndbn.sizes = [100 100];opts.numepochs = 1;opts.batchsize = 100;opts.momentum = 0;opts.alpha = 1;dbn = dbnsetup(dbn, train_x, opts);dbn = dbntrain(dbn, train_x, opts);%unfold dbn to nnnn = dbnunfoldtonn(dbn, 10);nn.activation_function = 'sigm';%train nnopts.numepochs = 1;opts.batchsize = 100;nn = nntrain(nn, train_x, train_y, opts);[er, bad] = nntest(nn, test_x, test_y);assert(er < 0.10, 'Too big error');```Example: Stacked Auto-Encoders---------------------```matlabfunction test_example_SAEload mnist_uint8;train_x = double(train_x)/255;test_x = double(test_x)/255;train_y = double(train_y);test_y = double(test_y);%% ex1 train a 100 hidden unit SDAE and use it to initialize a FFNN% Setup and train a stacked denoising autoencoder (SDAE)rand('state',0)sae = saesetup([784 100]);sae.ae{1}.activation_function = 'sigm';sae.ae{1}.learningRate = 1;sae.ae{1}.inputZeroMaskedFraction = 0.5;opts.numepochs = 1;opts.batchsize = 100;sae = saetrain(sae, train_x, opts);visualize(sae.ae{1}.W{1}(:,2:end)')% Use the SDAE to initialize a FFNNnn = nnsetup([784 100 10]);nn.activation_function = 'sigm';nn.learningRate = 1;nn.W{1} = sae.ae{1}.W{1};% Train the FFNNopts.numepochs = 1;opts.batchsize = 100;nn = nntrain(nn, train_x, train_y, opts);[er, bad] = nntest(nn, test_x, test_y);assert(er < 0.16, 'Too big error');```Example: Convolutional Neural Nets---------------------```matlabfunction test_example_CNNload mnist_uint8;train_x = double(reshape(train_x',28,28,60000))/255;test_x = double(reshape(test_x',28,28,10000))/255;train_y = double(train_y');test_y = double(test_y');%% ex1 Train a 6c-2s-12c-2s Convolutional neural network %will run 1 epoch in about 200 second and get around 11% error. %With 100 epochs you'll get around 1.2% errorrand('state',0)cnn.layers = { struct('type', 'i') %input layer struct('type', 'c', 'outputmaps', 6, 'kernelsize', 5) %convolution layer struct('type', 's', 'scale', 2) %sub sampling layer struct('type', 'c', 'outputmaps', 12, 'kernelsize', 5) %convolution layer struct('type', 's', 'scale', 2) %subsampling layer};cnn = cnnsetup(cnn, train_x, train_y);opts.alpha = 1;opts.batchsize = 50;opts.numepochs = 1;cnn = cnntrain(cnn, train_x, train_y, opts);[er, bad] = cnntest(cnn, test_x, test_y);%plot mean squared errorfigure; plot(cnn.rL);assert(er<0.12, 'Too big error');```Example: Neural Networks---------------------```matlabfunction test_example_NNload mnist_uint8;train_x = double(train_x) / 255;test_x = double(test_x) / 255;train_y = double(train_y);test_y = double(test_y);% normalize[train_x, mu, sigma] = zscore(train_x);test_x = normalize(test_x, mu, sigma);%% ex1 vanilla neural netrand('state',0)nn = nnsetup([784 100 10]);opts.numepochs = 1; % Number of full sweeps through dataopts.batchsize = 100; % Take a mean gradient step over this many samples[nn, L] = nntrain(nn, train_x, train_y, opts);[er, bad] = nntest(nn, test_x, test_y);assert(er < 0.08, 'Too big error');%% ex2 neural net with L2 weight decayrand('state',0)nn = nnsetup([784 100 10]);nn.weightPenaltyL2 = 1e-4; % L2 weight decayopts.numepochs = 1; % Number of full sweeps through dataopts.batchsize = 100; % Take a mean gradient step over this many samplesnn = nntrain(nn, train_x, train_y, opts);[er, bad] = nntest(nn, test_x, test_y);assert(er < 0.1, 'Too big error');%% ex3 neural net with dropoutrand('state',0)nn = nnsetup([784 100 10]);nn.dropoutFraction = 0.5; % Dropout fraction opts.numepochs = 1; % Number of full sweeps through dataopts.batchsize = 100; % Take a mean gradient step over this many samplesnn = nntrain(nn, train_x, train_y, opts);[er, bad] = nntest(nn, test_x, test_y);assert(er < 0.1, 'Too big error');%% ex4 neural net with sigmoid activation functionrand('state',0)nn = nnsetup([784 100 10]);nn.activation_function = 'sigm'; % Sigmoid activation functionnn.learningRate = 1; % Sigm require a lower learning rateopts.numepochs = 1; % Number of full sweeps through dataopts.batchsize = 100; % Take a mean gradient step over this many samplesnn = nntrain(nn, train_x, train_y, opts);[er, bad] = nntest(nn, test_x, test_y);assert(er < 0.1, 'Too big error');%% ex5 plotting functionalityrand('state',0)nn = nnsetup([784 20 10]);opts.numepochs = 5; % Number of full sweeps through datann.output = 'softmax'; % use softmax outputopts.batchsize = 1000; % Take a mean gradient step over this many samplesopts.plot = 1; % enable plottingnn = nntrain(nn, train_x, train_y, opts);[er, bad] = nntest(nn, test_x, test_y);assert(er < 0.1, 'Too big error');%% ex6 neural net with sigmoid activation and plotting of validation and training error% split training data into training and validation datavx = train_x(1:10000,:);tx = train_x(10001:end,:);vy = train_y(1:10000,:);ty = train_y(10001:end,:);rand('state',0)nn = nnsetup([784 20 10]); nn.output = 'softmax'; % use softmax outputopts.numepochs = 5; % Number of full sweeps through dataopts.batchsize = 1000; % Take a mean gradient step over this many samplesopts.plot = 1; % enable plottingnn = nntrain(nn, tx, ty, opts, vx, vy); % nntrain takes validation set as last two arguments (optionally)[er, bad] = nntest(nn, test_x, test_y);assert(er < 0.1, 'Too big error');```[![Bitdeli Badge](https://d2weczhvl823v0.cloudfront.net/rasmusbergpalm/deeplearntoolbox/trend.png)](https://bitdeli.com/free "Bitdeli Badge")

论文解读|AdaVIB,一种用来缓解大型视觉语言模型幻觉问题的创新方案介绍

已有的研究工作通常致力于减轻模型对语言先验知识的依赖,或是减轻训练数据集所带来的偏差以缓解幻觉问题影响,忽视了视觉信息中无关特征所带来的冗余信息可能诱发幻觉问题。)来动态地控制引入的噪声。针对上述问题,作者通过比较视觉-语言映射器(Vision-Language Projector)微调前后的视觉标记和大语言模型词嵌入的相似度分布,揭示了一个关键现象, 即视觉-语言映射器微调后的相似度分布会变得比微调之前的更为尖锐,这种“过度信任”现象是诱发大型视觉语言模型物体幻觉问题的关键因素之一。

GentelAi的博客 2246

Camera2Demo

在Camera2 的基础上进行封装,使得Camera2一堆初始化逻辑与Activity分离,降低耦合度,完成预览拍照并保存的操作

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

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

泊柴的博客 2274

​大型视觉语言模型中对象幻觉的缓解:视觉对比解码(VCD)​

阿里巴巴达摩院和新加坡南洋理工大学的研究团队提出了一种创新方法——视觉对比解码(VCD),有效解决大型视觉语言模型中的对象幻觉问题,同时为提升模型在复杂视觉任务中的性能开辟新路径。在自然语言处理和计算机视觉领域,大型视觉语言模型(LVLMs)已经取得了显著成就,尤其是在图像和文本信息的交互处理方面。然而,尽管它们的高效能和多功能性,LVLMs 仍面临一个主要的挑战:对象幻觉。这个问题表现为模型生成...

Paper weekly 1571

PAI:缓解视觉语言模型幻觉的无训练方法

PAI:缓解视觉语言模型幻觉的无训练方法 项目介绍 PAI(Paying More Attention to Image)是一个旨在解决大型视觉语言模型(LVLMs)中幻觉现象的开源项目。在当前的多模态模型中,图像编码器与大型语言模型(LLMs)的特征对齐,以利用其在文本生成方面的优势。然而,由于视觉编码器与语言模型之间的规模差异,语言模型可能会在多模态理解中占据主导地位,导致输出结果受文本影响过...

gitblog_00956的博客 954

【AIGC调研系列】大型语言模型如何减少幻觉生成

在解读大型语言模型(LLMs)中的长格式事实性问题时,我们首先需要认识到这些模型在生成内容时可能会产生与既定事实不一致的情况,这种情况通常被称为“幻觉”[2][3]。这种现象不仅可能导致信息的误传,还可能对社会造成误导和伤害[3]。因此,提高LLMs的事实性成为了一个重要的研究方向。为了提高LLMs的事实性,研究人员提出了多种方法。一种方法是通过对模型进行微调,使其更加注重事实性,而无需人工标注[2]。另一种方法是通过对比不同层的输出来减少幻觉的生成,这种方法不需要依赖外部知识或额外的微调[13]。

zachary的博客 2348

POPE框架:精准检测视觉语言模型中的对象幻觉问题

在当今AI快速发展的时代,大型视觉语言模型(LVLM)已成为多模态AI的核心技术。然而,这些模型常常会产生"对象幻觉"——即错误地声称图像中存在实际上并不存在的对象。POPE框架应运而生,专门用于系统性地评估和检测LVLM中的对象幻觉问题,帮助研究人员和开发者识别模型的这一关键缺陷。 ## 🔍 什么是对象幻觉? 对象幻觉是指视觉语言模型在描述或回答关于图像的问题时,错误地编造出不存在的对象。

gitblog_01182的博客 898

大型视觉语言模型的有效性评估

第 2 节评估了 MiniGPTv2 [4]、LLaVA-1.5 [8] 和 Shikra [9] 在各种专业任务中的识别性能。其中,LLaVA-1.5 通常在存在判定和对象分类方面表现出更好的识别能力。然而,定量分析表明,虽然这些模型在没有特定领域微调的情况下在各种专门任务中表现出了一定的认知能力,但它们的识别性能还需要进一步提高。当直接应用于这些任务时,它们对专业领域的认知和理解仍然有限。

qq_53795212的博客 1864

视觉语言模型详解【VLM】

视觉语言模型被广泛定义为可以从图像和文本中学习的多模态模型。它们是一种生成式模型,可以接受图像和文本输入并生成文本输出。大型视觉语言模型具有良好的零样本能力,具有良好的泛化能力,并且可以处理多种类型的图像,包括文档、网页等。用例包括谈论图像、通过指令进行图像识别、视觉问答、文档理解、图像字幕等。一些视觉语言模型还可以捕获图像中的空间属性。当系统提示检测或分割特定主题时,这些模型可以输出边界框或分割掩码,也可以定位不同的实体或回答有关其相对或绝对位置的问题。

新缸中之脑 3万+
上一篇: 本地大模型部署和基于RAG方案的私有知识库搭建
下一篇: AI产品经理薪资30k起步?0基础可以转行AI产品经理吗?
AI_小站
博客等级 码龄3年 6255粉丝 1152原创
评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

个

红包个数最小为10个

元

红包金额最低5元

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

抵扣说明:

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

余额充值