多模态大模型-CogVLm 论文阅读笔记

多模态大模型-CogVLm 论文阅读笔记

COGVLM: VISUAL EXPERT FOR LARGE LANGUAGEMODELS


  • 论文地址 :https://arxiv.org/pdf/2311.03079.pdf
  • code地址 : https://github.com/THUDM/CogVLM
  • 时间 : 2023-11
  • 机构 : zhipuai,tsinghua
  • 关键词: visual language model
  • 效果:(2023-11) :CogVLM-17B achieves state-of-the-art performance on 10 classic cross-modal benchmarks, including NoCaps, Flicker30k captioning, RefCOCO, RefCOCO+, RefCOCOg, Visual7W, GQA, ScienceQA, VizWiz VQA and TDIUC, and ranks the 2nd on VQAv2, OKVQA, TextVQA, COCO captioning, etc., surpassing or matching PaLI-X 55B

目录

多模态大模型-CogVLm 论文阅读笔记

  • 多模态大模型-CogVLm 论文阅读笔记
    • COGVLM: VISUAL EXPERT FOR LARGE LANGUAGEMODELS
    • 目录
    • 简介
    • 论文大致翻译
      • 介绍:
      • 方法
        • 结构
        • 预训练
        • 对齐
      • 实验
        • IMAGE CAPTIONING
        • VISUAL QUESTION ANSWERING
        • VISUAL GROUNDING
        • INSTRUCTION FOLLOWING IN REAL-WORLD USER BEHAVIOR
      • ABLATION STUDY (消融实验)
      • 总结
    • 代码部分
  • 参考链接

简介

作者构建了一个名为CogVLM的开源的视觉语言集成模型,其关键点如下:

  • 与目前流行的将 图像特征映射到语言模型的输入空间的 浅层方法不同,CogVLM通过一个在注意力层和FFN层构建的可训练的视觉专家模块 作为桥梁将冻结的预训练的语言模型和图像编码器连接起来。
  • 开源
  • 在各种数据集上达到SOTA或者前列的水平
  • 这种视觉语言特征的深度融合可以在NLP任务中能够不牺牲性能

论文大致翻译

介绍:

视觉语言模型能力多样且强大,许多视觉和跨模态的任务可以表达为下一个token的预测。比如image captioning、VQA、visual grounding、 segmentation。而且上下文的能力也可以在VLMs扩大时在下游任务中表现出来。

然而,训练大型语言模型已经很不容易了,更难的是并且从头开始训练具有和训练有素的纯语言模型(如 LLAMA2)相同 NLP 性能的 VLM。因此自然而然就想到如何从现成的预训练语言模型中训练VLM。

流行的浅层对齐方法比如BLIP-2 这种方法速度快但是效果不如联合训练的视觉语言模型模块如PaLI-X。至于通过浅层对齐的聊天模式的VLM如MiniGPT-4,LLAVA和VisualGLM, 其视觉能力的羸弱常出现幻觉。所以在保持NLP能力的大语言模型中的同时加入顶级的视觉理解能力是否可能呢?

CogVLM 给出了答案,在作者看来,浅层对齐方法性能较差的根本原因在于视觉和语言信息之间缺乏深度融合。这种灵感源于p-tuning和LoRA之间在微调效果中的比较,这里 p-tuning 在输入中学习任务前缀embedding,而 LoRA 通过低秩矩阵调整每一层的模型权重。结果呢,LoRA表现的更好更稳健。同样的现象也可能出现在VLM任务中,因为浅层的对齐方法中图像特征就像 p-tuning 中的前缀embedding一样。p-tuning 和浅层对齐的性能下降的更详细原因包括:

  1. 语言模型中的冻结权重针对文本进行训练。视觉特征在输入文本空间中没有完美的对应物。因此,经过多层转换后,视觉特征可能不再匹配深层权重的输入分布。
  2. 在预训练期间,图像字幕任务的先验,例如写作风格和字幕长度,只能在浅层对齐方法中编码到视觉特征中。它削弱了视觉特征和内容之间的一致性。

一种可能的解决方案是将语言模型去适应图像-文本联合训练,PaLI (Chen et al., 2022b) 和 Qwen-VL (Bai et al., 2023a) 采用的方法。然而,通过这种方式,NLP 能力被破坏,这可能会影响以文本为中心的任务,例如基于图像的诗歌创建或介绍图像的背景故事。根据 PaLM-E (Driess et al., 2023),在 VLM 预训练期间,将大语言模型同时设置为可训练的,会导致灾难性遗忘,8B 语言模型的 NLG 性能下降 87.3%

CogVLM替换为给语言模型添加了一个可训练的Visual expert。在每一层中,序列中的图像特征使用一个新的不同的QKV矩阵和带有文本特征的MLP层。Visual expert在保持FLOPs不变的情况下(?为啥参数增加FLOPS却不变?)将参数数量加倍。由于原语言模型中的所有参数都是固定的,所以当输入序列不包含图像时,其表现与原语言模型相同。

作者从Vicuna-7B训练而来的CogVLM-17B在14个经典的跨模态基准上实现了最先进或第二好的性能,包括 1)图像描述数据集:NoCaps、Flicker30k、COCO, 2)VQA数据集:VQAv2、OKVQA、GQA、TextVQA、VizWiz,3)视觉基础数据集:RefCOCO、RefCOCOCO+、RefCOCOg、Visual7W,4)多选数据集:TDIUC、ScienceQA。作者还训练了来自ChatGLM-12B(Du et al.,2021)的CogVLM-28B-zh,以支持商业使用的英语和汉语,这不包括在本文中。

方法

结构

CogVLM 的架构。(a) 输入的图示,其中图像由预训练的 ViT 处理,并映射到与文本特征相同的空间。(b) 语言模型中的 Transformer 块。图像特征具有不同的 QKV 矩阵和 FFN。只有紫色部分是可训练的。

图3: CogVLM 的架构。(a) 视觉语言模型的输入,其中图像由预训练的 ViT 处理,并映射到与文本特征相同的空间。(b) 语言模型中的 Transformer 块。图像特征有不同的 QKV 矩阵和 FFN。只有紫色部分是可训练的。

CogVLM 模型包括四个基本组件:视觉转换编码器 (ViT) 、MLP 适配器、预训练的大型语言模型 (GPT) 和视觉专家模块。图 3 显示了 CogVLM 架构的概述。组件的设计和实现细节如下:

  • ViT encoder,在 CogVLM-17B 中使用了预训练的 EVA2-CLIP-E (Sun et al., 2023)。ViT编码器的最后一层被删除,因为它专门用于聚合[CLS]特征进行对比学习。
  • MLP adapter , MLP 适配器是一个两层 MLP (SwigLU (Shazeer, 2020)),用于将 ViT 的输出映射到与词嵌入中的文本特征相同的空间中。所有图像特征在语言模型中使用相同的位置 id。
  • Pretrained large language model,CogVLM 的模型设计与任何现成的 GPT 风格的预训练大型语言模型兼容。具体来说,CogVLM-17B 采用 Vicuna-7BV1.5 (Chiang et al., 2023) 进行进一步训练。因果掩码应用于所有注意力操作,包括图像特征之间的注意力。
  • Visual expert module,在每一层都添加了一个视觉专家模块,以实现视觉语言特征的深度对齐。具体来说,每一层的视觉专家模块由 QKV 矩阵和每一层的 MLP 组成。QKV 矩阵和 MLP 的形状与预训练语言模型的形状相同,并从预训练的语言模型中初始化。动机是语言模型中的每个注意力头都捕获了某些方面确切的语义信息,而可训练的视觉专家可以转换图像特征以与不同的头部对齐,从而实现深度融合。

假设注意力层的输入隐藏状态形式上是: X ∈ R B × H × ( L I + L T ) × D X\in\R^{B\times H \times (L_I + L_T) \times D} XRB×H×(LI+LT)×D ,其中 B : b a t c h s i z e ; L I 和 L T : 图像和文字的长度, H 是注意力的头数, D 是 h i d d e n s i z e B:batchsize;L_I 和 L_T:图像和文字的长度,H 是注意力的头数,D是hidden size B:batchsize;LILT:图像和文字的长度,H是注意力的头数,Dhiddensize ,在视觉专家的注意力中, X X X 首先被拆分为图像的隐藏状态 X I X_I XI 和文本隐藏状态 X T X_T XT ,注意力的计算为:
A t t e n t i o n ( X , W I , W T ) = s o f t m a x ( T r i l ( Q K T ) D V Attention(X,W_I,W_T) = softmax( \frac {Tril(QK^T)}{\sqrt D} V Attention(X,WI,WT)=softmax(D Tril(QKT)V

Q = c o n c a t ( X I W I Q , X T W T Q ) , K = c o n c a t ( X I W I K , X T W T K ) , V = c o n c a t ( X I W I V , X T W T V ) , 这里 W I , W T Q=concat(X_IW_I^Q,X_TW_T^Q), K =concat(X_IW_I^K,X_TW_T^K),V=concat(X_IW_I^V,X_TW_T^V),这里W_I,W_T Q=concat(XIWIQ,XTWTQ),K=concat(XIWIK,XTWTK),V=concat(XIWIV,XTWTV),这里WI,WT是视觉专家和原始语言模型的QKV矩阵,Tril(·)表示下三角掩码。视觉专家在FFN层中的表现相似:
F F N ( X ) = c o n c a t ( F F N I ( X I ) , F F N T ( X T ) ) , FFN(X) = concat(FFN_I(X_I),FFN_T(X_T)), FFN(X)=concat(FFNI(XI),FFNT(XT)),

其中 F F N I FFN_I FFNI F F N T FFN_T FFNT是视觉专家和原始语言模型的FFN。

预训练

数据,用于预训练的图像-文本对都是公开的,包括 LAION-2B 和 COYO-700M。在删除损坏的 URL、NSFW (不适合上班时间浏览(Not Safe For Work))图像、带有噪音字幕的图像、具有政治偏见的图像和纵横比 > 6 或 < 1/6 的图像后,剩下大约 1.5B 图像进行预训练。
作者还制作了一个包含40M张图像的visual grounding数据集。图像标题中的每个名词都与边界框相关联,以指示图像中的位置。构建过程基本遵循Peng等人的方法,他们通过spaCy提取名词(Honnibal & Johnson, 2015),并使用GLIPv2预测边界框(Zhang et al., 2022)。图像-文本对从LAION-115M中采样,这是Li等人(2023)过滤的LAION-400M的子集。我们过滤并保留了4000万张图像的子集,以确保75%以上的图像包含至少两个边界框。

训练
预训练的第一阶段是针对 image captioning 损失,即文本部分的下一个token预测,作者在上述介绍的1.5B 图像-文本对 上训练CogVLM-17B模型,进行了批大小为8,192的12万次迭代。预训练的第二阶段是混合图片描述(image captioning)和 指称表达理解Referring Expression Comprehension (REC)。REC是在给定对象的文本描述的情况下预测图像中的该对象的边界框的任务,以VQA的形式进行训练,即“问题:物品(object)在哪里?”和“答案:[[x0, y0, x1, y1]]”。x和y坐标的范围是000到999,(图像中归一化的位置),只考虑“答案”部分中下一个令牌预测的损失。我们在上面介绍的文本-图像对和visual grounding数据集上预训练了60,000次迭代,批大小为1,024。在最后的30,000次迭代中,作者将输入分辨率从224 × 224更改为490 × 490。可训练参数的总数为6.5B,预训练消耗约4,096 A100×days。

对齐

作者在更广泛的任务上进一步微调了 CogVLM,以便将 CogVLM 与任何主题的自由形式的指令对齐。作者将微调模型命名为 CogVLM-Chat。如图 2 和图附录中的示例所示,CogVLM-Chat 可以成功地与各种指令保持一致,从而能够与人类进行灵活的交互。

数据。监督微调 (SFT) 的高质量数据是从 LlaVA-Instruct (Liu et al., 2023b)、LRV-Instruction (Liu et al., 2023a)、LLaVAR Zhang et al. (2023) 和内部数据集收集的,总共有大约 500,000 个 VQA 对。SFT 数据的质量至关重要,但 LLAVA-Instruct 由仅语言形式的GPT-4 的pipline生成,因此错误是不可避免的。特别地,作者通过人工检查和注释来纠正 LLAAVA-Instruct 数据集中的错误。

SFT。对于监督微调,作者训练了 8000 次迭代,批量大小为 640,学习率为 10-5 和 50 次预热迭代

为了防止过度拟合数据集的文本答案,作者使用了较小的学习率(其他参数的 10%)来更新预训练的语言模型。除ViT编码器外的所有参数在SFT期间都是可训练的。

实验

为了严格验证作者的基础模型的卓越性能和鲁棒性,作者对一系列多模态基准进行了定量评估。这些基准可以分为三个广泛的领域,涵盖了比较全面的评测范围:

  • Image Captioning。图片描述任务的主要目的是对于给定图像生成总结主要内容的文本。作者利用包括NoCaps (Agrawal et al., 2019)、COCO (Lin et al., 2014)、Flickr30K (Plummer et al., 2015)和TextCaps (Sidorov et al., 2020)在内的有代表性的数据集进行评估。
  • **Visual Question Answering.**视觉问答。VQA 任务要求模型回答根据给定的图像可能关注的不同视觉内容的问题。作者的评估涵盖了不同的数据集,包括 VQAv2 (Antol et al., 2015)、OKVQA (Marino et al., 2019)、TextVQA (Singh et al., 2019)、VizWiz-VQA (Gurari et al., 2018)、OCRVQA (Mishra et al., 2019)、ScienceQA (Lu et al., 2022b) 和 TDIUC (Shrestha et al., 2019)
  • Visual Grounding.涉及一组任务,这些任务在句子中的文本提及与图像的特定区域之间建立相关链接。作者在典型数据集上评估模型,包括 Visual7w (Zhu et al., 2016)、RefCOCO (Liu et al., 2017)、RefCOCO+ 和 RefCOCOg 以确保完整性。
IMAGE CAPTIONING

作者在上述Image Captioning的四个基准上评估预训练基础模型的图像描述能力。在 Nocaps 和 Flickr 数据集的零样本评估中,评估了模型在描述长尾视觉概念方面的精度。此外,作者还展示了对 COCO 和 TextCaps 数据集进行微调的结果。

详细性能如表1所示。总体而言,作者的模型全面实现了SOTA或相当的性能。具体来说,在 NoCaps 基准测试中,作者的基础模型在四个拆分中优于以前的最佳方法 GIT2,在out-of-domain中最多领先5.7 个点,而仅使用 10% 的预训练数据(1.5B vs 12.9B)。在 Flickr 基准测试中,作者的模型实现了 94.9 的 SOTA 分数,超过了同时期发布的 Qwen-VL 模型 9.1 分。这些结果证明了作者的预训练模型在图像字幕任务上的显着能力和稳健性。作者还在 COCO (Lin et al., 2014) 和 TextCaps 上进行评估,后者是专门为将给定图像中的文本信息集成到描述中而设计的。尽管在没有专用 OCR 数据的情况下进行训练,但令人鼓舞的是,作者的基础模型揭示了显着的文本阅读能力,并获得了与 PaLI-X-55B 相当的性能,并且优于之前在相同规模的最佳模型 PaLI-17B, 9.1 分。

VISUAL QUESTION ANSWERING

视觉问答是一项验证模型多模态能力的任务,这需要模型掌握包括视觉语言理解和常识推理在内的技能。作者在 7 个 VQA 基准上评估模型:VQAv2、OKVQA、GQA、VizWiz-QA、OCRVQA、TextVQA、ScienceQA,涵盖了广泛的视觉场景。在训练集上训练基础模型,并在所有基准测试的公开可用 val/ test 集上对其进行评估,其中两者都采用开放词汇生成设置,并且没有 OCR pipeline输入。

如表 2 所示,与 PALI-17B 和 Qwen-VL 等类似尺寸的模型相比,作者的模型在 7 个基准测试中的 6 个上实现了最先进的性能。模型甚至超过了在多个基准上更大规模的模型,例如 VizWiz-QA 上的 PaLI-X-55B(test-std +5.1、test-dev +3.8)、VQAv2 上的 PALM-E-84B(test-dev +4.2)和 OKVQA(+1.4),VQAv2 上的 Flaminggo-80B(test-dev +2.7、test-std +2.6)、VizWiz-QA(test-dev +10.7、test-std +10.4)和 TextVQA(+15.6)。模型还在 ScienceQA (Lu et al., 2022b) 的多模式拆分(即 IMG)上实现了 92.71 的最佳分数,实现了新的 SOTA。这些结果表明,该基础模型可以作为一个强大的多模态主干,能够解决各种视觉问答任务。

一般表现。为了与Unified IO(Lu et al.,2022a)、QwenVL(Bai等人,2023a)、mPLUG DocOwl(Ye等人,2021)和其他在多模态任务的广义范式中训练的模型进行公平比较,作者使用由数十个多模态数据集组成的数据进一步训练了一个统一模型,并使用一致的检查点进行评估。数据集包括14个QA数据集,如VQAv2、OKVQA,并扩展到TextVQA,以及图像描述数据集,包括COCO图像描述、TextCaps和在预训练阶段使用的图像描述数据集。实验结果表明,多任务学习不会显著降低模型在单个任务上的性能,CogVLM在所有任务中的性能仍然领先。

VISUAL GROUNDING

为了赋予模型一致、交互式的视觉基础能力,作者收集了一个高质量的数据集,涵盖了4种基础数据:(1)基础描述(GC)-图像描述数据集,其中字幕中的每个名词短语后面都有相应的指代边界框;(2) 指代生成(REG)-面向图像的数据集,图像中的每个边界框都用描述性文本表达式进行注释,该表达式准确地表征并引用特定区域内的内容;(3) 指代理解(REC)-面向文本的数据集,每个文本描述都用多个引用链接进行注释,将短语与相应的框相关联;(4) Grounded Visual Question Answering(GroundedVQA)-VQA风格的数据集,其中问题可能包含给定图像中的区域引用。基础数据的来源都是公开的,包括Flickr30K Entities(Plummer et al.,2015)、RefCOCO(Kazemzadeh et al.,2014;毛等人,2016;余等人,2016)、Visual7W(Zhu et al.,2016),VisualGenome(Krishna et al.,2017)和Grounded CoT VQA(Chen et al.,2023a)。本节中的[box]的格式为[[x0,y0,x1,y1]]。

在使用作者的40M视觉基础数据集的第二个预训练阶段之后,继续在这个高质量的数据集上训练模型,产生了一个广义基础增强模型CogVLMGrounding。值得注意的是,整理的数据集展示了视觉基础能力的多功能性,许多数据集可以在不同的任务中进行调整和重新调整用途。例如,可以重新制定grounded 描述数据集,以适应REG和REC任务。以“一个男人[box1]和一个女人[box2]走在一起。”为例,这可以被重新定义为问答对,如(“描述这个区域[box2]。”,“一个女人。”)和(“男人在哪里?”,“[box1]”)。类似地,REC数据集可以通过切换输入和输出转换为REG任务,反之亦然。然而,某些转换可能会导致歧义。例如,当出现标题“一个人[box1]在跑,而另一个人[box2]在看”中的单独查询“另一个人在哪里?”时,[box1]和[box2]之间的区别变得不清楚,可能会导致错误。

表 4 显示了标准视觉基础基准的结果。发现通用模型全面实现了最先进的性能,与之前的或并发模型相比具有显着优势。此外,还评估了模型在每个单独的基准训练集上训练的模型的专家性能,以便与专用于每个任务的最佳模型进行公平比较。如表 4 的底部所示,模型在 9 个拆分中的 5 个上实现了 SOTA 性能,在其他子集上实现了兼容结果。这些结果表明,模型结合了作者的训练范式具有显著的视觉基础能力。

INSTRUCTION FOLLOWING IN REAL-WORLD USER BEHAVIOR

为了评估CogVLM-Chat 模型在现实世界用户行为下的能力,作者进一步使用 TouchStone (Bai et al., 2023b),这是多模态语言模型的广泛基准。表 5 显示了生成和候选答案 GPT-4 (OpenAI, 2023)的 相似度得分,表明 CogVLM-Chat 显着优于所有其他公开可用的 VLM。

ABLATION STUDY (消融实验)

为了了解各种组件和设置对模型的性能的影响,作者对 6,000 次迭代和 8,192 的批量大小进行了广泛的消融研究。表 6 总结了以下方面的结果:

模型结构和调整参数。作者研究了仅调整 MLP 适配器层或调整所有 LLM 参数和适配器而不添加 VE 的有效性,以及修改 VE 架构以在每 4 个 LLM 层添加完整的 VE,或者仅在所有层添加配备 FFN 的 VE。从结果中可以看到,仅调整适配器层(例如,BLIP2)可能会导致浅层对齐,性能明显较差,并且减少每个 LLM 层的 VE 层数或 VE 参数都遭受显着的退化。

初始化方法。作者研究了从LLM初始化VE权重的有效性,性能略有下降表明了从LLM初始化VE权重是积极有效的。

视觉注意力掩码。根据经验发现,与全掩模相比,在视觉标记上使用因果掩模将产生更好的结果。作者假设对这一现象的可能解释是因果掩码更适合LLM的固有结构。

图像SSL损失。作者研究了图像特征的自监督学习损失,其中每个视觉特征预测视觉自我监督下一个位置的CLIP特征。与 PaLI-X (Chen et al., 2023b) 的观察结果一致,发现它对下游任务没有改进,尽管我们确实在早期实验中观察到了小模型的改进。

EMA。作者在预训练期间利用 EMA(指数移动平均),这通常会带来各种任务的改进。

总结

在本文中,作者介绍了 CogVLM,这是一种开放的视觉语言基础模型。CogVLM 将 VLM 训练的范式从浅层对齐转移到深度融合,在 10 个经典的多模态基准上实现了最先进的性能。

VLM 训练仍处于起步阶段,有许多方向需要探索,例如更好的 SFT 对齐、RLHF 和反幻觉。由于之前著名的VLM大多是闭源的,相信CogVLM将成为未来多模态研究的坚实基础。

代码部分

todo

参考链接

  • https://arxiv.org/abs/2311.03079

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

如若内容造成侵权/违法违规/事实不符,请联系我们进行投诉反馈qq邮箱809451989@qq.com,一经查实,立即删除!

相关文章

小型企业成为网络犯罪分子获取数据的目标

在过去十年的大部分时间里&#xff0c;网络犯罪的巨额资金来自针对大型组织的勒索软件攻击。这种威胁仍然存在。但犯罪分子可能会将注意力转向中小企业 (SMB)。这对消费者的影响将是巨大的。 将软件即服务 (SaaS) 技术用于核心业务功能继续将中小企业整合到全球供应链中。由于…

鸿蒙APP的代码规范

鸿蒙APP的代码规范是为了确保代码质量、可读性和可维护性而定义的一系列规则和标准。以下是一些建议的鸿蒙APP代码规范&#xff0c;希望对大家有所帮助。北京木奇移动技术有限公司&#xff0c;专业的软件外包开发公司&#xff0c;欢迎交流合作。 1. 代码风格&#xff1a; 采用…

【 YOLOv5】目标检测 YOLOv5 开源代码项目调试与讲解实战(4)-自制数据集及训练(使用makesense标注数据集)

如何制作和训练自己的数据集 看yolov5官网创建数据集1.搜索需要的图片2.创建标签标注数据集地址&#xff1a;放入图片后选择目标检测创建文档&#xff0c;每个标签写在单独的一行上传结果此处可以编辑类别把车框选选择类别即可导出数据 3.新建一个目录放数据写yaml文件 4. 测试…

安装Node修改Node镜像地址搭建Vue脚手架创建Vue项目

1、安装VSCode和Node 下载VSCode Visual Studio Code - Code Editing. Redefined 下载Node Node.js (nodejs.org) 检验是否安装成功&#xff0c;WinR,输入cmd命令&#xff0c;使用node -v可以查看到其版本号 2、修改镜像地址 安装好node之后&#xff0c;开始修改镜像地址 …

【Unity动画系统】Unity动画系统Animation详解,参数细节你是否弄清?

&#x1f468;‍&#x1f4bb;个人主页&#xff1a;元宇宙-秩沅 &#x1f468;‍&#x1f4bb; hallo 欢迎 点赞&#x1f44d; 收藏⭐ 留言&#x1f4dd; 加关注✅! &#x1f468;‍&#x1f4bb; 本文由 秩沅 原创 &#x1f468;‍&#x1f4bb; 收录于专栏&#xff1a;Uni…

蓝牙物联网智能安防系统设计方案

1概述 安防系统(安全防护)的作用是预防损失&#xff0c;是人们保障人身和财产安全最重要的工具之一。近年来&#xff0c;伴随经济的飞速发展和城市人口的急剧增加&#xff0c;盗窃、入室抢劫等事件的增多给人们的安定生活带来了很大的影响&#xff0c;同时&#xff0c;交通的快…

Grafana Loki 组件介绍

Loki 日志系统由以下3个部分组成&#xff1a; Loki是主服务器&#xff0c;负责存储日志和处理查询。Promtail是专为loki定制的代理&#xff0c;负责收集日志并将其发送给 loki 。Grafana用于 UI展示。 Distributor Distributor 是客户端连接的组件&#xff0c;用于收集日志…

无监督学习(上)

我们实际用到的项目大都是有监督的&#xff0c;而人工智能未来的一大难点将会是无监督学习。在前面说过的降维算法&#xff0c;大部分都是无监督&#xff0c;除了LDA。 无监督算法有聚类&#xff0c;密度估计&#xff0c;常常用在做分类或者异常检测上。 一.聚类 聚类就是识…

聚焦亚马逊云科技 re:Invent re:Cap专场,重构生成式AI的无限可能!

摘要&#xff1a;12月14日至17日&#xff0c;第十二届全球软件案例研究峰会(简称TOP100summit)在北京国际会议中心成功举办&#xff0c;亚马逊云科技资深开发者布道师郑予彬、亚马逊云科技解决方案研发中心应用科学家肖宇、可以科技产品负责人曹临杰、亚马逊云科技解决方案架构…

【算法刷题】Day25

文章目录 1. 粉刷房子题干&#xff1a;算法原理&#xff1a;1. 状态表示&#xff1a;2. 状态转移方程3. 初始化4. 填表顺序5. 返回值 代码&#xff1a; 2. 判定字符是否唯一题干&#xff1a;算法原理&#xff1a;1. 哈希表2. 位图思想 代码&#xff1a; 3. 丢失的数字题干&…

初步认识API安全

一、认识API 1. 什么是API API(应用程序接口)&#xff1a;是一种软件中介&#xff0c;它允许两个不相关的应用程序相互通信。它就像一座桥梁&#xff0c;从一个程序接收请求或消息&#xff0c;然后将其传递给另一个程序&#xff0c;翻译消息并根据 API 的程序设计执行协议。A…

OpenCV-Python(21):OpenCV中的轮廓性质

3.轮廓的性质 本文我们将主要学习基于轮廓来提取一些经常使用的对象特征。 3.1 长宽比 边界矩形的宽高比&#xff1a; x,y,w,h cv2.boundingRect(cnt) aspect_ratio float(w)/h 3.2 Extent 轮廓面积与边界矩形面积的比。 area cv2.contourArea(cnt) x,y,w,h cv2.bounding…

Android 13 - Media框架(28)- MediaCodec(三)

上一节我们了解到 ACodec 执行完 start 流程后&#xff0c;会把所有的 input buffer 都提交给 MediaCodec 层&#xff0c;MediaCodec 是如何处理传上来的 buffer 呢&#xff1f;这一节我们就来了解一下这部分内容。 1、ACodecBufferChannel::fillThisBuffer ACodec 通过调用 A…

垃圾收集器与内存分配策略

内存分配和回收原则 对象优先在Eden区分配 大对象直接进入老年代 长期存活的对象进入老年代 什么是内存泄漏 不再使用的对象在系统中未被回收&#xff0c;内存泄漏的积累可能会导致内存溢出 自动垃圾回收与手动垃圾回收 自动垃圾回收&#xff1a;由虚拟机来自动回收对象…

音频修复和增强软件:iZotope RX 10 (Win/Mac)中文汉化版

iZotope RX 是一款专业的音频修复和增强软件&#xff0c;一直是电影和电视节目中使用的行业标准音频修复工具&#xff0c;iZotope能够帮助用户对音频进行制作、后期合成处理、混音以及对损坏的音频进行修复&#xff0c;再解锁更多功能之后还能够对电影、游戏、电视之中的音频进…

超详细YOLOv8目标检测全程概述:环境、训练、验证与预测详解

目录 yolov8导航 YOLOv8&#xff08;附带各种任务详细说明链接&#xff09; 搭建环境说明 不同版本模型性能对比 不同版本对比 模型参数解释 不同版本说明 训练 训练示意代码 训练用数据集与 .yaml 配置方法 .yaml配置 数据说明 数据集路径 训练参数说明 训练过程…

Unreal Engine游戏引擎的优势

在现在这个繁荣的游戏开发行业中&#xff0c;选择合适的游戏引擎是非常重要的。其中&#xff0c;Unreal Engine作为一款功能强大的游戏引擎&#xff0c;在业界广受赞誉。那Unreal Engine游戏引擎究竟有哪些优势&#xff0c;带大家简单的了解一下。 图形渲染技术 Unreal Engin…

微软发布安卓版Copilot,可免费使用GPT-4、DALL-E 3

12月27日&#xff0c;微软的Copilot助手&#xff0c;可在谷歌应用商店下载。目前&#xff0c;只有安卓版&#xff0c;ios还无法使用。 Copilot是一款类ChatGPT助手支持中文&#xff0c;可生成文本/代码/图片、分析图片、总结内容等&#xff0c;二者的功能几乎没太大差别。 值…

【Spark精讲】一文讲透Spark宽窄依赖的区别

宽依赖窄依赖的区别 窄依赖&#xff1a;RDD 之间分区是一一对应的宽依赖&#xff1a;发生shuffle&#xff0c;多对多的关系 宽依赖是子RDD的一个分区依赖了父RDD的多个分区父RDD的一个分区的数据&#xff0c;分别流入到子RDD的不同分区特例&#xff1a;cartesian算子对应的Car…

边缘智能网关在智慧大棚上的应用突破物联网大关

边缘智能网关在智慧大棚上的应用&#xff0c;是现代农业技术的一大突破。通过与农作物生长模型的结合&#xff0c;边缘智能网关可以根据实时的环境数据和历史数据&#xff0c;预测农作物的生长趋势和产量&#xff0c;提供决策支持和优化方案。这对于农民来说&#xff0c;不仅可…
最新文章