多模态大模型技术白皮书 2024

news2024/11/15 23:38:21

不同于语言大模型只对文本进行处理,多模态大模型将文本、语音、图像、视频等多模态数据联合起来进行学习。多模态大模型融合了多种感知途径与表达形态,能够同时处理和理解来自不同感知通道(例如视觉、听觉、语言和触觉等)的信息,并以多模态的方式表达输出。

1.1 多模态大模型的技术体系

现有的多模态大模型主要有面向理解任务的、面向生成任务的、兼顾理解和生成的、知识增强的多模态大模型。

1.1.1 面向理解任务的多模态大模型

面向理解任务的多模态大模型,其核心结构通常是 基于Transformer 的编码器。按照模型结构的不同,面向理解任务的多模态大模型又可再分为单流和多流两种结构。单流结构是指不同模态的特征在拼接后由一个共享的 Transformer 网络进行处理;而多流结构中,不同模态则分别由 Transformer 网络进行编码处理,这些网络之间存在有一些特征上的交互融合机制。

多流结构的一个典型代表是图文理解模型 ViLBERT,它采用了一种双流 Transformer 的结构,首先将文本和图像数据分别输入两个独立的 Transformer 编码器,接着使用互注意力 Transformer(Co-Attention Transformer)层将文本和图像特征进行融合,最后所得到文本-图像特征可以被应用到视觉问答、图像描述生成等不同的多模态的任务中。

多流结构的另一个代表是 OpenAI 公司的 CLIP模型,它采用两个独立的编码网络对图像和文本进行特征抽取,并通过对比学习将两者的特征嵌入到共享的语义空间中。CLIP 基于 4 亿图文对进行训练,可以从自然语言监督中有效地学习视觉概念,从而获得泛化性能极强的零样本(zero-shot)分类能力。

另一个与 CLIP 类型的代表性方法ALIGN,使用对比损失训练了一个简单的双编码器模型,利用包含超过10亿个噪声图像-文本对的数据集来扩展视觉和视觉语言表征学习。CLIP 是个图文双流结构,而 VATT则是针对视频-文本-音频数据的多流模型。

与 CLIP 类似,VATT 将每个模态线性投影为特征向量,然后将其分别送到 Transformer 编码器中,并将编码后的特征在语义分层的不同粒度空间中通过对比学习来训练模型。

图 3-1 CLIP模型架构图

单流结构的一个典型代表是 VL-BERT,它将图像的描述文本和关键物体的区域特征拼接后作为 BERT 网络的输入,通过掩码掉部分文本输入和图像输入并预测所缺失的信息来进行模型训练。

此外,另一代表性方法 UNITER ,则采用了一种多任务的多模态预训练方法,相对于其它方法,该模型增加了单词与图像区域的匹配模块,来更进一步建立图像与文本的细粒度关联。

在视频领域,单流结构的代表性方法有 VideoBERT和 ActBERT,其中 VideoBERT 是一个视频-语言模型,它融合了文本和视频作为 BERT 网络的输入;而ActBERT 采用了一种全局-局部关系的建模方法,输入不止包括文本和视频的全局信息,还利用了视频帧中的局部信息来加强对于视频内容的理解。

现有的面向理解任务的多模态大模型大多都以上面两类结构为基础,此外,也有不少方法在预训练任务上进行研究,引入更多的预训练任务或设计统一的架构去训练所有的任务等。例如,其中一个典型方法 Florence,它着重于如何使模型适应各种下游任务,并设计了一个由多模态大模型和适应模型组成的工作流。

具体对于任务适应,该模型使用动态头部适配器将学习到的视觉特征表示从场景扩展到对象,采用 CoSwin 适配器来学习视频表示,并使用 METER 适配器将模型应用到依赖细粒度视觉-语言表示的视觉语言任务。

1.1.2 面向生成任务的多模态大模型

面向生成任务的多模态大模型能够实现文本、图片、视频、音频、3D、分子结构等多种模态内容的生成应用。

目前常用的方法主要是基于序列生成模型和扩散模型(diffusion models)。在序列生成模型中,DALL-E[73]是个典型代表。它是由 OpenAI发布的一个基于 4 亿图文对训练的图像生成模型,通过采用VQVAE图像离散自编码器和 GPT 组合的结构,在以文生图任务上取得了突破性的生成质量和泛化能力,被称作图像版 GPT。

另一典型的图像生成模型是北京智源研究院所的 CogView 模型(如图3-2 所示),它具有与 DALL-E 类似的结构,但是面向中文环境的文本到图像生成,并进一步探索了多模态生成模型在下游任务上精调后的泛化能力。

CogView 在基于文本控制的样式学习、服装设计和图像超分等任务上均取得出色的效果。在文本生成方向上,采用序列生成模型是最主流的方案,例如,典型方法 GIT是一个视觉到文本的多模态大模型,统一了图像/视频的描述和问答等视觉语言任务,它包含有一个图像编码器和一个文本解码器,其文本解码器在视觉编码的基础上,以自回归的方式来生成文本。

图 3-2 CogView 模型架构图

扩散模型的工作原理,是通过连续添加高斯噪声来破坏训练数据,然后通过反转这个噪声过程,来学习恢复数据。扩散模型的一个代表性方法 LDM,它先压缩图像的像素信息来获取图像对应的隐特征表达,再采用扩散模型来建模图像隐特征分布。

另一典型扩散模型Stable Diffusion,它拓展 LDM 至开放领域的文本至图像生成,是当前开源模型的代表方法。除了开源模型之外,闭源的扩散模型中代表性方法有 OpenAI 的 DALL-E2与谷歌的 Imagen。

其中,DALL-E2 首先然练一个扩散解码器来反转 CLIP 图像编码器,然后训练一个独立的映射模型将 CLIP 模型的文本特征映射到图像特征空间,从而实现以文生图的过程,并极大提升了生成图像与输入文本的匹配程度。

而 Imagen 首先将文本进行编码表征,之后使用扩散模型将表征映射成为 64x64 像素的低分辨率的图像,然后会通过两个超分辨率扩散模型来逐渐提高分辨率到 1024x1024 像素,如图 3-3 所示。

此外,与 DALL-E2 不同的是,Imagen 使用了通用语言大模型 T5 模型直接编码文本信息,然后直接用该文本编码来生成图像;同时,Imagen 发现基于 T5 模型提取的文本特征生成的图像比基于 CLIP 模型的图像细节准确度更高。

图 3-3 Imagen 模型架构图

1.1.3 兼顾理解和生成任务的多模态大模型

Transformer 编码器通过双向的注意力机制来学习对数据的理解能力,而解码器通过单向的注意力机制学习生成能力。

为了让模型同时具备这两种能力从而可以在更广泛的下游任务上应用,可以联合Transformer 编码器与解码器,设计能够兼顾理解与生成任务的多模态大模型。

例如,一个典型方法是蒙特利尔大学所的 VL-T5模型,将多个多模态任务统一为文本生成任务。具体地,如图 3-4 所示,该模型由 Transformer 编码器和自回归的解码器组成,其主要创新点在于针对训练任务与数据的不同采用不同的输入文本与输出文本的构造方式,这种将模型结构和目标任务统一的方法可以充分利用不同任务的数据来训练模型,提高模型的泛化性。

这类方法的另一个典型模型 Unified VLP,它的主要特点是编码器和解码器共享同一个Transformer 网络。

该方法通过设置注意力掩码来控制网络为编码器或解码器。

具体地,当使用编码器时,注意力掩码为双向掩码,任一位置都可建模前后两个方向的依赖关系;当使用解码器功能时,注意力掩码设置为单向,每一位置只能建模前文的依赖关系。这种编解码共享的方式能够减少参数量,使网络更加简洁。

图 3-4 VL-T5 模型架构图

此外,还可以将语言大模型的文本生成能力与各类模态编码器的多模态感知能力相结合,以此构建的多模态大模型也能够兼顾理解和生成能力。这类方法以语言大模型为主导来实现多模态的对齐、融合和交互。

这是由于文本有高效的表达效率、能够通过语义描述的方式与其余所有模态建立直接的联系,另外,语言大模型在预训练过程中学习到了非常多的世界知识,有潜在理解多模态信息的能力。

这类模型在结构方面常由单模态编码器、连接器与语言大模型三部分组成,其中单模态编码器和语言大模型的参数可以冻结以减少计算量、提高训练效率;连接器常见的有简单的线性映射层,或者特殊设计的网络模块如 BLIP-2中的 Q-former 结构等(如图 3-5 所示)。

这类模型通常涉及到两个阶段的训练过程。在第一阶段,训练各个模态到语言大模型的语义对齐,通常利用大规模弱关联的跨模态数据(如图像-文本、视频-文本、音频-文本数据等),基于条件文本生成任务进行训练。

在第二阶段进行多模态指令微调以提升零样本多模态能力,此阶段的核心是构造面向多模态任务的指令微调数据,目前常见的多模态指令微调数据类型有多模态对话、多模态详细描述与多模态推理问答等。

图 3-5 BLIP-2 模型架构图

1.1.4 知识增强的多模态大模型

大模型不仅对大规模数据有着卓越的拟合能力,还能够学习到隐式的知识。为了促进更有意义的理解和预测,还需要寻找将隐式知识与显式知识(例如来自知识图谱)联系起来的方法。因此,将知识图谱、场景图、外部知识库等结构化的知识信息注入大模型中,将可增强多模态大模型的知识利用能力。

例如,在场景图知识的利用上的一个典型方法是百度的 ERNIE-ViL模型,如图 3-6 所示,它在视觉-语言模型中引入了由文本解析而来的场景图信息,在预训练过程中通过将场景图中的知识实体和关系进行掩码后要求模型预测所掩码位置的知识信息,以此作为更细的多模态预训练任务,这能够使得模型更能精准把握图像和文本之间细粒度的对齐信息。

在知识图谱的利用上,典型方法有 KRISP,它结合了隐含知识和明确知识的学习,即从无监督语料和有监督的训练数据中学到隐含的知识,从结构化数据知识图谱中学习明确的符号化的知识,这样既可以进行隐式的知识推理,又可以获取符号化的知识表示。

图 3-6 ERNIE-ViL 模型架构图

1.2 多模态大模型的关键技术

多模态大模型的关键技术主要包括预训练数据收集、基础模型构建、自监督学习与模型优化训练、下游任务微调。

1.2.1 多模态大模型的网络结构设计

网络架构在多模态预训练中扮演着关键角色,需要精心设计以适应和理解来自不同源的复杂特征。

例如,在处理图像和文本模态时,通常会采用 Transformer 或卷积神经网络(CNN)来捕捉视觉和语言之间的复杂关系;而对于事件流,脉冲神经网络可能更为适合,因为它们能有效地模拟信息的时序动态。

随着模型规模的增加,大型多模态大模型展示出强大的记忆能力和性能增益。然而,模型复杂度的增加也不可避免地引入了计算效率的挑战,并可能最终遇到性能瓶颈。因此,对于更高效的网络模型结构的设计和探索,比如改进或甚至替代 Transformer,成为了重要的研究方向。

其次,得益于语言大模型涌现出的知识与逻辑推理能力,近期有一系列多模态大模型开始以语言大模型为核心进行构建。其中一个代表性方法是 DeepMind 的 Flamingo视觉语言模型,该模型能够将图像、视频和文本作为提示并输出相关语言回复。

它将视觉编码器与语言大模型的参数冻结并通过可学习的融合模块联系起来,模型采用20 多亿对图片-文本、270 万对视频-文本,与 430 万图文混排的网页数据进行视觉-语言联合训练;Flamingo 具有少样本(few-shot)的多模态序列推理能力,无需额外训练即可完成视觉语义描述、视觉问答等多种任务。另一个代表性模型 KOSMOS-1,它将一个基于Transformer 的语言模型作为通用接口,并将其与视觉感知模块对接,使得模型“能看”和“会说”;该模型具有 16 亿参数量,在大规模多模态语料库上训练,具有遵循指令(即零样本学习)以及在上下文中学习(即少样本学习)能力,能够原生处理视觉对话、视觉问答、图像描述生成、光学字符识别等任务。

此外,近期还有一系列模型尝试将图像、视频等感知模块与 LLaMA等开源的语言大模型对接,从而实现类似 GPT-4 的多模态理解能力。

其中的一个典型模型是ChatBridge,它使用多个并行的感知模块用来处理包括图片、音频、视频的在内特征,然后通过少量预训练参数将这些模态的特征投影至语言大模型的语义空间,使得模型具备灵活感知、理解混合模态信息的能力。

最后,对于多模态预训练,设计与下游任务更高兼容性的网络结构模型显得尤为重要。具体来说,可以通过引入编码器-解码器结构将多模态理解和生成任务统一到一个框架下,从而更好地支持各种多模态任务。这主要涉及到跨模态的注意机制、模态间的对齐和翻译、以及更复杂的特征集成策略。

1.2.2 多模态大模型的自监督学习优化

以视觉-语言数据的联合学习为例,多模态大模型常用的自监督学习任务通常有以下几种类型。

1)掩码语言建模(Masked Language Modeling,MLM):输入文本序列中的某些单词或标记会被替换为特殊的掩码标记[MASK],然后预训练模型被要求根据可见的多模态上下文来预测这些被遮蔽的单词或标记,如图 3-7。

多模态大模型通过执行这种预训练任务,模型能够在大规模文本数据上获取深层次的语言理解,从而更好地执行下游自然语言处理任务,如文本分类、命名实体识别、句子相似性计算等。

图 3-7 掩码语言预测

2)掩码图像建模(Masked Image Modeling,MIM):输入图像中的部分区域会被隐藏或被替换为特殊的掩码标记[MASK],然后预训练模型被要求在仅看到其余图像内容与文本等其他模态信息的情况下,预测或还原被遮蔽的图像区域。

多模态大模型通常使用这种训练方式促使模型学习图像的视觉特征、多模态上下文信息和语义关系,以更好地理解图像内容,如图 3-8。

图 3-8 掩码视觉预测

3)图像-文本匹配(Image-Text Matching,ITM):前面的掩码语言建模和掩码图像建模旨在建立图像与文本的细粒度对齐,而图像-文本匹配任务是旨在实现图像与文本的全局对齐。通常给定图文对作为正样本,随机配对作为负样本对,然后通过二分类方法实现图像和文本的匹配,从而建立图像和文本之间的语义关联,如图 3-9。

图 3-9 图像文本匹配

4)图像-文本对比学习(Image-Text Contrastive Learning, ITC),使用对比学习的方法将图像和文本的相同样本对的向量表示拉近,不同样本对的向量表示推远,从而增强图像和文本之间的语义关联性。这使得模型能够更好地理解图像和文本之间的语义关联,为多模态任务提供更好的表示能力,如图 3-10。

图 3-10 图像-文本对

1.2.3 多模态大模型的下游任务微调适配

多模态大模型的最终目标是适配并提升特定下游任务上的性能表现,因此,需要通过微调适配将预训练大模型的能力迁移到特定数据下的特定任务场景中。目前,多模态大模型的微调适配方式主要有三种:

1)面向特定任务的模型微调适配:多模态大模型的权重被作为初始参数,并在任务特定数据上进行有监督的微调。通过这种微调,模型将学习针对具体任务的细粒度特征和表示,从而适应特定任务的要求。

2)联合提示学习的模型微调适配:设计契合上游预训练任务的模板,挖掘出上游预训练模型的潜力,让上游的预训练模型在尽量不需要标注数据的情况下比较好的完成下游的任务。提示学习允许在不同类型的任务上重复使用预训练模型,只需简单修改提示模版即可适应特定任务,从而节省了训练时间和计算资源。

3)基于适配器网络的模型微调适配:每个任务都有自己独立的适配器层,使得模型可以在不同任务之间共享通用预训练模型的表示,同时在每个任务上进行个性化的调整。适配器层通常由较少的参数组成,因此它们比在整个模型上进行微调更加高效。在训练过程中,预训练模型的参数是固定的,只有适配器层的参数被更新。

现有的预训练大型方法通过特征微调或提示学习用于下****游任务,也需要更多研究考虑为多模态大型模型开发增量学习算法。未来,如何将新模态引入到已经预先训练好的多模态模型中具有实际意义,因为新的传感器(模态)将在未来的某个不确定时间出现,设计的多模态大型模型应该足够灵活以应对这种情况。

如何系统的去学习大模型LLM ?

作为一名热心肠的互联网老兵,我意识到有很多经验和知识值得分享给大家,也可以通过我们的能力和经验解答大家在人工智能学习中的很多困惑,所以在工作繁忙的情况下还是坚持各种整理和分享。

但苦于知识传播途径有限,很多互联网行业朋友无法获得正确的资料得到学习提升,故此将并将重要的 AI大模型资料 包括AI大模型入门学习思维导图、精品AI大模型学习书籍手册、视频教程、实战学习等录播视频免费分享出来

所有资料 ⚡️ ,朋友们如果有需要全套 《LLM大模型入门+进阶学习资源包》,扫码获取~

👉[CSDN大礼包🎁:全网最全《LLM大模型入门+进阶学习资源包》免费分享]👈

在这里插入图片描述

一、全套AGI大模型学习路线

AI大模型时代的学习之旅:从基础到前沿,掌握人工智能的核心技能!

img

二、640套AI大模型报告合集

这套包含640份报告的合集,涵盖了AI大模型的理论研究、技术实现、行业应用等多个方面。无论您是科研人员、工程师,还是对AI大模型感兴趣的爱好者,这套报告合集都将为您提供宝贵的信息和启示。

img

三、AI大模型经典PDF籍

随着人工智能技术的飞速发展,AI大模型已经成为了当今科技领域的一大热点。这些大型预训练模型,如GPT-3、BERT、XLNet等,以其强大的语言理解和生成能力,正在改变我们对人工智能的认识。 那以下这些PDF籍就是非常不错的学习资源。

img

在这里插入图片描述

四、AI大模型商业化落地方案

img

阶段1:AI大模型时代的基础理解
  • 目标:了解AI大模型的基本概念、发展历程和核心原理。
  • 内容
    • L1.1 人工智能简述与大模型起源
    • L1.2 大模型与通用人工智能
    • L1.3 GPT模型的发展历程
    • L1.4 模型工程
      - L1.4.1 知识大模型
      - L1.4.2 生产大模型
      - L1.4.3 模型工程方法论
      - L1.4.4 模型工程实践
    • L1.5 GPT应用案例
阶段2:AI大模型API应用开发工程
  • 目标:掌握AI大模型API的使用和开发,以及相关的编程技能。
  • 内容
    • L2.1 API接口
      - L2.1.1 OpenAI API接口
      - L2.1.2 Python接口接入
      - L2.1.3 BOT工具类框架
      - L2.1.4 代码示例
    • L2.2 Prompt框架
      - L2.2.1 什么是Prompt
      - L2.2.2 Prompt框架应用现状
      - L2.2.3 基于GPTAS的Prompt框架
      - L2.2.4 Prompt框架与Thought
      - L2.2.5 Prompt框架与提示词
    • L2.3 流水线工程
      - L2.3.1 流水线工程的概念
      - L2.3.2 流水线工程的优点
      - L2.3.3 流水线工程的应用
    • L2.4 总结与展望
阶段3:AI大模型应用架构实践
  • 目标:深入理解AI大模型的应用架构,并能够进行私有化部署。
  • 内容
    • L3.1 Agent模型框架
      - L3.1.1 Agent模型框架的设计理念
      - L3.1.2 Agent模型框架的核心组件
      - L3.1.3 Agent模型框架的实现细节
    • L3.2 MetaGPT
      - L3.2.1 MetaGPT的基本概念
      - L3.2.2 MetaGPT的工作原理
      - L3.2.3 MetaGPT的应用场景
    • L3.3 ChatGLM
      - L3.3.1 ChatGLM的特点
      - L3.3.2 ChatGLM的开发环境
      - L3.3.3 ChatGLM的使用示例
    • L3.4 LLAMA
      - L3.4.1 LLAMA的特点
      - L3.4.2 LLAMA的开发环境
      - L3.4.3 LLAMA的使用示例
    • L3.5 其他大模型介绍
阶段4:AI大模型私有化部署
  • 目标:掌握多种AI大模型的私有化部署,包括多模态和特定领域模型。
  • 内容
    • L4.1 模型私有化部署概述
    • L4.2 模型私有化部署的关键技术
    • L4.3 模型私有化部署的实施步骤
    • L4.4 模型私有化部署的应用场景
学习计划:
  • 阶段1:1-2个月,建立AI大模型的基础知识体系。
  • 阶段2:2-3个月,专注于API应用开发能力的提升。
  • 阶段3:3-4个月,深入实践AI大模型的应用架构和私有化部署。
  • 阶段4:4-5个月,专注于高级模型的应用和部署。
这份完整版的所有 ⚡️ 大模型 LLM 学习资料已经上传CSDN,朋友们如果需要可以微信扫描下方CSDN官方认证二维码免费领取【保证100%免费

全套 《LLM大模型入门+进阶学习资源包↓↓↓ 获取~

👉[CSDN大礼包🎁:全网最全《LLM大模型入门+进阶学习资源包》免费分享👈

在这里插入图片描述

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.coloradmin.cn/o/1947915.html

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈,一经查实,立即删除!

相关文章

构建生成工具cmake的使用(1)

ps:本文是对cmake的基础讲解,掌握后解决70-80%情况是足以应对的,后续会对cmake有进阶内容。 一 前言 CMake 是一个工具,帮助开发者管理和自动化软件项目的构建过程。它使用一个叫做CMakeLists.txt 的文本文件来描述项目的组织结构、编译选项…

matlab实验:实验六MATLAB 数值计算与符号运算

题目1:(线性方程组数值求解) 1. 用不同的方法求解下面方程:(方程原式参考 P369 实验 10,第 1 题) 第 1 种,左除和求逆函数(inv) 第 2 种 , 用 符 号 运 算 的…

大语言模型-对比学习-Contrastive Learning

一、对比学习概念 对比学习是一种特殊的无监督学习方法。 旨在通过拉近相关样本的距离并且推远不相关样本的距离,来学习数据表示。 通常使用一种高自由度、自定义的规则来生成正负样本。在模型预训练中有着广泛的应用。 二、对比学习小案例 对比学习主要分为三个…

C#使用Clipper2进行多边形合并、相交、相减、异或的示例

Clipper2库介绍 开源库介绍: Clipper2在Github上的地址:https://github.com/AngusJohnson/Clipper2 Clipper2库对简单和复杂多边形执行交集(Intersection)、并集(Union)、差分(Difference&…

Llama 3.1超大405B!AI巨浪再掀新高潮

前沿科技速递🚀 Meta公司宣布开放的Llama 3.1系列模型,以其惊人的128K上下文长度、对八种语言的支持以及业界领先的405B开放式最前沿AI模型,瞬间吸引了全球科技界的目光。该系列模型不仅在通用知识、可控性、数学、工具使用和多语言翻译等方面…

探索算法系列 - 双指针

目录 移动零(原题链接) 复写零(原题链接) 快乐数(原题链接) 盛最多水的容器(原题链接) 有效三角形的个数(原题链接) 查找总价格为目标值的两个商品&…

鸿蒙开发—黑马云音乐之广告页

目录 1.页面布局 2.点击按钮跳转 3.倒计时自动跳转 接下来是项目实战,项目选用传智的黑马云音乐。 效果图如下: 1.页面布局 Entry Component struct ADPage {State message: string Hello Worldbuild() {Stack({alignContent:Alignment.TopEnd}) {…

Axure中继器实战篇:让数据展示和交互设计更上一层楼!

Axure中继器实战篇:让数据展示和交互设计更上一层楼! 前言 经过了前两章的学习,接下来我们去模拟的实际场景开启实战篇,以下是界面 1.前期准备 前期把页面准备好后,给中继器的每个单元格命名为了方便数据绑定的操作。 为了演示我准备了几十行数据,建议也多准备一点。…

学习Java的日子 Day56 数据库连接池,Druid连接池

Day56 1.数据库连接池 理解:池就是容器,容器中存放了多个连接对象 使用原因: 1.优化创建和销毁连接的时间(在项目启动时创建连接池,项目销毁时关闭连接池) 2.提高连接对象的复用率 3.有效控制项目中连接的…

vue 搜索框

效果 创建搜索组件: 在Vue项目中,首先需要创建一个搜索组件。这个组件通常包含一个输入框和一个搜索按钮。使用v-model指令将输入框与组件的数据属性(如searchKeyword)进行双向绑定,以便获取用户输入的关键词。处理搜索…

Linus: vim编辑器的使用,快捷键及配置等周边知识详解

提示:文章写完后,目录可以自动生成,如何生成可参考右边的帮助文档 文章目录 vim的安装创建新用户 adduser 用户名Linus是个多用户的操作系统是否有创建用户的权限查看当前用户身份:whoami** 怎么创建设置密码passwdsudo提权(sudo输入的是用户…

锁相环 vivado FPGA

原理 同步状态/跟踪状态:相位差在2kπ附近,频率差为0到达上述状态的过程称为捕获过程锁相环的捕获带:delta w的最大值,大于这个值的话就不能捕获鉴相器(PD-phase discriminator):相乘加LPF&…

从0到1使用Docker部署java项目详解

Docker部署Java项目相比传统部署方式,在环境一致性、配置管理、可扩展性和安全性等方面具有显著优势。然而,它也带来了学习成本、资源消耗和复杂度增加等挑战。 云服务器 白嫖阿里云服务 通过免费试用方式获取自己的阿里云服务器。当然,如…

SQL-REGEX-常见正则表达式的使用

SQL-REGEX-常见正则表达式的使用 在SQL中,正则表达式(Regex)的使用可以帮助进行更灵活和精确的模式匹配和数据筛选。不同的数据库管理系统对于正则表达式的支持略有差异,但大体都是相似的。 Tips: 模式描述匹配内容…

优选算法之前缀和(上)

目录 一、【模板】一维前缀和 1.题目链接:DP34【模板】前缀和 2.题目描述: 3.解法(前缀和) 🍃算法思路: 🍃算法代码: 二、【模板】二维前缀和 1.题目链接:DP35【…

海外短剧CPS分销推广系统平台源码搭建方案介绍

随着全球内容消费市场的日益繁荣,短剧作为一种新兴的娱乐形式,正在迅速赢得全球观众的喜爱。特别是当国内短剧以其独特的创意和精湛的制作技艺,吸引了大量海外观众的关注时,短剧出海成为了国内影视行业的一大趋势。接下来为大家介…

HarmonyOS三方库的使用

系统组件难以提供比较优秀的界面,需要第三方库来实现一些比较好看的界面效果 三方库的获取: 开源社区支持OpenHarmony-TPC 和 Openharmony三方库中心仓 先目前已经拥有各种各样的三方库,包括UI 图片 动画 网络 数据存储 工具类 多媒体 安全等…

Cookie与Session 实现登录操作

Cookie Cookie 是网络编程中使用最广泛的一项技术,主要用于辨识用户身份。 客户端(浏览器)与网站服务端通讯的过程如下图所示: 从图中看,服务端既要返回 Cookie 给客户端,也要读取客户端提交的 Cookie。所…

Android开发中使用Base64类库进行密码加密报错解决

在对密码加密采用sdk自带类库Base64加密时,函数可跳转,能够索引到类函数位置,但是运行出现报错。 使用情况: 引用:import java.util.Base64; 调用:String decode new String(Base64.getEncoder().encod…

实战练习之Linux上实现shell脚本自动化编程

实验拓扑要求 主机环境描述 注意: 172.25.250.101-172.25.250.105 共 5 个 IP 地址由servera.exam.com服务器进行提供。172.25.250.106 由 serverb.exam.com 服务器进行提供。 需求描述 1. 172.25.250.101 主机上的 Web 服务要求提供 www.exam.com Web站点&#…