当前位置: 首页 > news >正文

多模态人工智能研究:视觉语言模型的过去、现在与未来

多模态人工智能研究:视觉语言模型的过去、现在与未来

1. 引言:定义多模态图景

多模态人工智能指的是旨在处理和整合来自多种数据类型或“模态”信息的人工智能系统,这些模态包括文本、图像、音频和视频等。与通常侧重于单一模态(例如,用于文本的自然语言处理或用于图像的计算机视觉)的传统人工智能不同,多模态人工智能旨在通过结合这些不同的数据形式来理解和生成见解1。这种方法模仿了人类的认知方式,我们自然地整合来自各种感官的输入,以形成对世界的连贯理解1。多模态人工智能的重要性在于其有潜力创建更准确、更细致和更像人类的人工智能系统,这些系统能够理解复杂的现实世界场景1。多模态人工智能研究的核心动机在于通过利用不同数据模态的互补性,弥合机器感知与人类般全面理解之间的差距。人类并非通过孤立的感官来感知世界。为了创建真正智能的系统,我们需要超越单一模态人工智能,使机器能够整合和跨越各种数据形式进行推理,从而反映人类感官体验的丰富性。视觉语言模型(VLMs)是多模态人工智能的一个关键子集,专门设计用于处理和理解视觉(图像、视频)和语言(文本)信息5。它们旨在学习这两种模态之间的关联和关系,从而实现图像描述、视觉问答和文本到图像搜索等任务6。视觉语言模型的发展代表着朝着更通用和更智能的能够以更有意义的方式与世界交互的人工智能系统迈出的重要一步8。视觉语言模型至关重要,因为视觉是人类主要的感官,而将视觉与语言联系起来,可以解锁需要通过自然语言理解和交互视觉世界的广泛应用。视觉提供了关于世界的丰富信息。通过使人工智能能够理解和使用语言来交流关于视觉内容的信息,我们极大地扩展了其在涉及人机交互和现实世界理解的任务中的适用性。

本报告将对多模态人工智能研究进行全面综述,重点关注视觉语言模型的演变、核心技术、近期进展(特别是视觉语言模型和大型多模态模型)、训练和评估、应用以及未来趋势。其目标是提供专家级的分析,以解答用户关于过去技术、近期发展(包括CLIP和千问等大型多模态模型)以及该领域未来方向的具体问题。

2. 多模态人工智能研究的历史概述

早期研究探索了结合多种模态以提高人工智能模型性能的方法,在数据融合和神经架构设计方面取得了重要进展10。最初的努力通常涉及选择最佳的融合技术来构建有效的多模态表示10。早期多模态人工智能研究通过建立结合不同数据类型的基本原则奠定了基础,尽管当时的技术不如今天的深度学习方法先进。在深度学习革命之前,整合多种模态是一个复杂的工程挑战,通常依赖于手工设计的特征和为特定数据组合量身定制的特定融合算法。深度学习和神经网络设计的进步一直是多模态人工智能进步的主要驱动力10。深度学习使得创建能够以更高的效率和准确性处理复杂跨模态任务的模型成为可能10。在计算机视觉(CNN 1)和自然语言处理(Transformer 1)等领域强大的单模态模型的发展为多模态系统提供了基础11。深度学习提供了必要的工具和架构(如CNN和Transformer),以有效地学习跨不同模态的复杂模式和关系,从而实现了多模态人工智能能力的巨大飞跃。深度神经网络能够从原始数据中自动学习分层表示,而无需进行广泛的特征工程,这使得构建能够处理和整合不同数据类型的强大模型成为可能。语言模型在20世纪80年代由IBM开始早期开发,侧重于预测句子中的下一个词12。万维网的出现为训练语言模型提供了大量数据12。2017年Transformer架构的引入是一个关键时刻,它彻底改变了自然语言处理,随后也影响了视觉语言模型的发展13。早期的视觉语言模型探索了不同的融合机制来结合视觉和语言特征15。视觉语言模型研究的基础建立在语言建模和计算机视觉的进步之上,Transformer架构在实现有效的跨模态交互方面发挥了至关重要的作用。Transformer处理序列数据和建模长期依赖关系的能力使其非常适合处理文本和视觉特征(表示为补丁序列),为复杂的视觉语言模型铺平了道路。

3. 视觉语言模型的核心技术

CLIP由OpenAI于2021年推出,是一款开创性的模型,它弥合了计算机视觉和自然语言处理之间的差距16。**架构:**CLIP使用双编码器架构,包含一个图像编码器(通常是Vision Transformer或ResNet 22)和一个文本编码器(基于Transformer的语言模型 22),将图像和文本映射到一个共享的潜在空间中19。**训练方法:**CLIP在一个从互联网收集的包含4亿图像-文本对的大规模数据集上,使用对比学习目标进行训练19。它学习最大化正确配对的图像和文本嵌入之间的相似性,同时最小化不正确配对的嵌入之间的相似性18。**影响:**CLIP通过展示学习哪些标题与哪些图像匹配是一种可扩展且有效的方法来生成高质量的图像表示,从而彻底改变了该领域18。它实现了对各种下游任务的零样本迁移,而无需专门的输出头5。CLIP已被用于图像分类、图像生成引导(例如,DALL-E 21)、内容审核、图像搜索和图像相似性等任务19。**洞察:**CLIP的创新在于其在海量网络规模数据集上采用的对比学习方法,这使得它能够学习高度可迁移的多模态嵌入空间,从而显著影响了后续的视觉语言模型研究和应用。通过将标签的直接预测转变为通过对比任务学习图像和自然语言描述之间的关系,CLIP实现了前所未有的零样本泛化能力,使其成为许多下游视觉语言任务的基础模型。其他著名的视觉语言模型架构及其底层技术包括:**BLIP(用于理解和生成的自举式语言-图像预训练)16:**引入了一种新颖的多模态混合编码器-解码器(MED)架构,用于统一理解和生成任务。它使用图像-文本对比学习、图像-文本匹配和图像条件语言建模目标18。BLIP-2 18 侧重于利用现成的冻结模型和一个轻量级的查询Transformer(Q-Former)来弥合视觉和语言之间的差距。**ALIGN(少量数据足以进行语言-图像预训练)26:**强调使用带噪声的文本监督来扩大视觉和视觉-语言表示学习。**LiT(锁定图像调整)44:**一种对比调整方法,它锁定预训练的图像模型并训练解锁的文本模型以对齐它们的嵌入空间,通过数据高效性实现强大的零样本迁移。**Flamingo 17:**旨在通过使用视觉条件自回归文本生成模型在各种开放式视觉和语言任务上进行少样本学习,该模型可以摄取交错的图像/视频和文本。**VisualBERT 42:**通过使用掩码语言建模和图像-文本匹配来扩展BERT以处理视觉输入。**ViLBERT(视觉和语言BERT)15:**通过两个平行的BERT风格模型(用于图像区域和文本片段)扩展BERT,这两个模型通过协同注意Transformer层进行交互。各种视觉语言模型架构已经被开发出来,每种架构都采用不同的策略来学习和融合视觉和语言表示,包括对比学习、掩码建模和利用预训练的单模态模型。研究人员探索了各种方法来结合预训练的视觉和语言模型的优势。一些方法侧重于使用对比或掩码目标从头开始进行联合训练,而另一些方法则旨在通过冻结某些组件或使用轻量级的桥接模块来有效地调整现有的单模态模型以用于多模态任务。多模态融合机制是结合视觉和语言表示的策略。**早期融合:**在输入层将来自不同模态的原始数据合并54。**晚期融合:**分别处理每个模态,然后在后期阶段组合输出54。**交叉注意:**允许模型在处理另一个模态时关注一个模态的相关部分,从而实现动态交互和对齐7。这在基于Transformer的视觉语言模型中很常见。**连接:**将来自不同模态的特征向量组合成单个表示63。**投影:**使用线性层或多层感知器将来自不同模态的表示映射到共享的嵌入空间5。**门控机制:**控制模态之间信息的流动43。融合机制的选择显著影响了视觉语言模型整合和跨视觉和语言数据进行推理的有效性,其中交叉注意和投影是最近架构中特别流行的技术。视觉和语言特征的组合方式决定了模型捕获这些模态之间复杂关系和依赖性的能力。诸如交叉注意之类的技术允许细粒度的对齐,而投影有助于建立一个共同的语义空间以进行比较和交互。

4. 近期进展:大型多模态模型时代

大型多模态模型通过整合视觉、语音和其他模态,扩展了大型语言模型的能力16。它们可以同时处理和理解多种类型的数据,从而实现图像描述、视频分析和文本到图像生成等任务64。大型多模态模型旨在通过模仿人类跨各种感官的感知来更全面地理解世界43。大型多模态模型代表了下一代多模态人工智能,超越了仅仅视觉和语言的范畴,涵盖了更广泛的模态,并展现出更复杂的推理和生成能力。在视觉语言模型和大型语言模型进步的基础上,大型多模态模型力求通过整合更多感官输入并实现更多样化的输出形式,从而实现更全面的理解,从而推动迈向通用人工智能的边界。以下是前沿大型多模态模型的案例研究:**Qwen-VL系列(包括Qwen2.5-VL)63:**由阿里云开发,Qwen-VL是一款多功能视觉语言模型,在理解、定位、文本阅读等任务中表现出色。Qwen2-VL引入了原生动态分辨率和多模态旋转位置嵌入(M-ROPE)等创新技术,改进了对各种图像分辨率和宽高比的处理以及视频理解78。Qwen2.5-VL进一步增强了在视觉识别、对象定位、文档解析和长视频理解方面的能力8。这些模型支持多语言对话,并在中文问答任务中表现出强大的性能65。**美图的MiracleVision 91:**美图自主研发的AI视觉大模型,专注于AI视频生成和AI设计。最新版本在语义理解、图像稳定性和动作连贯性方面都有所提升。美图正积极将其MiracleVision集成到其产品中,并扩大其在电子商务、广告、游戏和视频创作等领域的应用91。**OpenAI的GPT-4V(视觉)和GPT-4o 16:**GPT-4V整合了图像和文本输入,实现了描述图像、总结屏幕截图文本以及回答包含图表的考试问题等任务125。GPT-4o是OpenAI最新的多模态模型,旨在实时处理和生成文本、音频、图像和视频,提供了更高的速度和效率63。大型多模态模型的架构在如何整合不同模态方面有所不同,有些使用独立的编码器和融合模块,而另一些则采用端到端训练70。像Qwen-VL这样的模型利用预训练的LLM(Qwen-7B)和视觉编码器(ViT)以及位置感知适配器来实现高效处理65。Flamingo使用冻结的语言模型和带有交叉注意层的视觉编码器进行少样本学习42。GPT-4o旨在实现一个统一的模型架构,以原生方式处理多种模态63。大型多模态模型的格局以多样化的架构选择为特征,每种架构都旨在优化性能、效率以及处理广泛多模态任务的能力。不同的LLM采用各种策略来整合视觉和语言信息,从轻量级适配器到深度融合机制,反映了对实现强大的多模态理解和生成的最佳方式的持续研究。

5. 视觉语言模型和大型多模态模型的训练与评估方法

预训练是视觉语言模型开发的关键步骤,通常涉及在包含大量图像-文本对的数据集上进行训练,以学习通用的多模态表示5。**对比学习:**一种常见的预训练目标,旨在通过对比正对(匹配)和负对(不匹配)来对齐共享空间中的图像和文本嵌入(例如,CLIP 19、ALIGN 26)19。**掩码语言-图像建模(MLM/MIM):**从语言模型改编的技术,其中文本或图像的部分被掩盖,模型被训练来预测缺失的信息(例如,VisualBERT,FLAVA 42)。**前缀语言建模(PrefixLM):**使用图像作为语言模型的前缀,训练模型以视觉输入为条件预测后续文本(例如,SimVLM,Frozen 42)。**数据集:**诸如LAION-5B 6、PMD 6、Conceptual Captions 6 和WebImageText (WIT) 30 等大型数据集通常用于预训练42。使用各种自监督和对比学习目标在大量多模态数据上进行预训练对于使视觉语言模型学习丰富的表示并实现强大的零样本和迁移学习能力至关重要。通过在预训练期间将模型暴露于各种图像-文本关系,我们使它们能够广泛理解视觉和语言概念及其对应关系,然后可以将其用于各种下游任务。微调涉及在较小的特定任务数据集上进一步训练预训练的视觉语言模型,以提高其在视觉问答或图像描述等下游任务中的性能5。**迁移学习:**使用诸如知识蒸馏6之类的技术将知识从较大的预训练模型迁移到较小的模型。**提示调整:**通过仔细设计文本提示(有时包括几个示例(少样本学习138))来调整视觉语言模型,以引导模型生成所需的输出42。**参数高效微调(PEFT):**使用诸如LoRA(低秩适应)5之类的方法以更少的训练参数微调大型模型,从而降低计算成本。**指令调整:**在指令和相应的视觉-文本响应数据集上微调视觉语言模型,以提高其遵循自然语言指令的能力43。微调允许将通用视觉语言模型有效地适应特定的应用程序需求,提高其针对目标任务的准确性和相关性。虽然预训练提供了坚实的基础,但在特定任务数据上进行微调有助于模型专门化并优化其在需要解决的特定问题上的性能,这通常需要平衡性能和计算效率的技术。用于评估视觉语言模型的关键数据集和基准包括:**视觉问答(VQA)数据集:**VQA v2 6、GQA 6、VizWiz 164、TextVQA 9、RealWorldQA 80 等6。**图像描述数据集:**COCO Captions 6、Flickr30k 6。**跨模态检索基准:**Flickr30k 6、MS-COCO 6。**MM-Bench 5:**涵盖广泛多模态任务的基准。**MMMU(大规模多学科多模态理解与推理基准)5:**评估视觉语言模型在需要大学水平学科知识和跨学科推理的任务中的表现。各种基准和数据集被用于评估视觉语言模型性能的不同方面,包括理解、生成、推理和检索能力。评估资源的种类反映了评估多模态模型的复杂性,需要测试不同功能并解决潜在偏差或局限性的基准。评估视觉语言模型性能具有挑战性,因为它需要评估视觉和语言理解及其对齐6。诸如BLEU、ROUGE、METEOR和CIDEr 6之类的传统指标通常用于生成任务,但可能无法完全捕捉多模态理解的质量。新的基准和评估方法正在不断开发,以解决现有方法的局限性9。能够有效区分模型性能的全面且具有挑战性的基准的开发是一个持续的研究领域5。评估多模态模型需要更复杂的指标和基准,这些指标和基准超越了传统的自然语言处理和计算机视觉评估,以真正评估多种模态的整合和理解。评估模型在视觉和语言之间理解和推理的能力需要能够评估的指标,这些指标不仅评估生成文本的质量或对象识别的准确性,还评估多模态交互的连贯性和相关性。

6. 视觉语言模型在各领域的应用

视觉语言模型已在医疗保健、自动驾驶、电子商务和零售、内容生成和编辑、机器人和具身智能、辅助功能、安全和监控、教育和学习、欺诈检测和预防、语义搜索和信息检索、半导体行业、虚拟和增强现实、营销和广告以及文档理解和分析等领域得到广泛应用1。

7. 多模态人工智能的未来方向和新兴趋势

未来的研究可能会侧重于开发更高效和可扩展的架构9,改进预训练策略以学习更丰富的多模态表示9,增强微调技术以更好地适应特定任务和领域9,整合注意力机制以实现更有效的跨模态融合8,以及探索Transformer之外的新颖架构,例如Mamba 211。未来的研究可能会侧重于使视觉语言模型更高效、更强大,并能够通过架构创新和改进的训练方法处理日益复杂的任务。随着对多模态人工智能的需求增长,将推动开发不仅更强大而且更易于在实际应用中部署和使用的模型,这需要模型设计和训练过程的进步。大型多模态模型将扩展到整合音频、视频和3D数据,以实现更丰富的上下文理解2。开发能够处理视频和音频中时序信息的模型56。通过与AR/VR技术集成,创造更具沉浸感和互动性的体验3。多模态人工智能的未来涉及向真正多感官系统的转变,这些系统能够处理和推理超出视觉和语言范围的更广泛的模态,从而实现更复杂和真实的交互。为了实现更像人类的智能,人工智能需要能够像人类一样通过多种感官来理解和与世界互动。这需要扩展当前的LLM以无缝整合和推理音频、视频、3D和其他数据模态。解决当前多模态人工智能模型的局限性,例如幻觉和偏见,并提高其推理能力,是未来研究构建更可靠和值得信赖的系统的关键领域1。研究旨在减轻视觉语言模型和大型多模态模型中的幻觉(生成不正确或无意义的信息)9。开发解决训练数据中偏见的方法,这些偏见可能导致不公平或歧视性的输出1。提高多模态模型的推理能力以处理更复杂和抽象的任务5。虽然LLM取得了显著的进步,但它们仍然存在生成不真实信息和表现出偏见的问题。未来的工作必须侧重于开发能够将响应扎根于现实并确保跨不同人口群体公平的技术。此外,增强其执行复杂推理的能力将解锁更高级的应用。多模态人工智能被认为是实现通用人工智能的潜在途径,因为它能够更全面地理解世界71。通过整合多种感官和认知模式,多模态人工智能旨在模仿人类般的学习、决策和问题解决能力3。大型多模态模型处理各种数据类型和执行复杂推理的能力使人工智能更接近实现更通用的智能43。多模态人工智能凭借其整合和推理不同模态的能力,被视为实现通用人工智能的关键一步,通用人工智能要求人工智能系统具备类似于人类的广泛认知能力。通向通用人工智能的道路可能涉及创建能够以整体方式感知和理解世界的人工智能系统,整合来自所有相关模态的信息,并在不同领域表现出灵活的推理和问题解决能力。多模态人工智能是实现这一愿景的关键推动因素。

8. 结论:规划多模态研究的未来

总之,多模态人工智能和视觉语言模型领域正在迅速发展,其潜力巨大,能够改变我们与技术互动和理解世界的方式。通过整合多种数据模态,这些模型能够实现更准确、更细致和更像人类的智能,从而在医疗保健、自动驾驶、电子商务和机器人等各个领域开辟了新的应用。尽管取得了显著的进步,但仍存在一些挑战,例如减轻幻觉、解决偏见和提高推理能力,这些都是未来研究的关键领域。展望未来,我们预计视觉语言模型架构和训练技术将不断进步,与其他模态(如音频、视频和3D数据)的整合将变得更加普遍。最终,多模态人工智能有潜力成为实现通用人工智能的关键一步,使机器能够以更全面和智能的方式感知、理解和与世界互动。

表1:单模态人工智能与多模态人工智能的比较

特征

单模态人工智能

多模态人工智能

处理的数据类型

单一数据类型(文本、图像、音频或视频)

多种数据类型(文本、图像、音频、视频等)

上下文理解

仅限于单一模态提供的信息

通过整合来自不同模态的信息获得更全面的理解

任务范围

适用于特定模态的任务

适用于需要跨多种模态理解和推理的任务

人机交互

通常依赖于单一类型的输入和输出

支持更自然和直观的交互,利用多种输入和输出方式

对数据不一致的弹性

容易受到单一模态中缺失或嘈杂数据的影响

如果一种数据模态不可靠或不可用,可以依赖其他模态来弥补

表2:主要视觉语言模型概述

模型名称

开发者

主要特点/创新

底层技术

值得注意的应用

CLIP

OpenAI

对比学习,零样本迁移

Transformer,Vision Transformer,ResNet

图像分类,内容审核,图像搜索

Qwen-VL系列

阿里云

原生动态分辨率,多模态旋转位置嵌入

Transformer,Vision Transformer

视觉问答,文本阅读,多语言支持

MiracleVision

美图

专注于视频生成和AI设计,语义理解

自研AI模型

图像编辑,视频创作,商业设计

GPT-4V/4o

OpenAI

多模态输入(图像和文本),实时处理多种模态

Transformer

视觉问答,代码生成,多模态对话

Flamingo

DeepMind

少样本学习,视觉条件文本生成

Transformer,NFNet

开放式视觉和语言任务

表3:视觉语言模型的主要评估数据集和基准

数据集/基准名称

描述

主要评估任务

使用的指标

相关Snippet IDs

VQA v2

包含关于图像的开放式问题

视觉问答

准确率

6

COCO Captions

包含图像及其文本描述

图像描述

BLEU, ROUGE, METEOR, CIDEr

6

Flickr30k

包含图像及其文本描述

图像描述,跨模态检索

Recall@K, mAP

6

MM-Bench

包含各种多模态任务

图像分类,视觉问答等

准确率

5

MMMU

包含需要大学水平知识的挑战

多模态理解和推理

准确率

5

相关文章:

多模态人工智能研究:视觉语言模型的过去、现在与未来

多模态人工智能研究:视觉语言模型的过去、现在与未来 1. 引言:定义多模态图景 多模态人工智能指的是旨在处理和整合来自多种数据类型或“模态”信息的人工智能系统,这些模态包括文本、图像、音频和视频等。与通常侧重于单一模态(…...

DeepSeek+Excel:解锁办公效率新高度

目录 一、引言:Excel 遇上 DeepSeek二、认识 DeepSeek:大模型中的得力助手2.1 DeepSeek 的技术架构与原理2.2 DeepSeek 在办公场景中的独特优势 三、DeepSeek 与 Excel 结合的准备工作3.1 获取 DeepSeek API Key3.2 配置 Excel 环境 四、DeepSeekExcel 实…...

3033. 修改矩阵

​题目来源: leetcode题目:3033. 修改矩阵 - 力扣(LeetCode) 解题思路: 获取每列的最大值后将-1替换即可。 解题代码: #python3 class Solution:def getMaxRow(matrix:List[List[int]])->List[int]:r…...

Android面试总结之jet pack模块化组件篇

一、ViewModel 深入问题 1. ViewModel 如何实现跨 Fragment 共享数据?其作用域是基于 Activity 还是 Fragment? 问题解析: ViewModel 的作用域由 ViewModelStoreOwner 决定。当 Activity 和其内部 Fragment 共享同一个 ViewModelStoreOwner…...

【无需docker】mac本地部署dify

环境安装准备 #安装 postgresql13 brew install postgresql13 #使用zsh的在全局添加postgresql命令集 echo export PATH"/usr/local/opt/postgresql13/bin:$PATH" >> ~/.zshrc # 使得zsh的配置修改生效 source ~/.zshrc # 启动postgresql brew services star…...

清洗数据集

将label在图片上画出来 按照第一行的属性分类 import os import cv2 import multiprocessing as mp from tqdm import tqdm# ---------- 路径配置 ---------- # IMAGE_DIR = r"C:\Users\31919\Desktop\datasets\13k_100drive_raw_with_hand\images\test" LABEL_DIR =…...

支持向量机(SVM)详解

引言 支持向量机(Support Vector Machine, SVM)是一种强大的监督学习算法,主要用于分类和回归任务。其核心思想是找到一个最优的决策边界(超平面),最大化不同类别之间的间隔(Margin&#xff09…...

MIT XV6 - 1.2 Lab: Xv6 and Unix utilities - pingpong

接上文 MIT XV6 - 1.1 Lab: Xv6 and Unix utilities - user/_sleep 是什么?做什么? pingpong 不务正业了那么久(然而并没有,虽然还在探索sleep,但是教材我已经看完了前三章了),让我们赶紧继续下去 在进行本实验之前请务…...

“淘宝闪购”提前4天全量,意味着什么?

4月30日推出,首日上线50个城市,既定5月6日推广至全国的“淘宝闪购”,突然在5月2日早上官宣,提前4天面向全国消费者全量开放。 这一系列节奏,剑指一个字“快”! 是业务发展远超预期的“快”。 4月30日&am…...

Servlet 解决了什么问题?

Servlet 主要解决了以下几个核心问题: 性能问题 (Performance): CGI 的问题: 传统的 CGI 技术为每个Web 请求都启动一个新的进程。进程的创建和销毁涉及大量的系统资源开销(内存分配、CPU 时间、进程上下文切换等)。在高并发场景下…...

Cherry Studio的MCP协议集成与应用实践:从本地工具到云端服务的智能交互

Cherry Studio的MCP协议集成与应用实践:从本地工具到云端服务的智能交互 一、MCP协议与Cherry Studio的技术融合 MCP(Model Context Protocol) 是由Anthropic提出的标准化协议,旨在为AI模型提供与外部工具交互的通用接口。通过M…...

CPU:AMD的线程撕裂者(Threadripper)系列

AMD的线程撕裂者(Threadripper)系列是AMD面向高性能计算(HPC)、工作站(Workstation)和高端桌面(HEDT)市场推出的顶级处理器产品线。该系列以极高的核心数、强大的多线程性能、丰富的…...

(即插即用模块-Attention部分) 六十二、(2022) LKA 大核注意力

文章目录 1、Larger Kernel Attention2、代码实现 paper:Visual Attention Network Code:https://github.com/Visual-Attention-Network 1、Larger Kernel Attention 自注意力机制在 NLP 领域取得了巨大成功,但其应用于计算机视觉任务时存在…...

Spring 分批处理 + 冷热数据分离:历史订单高效迁移与数据清理实战

在实际业务中,随着时间推移,订单量持续增长,若未及时进行数据治理,会造成数据库膨胀、查询缓慢、性能下降等问题。为了实现数据分层管理和系统高性能运行,我们在项目中采用了“冷热数据分离 分批迁移 数据清理”的综…...

Mybatis中的一级二级缓存扫盲

思维导图: MyBatis 提供了一级缓存和二级缓存机制,用于提高数据库查询的性能,减少对数据库的访问次数。(本质上是减少IO次数)。 一级缓存 1. 概念 一级缓存也称为会话缓存,它是基于 SqlSession 的缓存。在同…...

Elasticsearch 常用的 API 接口

文档类 API Index API :创建并建立索引,向指定索引添加文档。例如:PUT /twitter/tweet/1 ,添加一个文档。 Get API :获取文档,通过索引、类型和 ID 获取文档。如GET /twitter/tweet/1。 DELETE API &…...

纯前端专业PDF在线浏览器查看器工具

纯前端专业PDF在线浏览器查看器工具 工具简介 我们最新开发的PDF在线浏览器工具现已发布!这是一个基于Web的轻量级PDF阅读器,无需安装任何软件,直接在浏览器中即可查看和操作PDF文档。 主要功能 ✅ PDF文件浏览 支持本地PDF文件上传流畅的…...

传奇各职业/战士/法师/道士手套/手镯/护腕/神秘腰带爆率及出处产出地/圣战/法神/天尊/祈祷/虹魔/魔血

护腕排行(战士): 名字攻击攻击(均)魔法魔法(均)道术道术(均)防御防御(均)魔御魔御(均)重量要求图标外观产出圣战手镯2-32.50-000-000-10.50-002攻击: 400.02%双头金刚(50级/5000血/不死系)|赤月魔穴(1725,2125)60分钟2只 0.02%双头血魔(55级/5000血/不死系)|赤月魔穴(1725,212…...

觅知解析计费系统重构版在线支付卡密充值多解析接口免授权无后门源码扶风二开

一、源码描述 这是一套视频解析计费源码(扶风二开),可配置多接口和专用特征解析接口,对接在线支付和卡密支付,支持在线充值和卡密充值,支持点数收费模式和包月套餐收费模式,可配置多个视频解析…...

C++11新特性_委托构造函数

格式定义 在 C11 里,委托构造函数的格式为:一个构造函数能够在其成员初始化列表里调用同一个类的其他构造函数。基本语法如下: class ClassName { public:// 被委托的构造函数(目标构造函数)ClassName(参数列表1) : …...

网工_IP协议

2025.02.17:小猿网&网工老姜学习笔记 第19节 IP协议 9.1 IP数据包的格式(首部数据部分)9.1.1 IP协议的首部格式(固定部分可变部分) 9.2 IP数据包分片(找题练)9.3 TTL生存时间的应用9.4 常见…...

C++负载均衡远程调用学习之QPS性能测试

目录 1.昨日回顾 2.QPS_TEST_PROTOBUF协议的集成 3.QPS_TEST_SERVER端实现 4.QPS_TEST_QPS简单介绍 5.QPS_TEST_QPS客户端工具编写和性能测试 1.昨日回顾 2.QPS_TEST_PROTOBUF协议的集成 ## 14) Reactor框架QPS性能测试 ​ 接下来我们写一个测试用例来测一下我们…...

C++负载均衡远程调用学习之消息队列与线程池

目录 1.昨日回顾 2.单线程的多路IO服务器模型和多线程模型区别 3.服务器的集中并发模式 4.LARSV0.8-task_msg消息队列任务数据类型 5.LARSV0.8--thread_queue消息队列的发送和接收流 6.LARSV0.8-thread_pool线程池的实现 7.LARSV0.8-thread_pool线程池的实现 8.LARSV0.8…...

Kotlin 基础

Kotlin基础语法详解 Kotlin是一种现代静态类型编程语言,由JetBrains开发,与Java完全互操作。以下是Kotlin的基础语法详解: 1. 基本语法 1.1 变量声明 // 不可变变量(推荐) val name: String = "Kotlin" val age = 25 // 类型推断// 可变变量 var count: In…...

实验数据的转换

最近做实验需要把x轴y轴z轴的数据处理一下,总结一下解决的方法: 源文件为两个txt文档,分别为x轴和y轴,如下: 最终需要达到的效果是如下: 就是需要把各个矩阵的数据整理好放在同一个txt文档里。 步骤① …...

多种尝试解决Pycharm无法粘贴外部文本【本人问题已解决】

#作者:允砸儿 #日期:乙巳青蛇年 四月初五 笔者在写demo的时候遇到一个非常棘手的问题就是pycharm无法复制粘贴,笔者相信有很多的朋友遇到过这种问题,笔者结合搜素到的和自己揣摩出来的方法帮助朋友们解决这种问题。 1、第一种…...

【C++】红黑树迭代版

目录 前言: 一:什么是红黑树? 二:插入什么颜色节点? 三:定义树 四:左单旋和右单旋 1.右单旋 2.左单旋 五:调整树 1.当parent节点为黑色时 2.当parent节点为红色时 2.1 u…...

OSPF路由协议配置

初始环境与准备: 物理连接:按照文件的拓扑连接了 3 台路由器 (R01, R02, R03)、2 台交换机 (Switch0, Switch1) 和 2 台 PC (PC0, PC1)。关键发现:路由器之间的连接实际使用的是以太网线(连接到 FastEthernet 接口),而不是串口线。…...

linux下抓包工具--tcpdump介绍

文章目录 1. 前言2. 命令介绍3. 常见选项3.1. 接口与基本控制3.2 输出控制3.3 文件操作3.4 高级调试 4. 过滤表达式4.1 协议类型4.2 方向与地址4.3 逻辑运算符 5. 典型使用场景5.1 网络故障排查5.2 安全分析与入侵检测5.3 性能分析与优化 linux下抓包工具--tcpdump介绍 1. 前言…...

探索 Disruptor:高性能并发框架的奥秘

在当今的软件开发领域,处理高并发场景是一项极具挑战性的任务。传统的并发解决方案,如基于锁的队列,往往在高负载下表现出性能瓶颈。而 Disruptor 作为一个高性能的并发框架,凭借其独特的设计和先进的技术,在处理海量数…...

smss源代码分析之smss!SmpLoadSubSystemsForMuSession函数分析加载csrss.exe

第一部分: Next SmpSubSystemsToLoad.Flink; while ( Next ! &SmpSubSystemsToLoad ) { p CONTAINING_RECORD( Next, SMP_REGISTRY_VALUE, Entry )…...

《AI大模型应知应会100篇》第44篇:大模型API调用最佳实践(附完整代码模板)

第44篇:大模型API调用最佳实践(附完整代码模板) 摘要 当你的应用突然面临每秒1000请求时,如何保证大模型API调用既稳定又经济?本文通过12个实战代码片段、3套生产级架构方案和20优化技巧,带你构建高性能的…...

第5篇:EggJS中间件开发与实战应用

在Web开发中,中间件(Middleware)是处理HTTP请求和响应的核心机制之一。EggJS基于Koa的洋葱模型实现了高效的中间件机制,本文将深入探讨中间件的执行原理、开发实践以及常见问题解决方案。 一、中间件执行机制与洋葱模型 1. 洋葱模…...

数字智慧方案6187丨智慧应急指挥平台体系建设方案(78页PPT)(文末有下载方式)

数字智慧方案6187丨智慧应急指挥平台体系建设方案 详细资料请看本解读文章的最后内容。 引言 随着社会经济的快速发展,应急管理面临着越来越复杂的挑战。智慧应急指挥平台体系的建设,旨在通过先进的信息技术和智能化手段,提升应急管理的效…...

Linux 常用命令 - tar【归档与压缩】

简介 tar 这个名称来源于 “tape archive”,最初设计用于将文件归档到磁带上。现在,tar 命令已经成为 Linux 系统中最常用的归档工具,它可以将多个文件和目录打包成一个单独的归档文件,并且可以选择使用不同的压缩算法进行压缩&a…...

python常用科学计算库及使用示例

​一、NumPy - 数值计算基础库​​ ​​安装​​ pip install numpy ​​核心功能示例​​ 1. 数组创建与运算 import numpy as np# 创建数组 arr np.array([1, 2, 3, 4]) matrix np.array([[1, 2], [3, 4]])# 数学运算 print(arr 1) # [2 3 4 5] print(matrix …...

【中间件】brpc_基础_bthread头文件

bthread.h学习笔记 源码 1 概述 bthread.h 定义了一个用户级线程库,提供类似 POSIX 线程(pthread)的功能,但针对高并发和调度优化进行了扩展。支持线程管理、同步原语、中断机制、线程特定数据等功能,适用于需要高效…...

【AI面试准备】Git与CI/CD及单元测试实战指南

介绍Git、CI/CD 流程、单元测试框架(如 NUnit、JUnit)。如何快速掌握,以及在实际工作中如何运用 目录 一、Git:分布式版本控制系统核心概念高频命令实战建议 二、CI/CD:自动化交付流水线核心流程工具链组合关键配置示…...

个人健康中枢的多元化AI软件革新与精准健康路径探析

引言 人工智能技术的迅猛发展正在重塑医疗健康领域的服务模式和用户体验。随着多模态大模型、MCP协议、A2A协议和思考链算法等创新技术的出现,个人健康中枢正在经历一场深刻的软件革新。这些技术不仅打破了传统健康管理系统的信息孤岛,还通过多维度数据整合和深度推理能力,…...

Java文件上传

war包利用 WAR包结构详解-CSDN博客 Tomcat弱口令及war包漏洞复现(保姆级教程)-CSDN博客 Tomcat 8.x弱口令获取manager权限上传任意war包漏洞复现 - Stunmaker - 博客园...

Python项目源码63:病历管理系统1.0(tkinter+sqlite3+matplotlib)

1.病历管理系统包含以下主要功能: 核心功能:病历信息录入(患者姓名、年龄、性别、诊断结果、主治医生),自动记录就诊时间,病历信息展示(使用Treeview表格),病历信息查询…...

Unity 与 Lua 交互详解

Unity 与 Lua 的交互是热更新实现的核心技术,下面我将从底层原理到实际应用全面解析交互机制。 一、交互基础原理 1. 通信架构 Unity (C#) 原生层↑↓ 通过P/Invoke调用 Lua虚拟机层 (C/C实现)↑↓ Lua脚本解释执行 业务逻辑层 (Lua脚本) 2. 数据类型映射表 Lu…...

【Vue】Vue与UI框架(Element Plus、Ant Design Vue、Vant)

个人主页:Guiat 归属专栏:Vue 文章目录 1. Vue UI 框架概述1.1 主流Vue UI框架简介1.2 选择UI框架的考虑因素 2. Element Plus详解2.1 Element Plus基础使用2.1.1 安装与引入2.1.2 基础组件示例 2.2 Element Plus主题定制2.3 Element Plus的优缺点分析 3…...

期刊、出版社、索引数据库

image 1、研究人员向期刊或者会议投稿,交注册费和相应的审稿费等相关费用[1]; 2、会议组织者和期刊联系出版社,交出版费用; 3、出版社将论文更新到自己的数据库中,然后将数据库卖给全世界各大高校或企业; 4…...

btrace2.0使用方法

2022 年我研究安卓性能优化的时候,写过一篇:btrace1.0使用方法 - Wesley’s Blog,现在 brace 进化到 2.0 了,让我们一起来看看如何使用。 具体的接入流程可以看官方文档: bytedance/btrace: 🔥&#x1f5…...

【计算机视觉】三维视觉:Instant-NGP:实时神经辐射场的革命性突破

深度解析Instant-NGP:实时神经辐射场的革命性突破 技术架构与核心创新哈希编码(Hash Encoding)性能对比 环境配置与安装指南硬件要求全平台安装流程 实战全流程解析1. 数据准备2. 训练与重建3. 结果导出与应用 核心技术深度解析哈希编码实现混…...

组件通信-provide、inject

概述&#xff1a;实现祖孙组件直接通信 具体使用&#xff1a; 在祖先组件中通过provide配置向后代组件提供数据 在后代组件中通过inject配置来声明接收数据 具体编码&#xff1a; 【第一步】父组件中&#xff0c;使用provide提供数据 父组件&#xff1a; <template&g…...

定制开发开源AI智能名片S2B2C商城小程序驱动的无界零售基础设施变革研究——基于京东模式的技术解构与商业重构

摘要&#xff1a;本文以京东无界零售战略为参照&#xff0c;探讨定制开发开源AI智能名片S2B2C商城小程序如何通过“技术赋能生态重构”双轮驱动&#xff0c;重塑零售基础设施的可塑化、智能化与协同化。研究显示&#xff0c;该模式通过“AI名片智能中枢S2B2C分布式网络开源技术…...

基于STM32的带恒温系统智能外卖柜设计

标题:基于STM32的带恒温系统智能外卖柜设计 内容:1.摘要 随着外卖行业的迅速发展&#xff0c;对外卖存放设备的智能化和功能性要求日益提高。本设计的目的是开发一种基于STM32的带恒温系统智能外卖柜。方法上&#xff0c;以STM32微控制器为核心&#xff0c;结合温度传感器、加…...

ARM架构详解:定义、应用及特点

一、ARM架构的定义 ARM&#xff08;Advanced RISC Machine&#xff09; 是一种基于精简指令集&#xff08;RISC&#xff09;的处理器架构&#xff0c;由ARM公司&#xff08;现属英伟达&#xff09;设计&#xff0c;以低功耗、高能效为核心目标。其商业模式为IP授权&#xff0c…...