【深度学习】计算机视觉(17)——ViT理解与应用

文章目录

  • Embedding
    • 1 概念
    • 2 Q&A (1)
    • 3 Positional Encoding
    • 4 Q&A (2)
  • ViT样例及Embedding可视化理解
    • 1 简化ViT练习
    • 2 CLS Token
    • 3 Embedding可视化
    • 4 多头注意力可视化
  • Embedding技术体系结构
  • 参考来源

在研究中对特征的编码和解码的原理有一些疑惑,由于我之前研究的一直是计算机视觉问题,所以仍然是以主流的图像+Transformer为例开展研究,进一步讨论如何进行特征处理。
2020年提出了Vision Transformer(简称ViT),将图像分割成多个小块(Patch),每个Patch的大小可以指定,例如16×16,然后对每个Patch进行线性投影,通过一个线性层将其转换为固定维度的向量——嵌入向量(Embedding)。 逆线性投影(线性解码) 的目标是将特征向量恢复为原始图像或其近似表示,用于图像重建或特征解码为图像或文本表示。

Embedding

1 概念

Embedding模型是RAG(Retrieval-Augmented Generation)技术的核心。也是大模型应用落地必不可少的技术。

RAG (Retrieval-Augmented Generation)是一种结合了信息检索和生成模型的技术,用于改善自然语言处理任务中的生成模型表现。

  • 这项技术由两部分组成:一个检索系统和一个生成模型。
  • 用户给出一个查询或问题 -> 检索系统根据输入查询从文档库中检索出最相关的几个文档片段,这些片段被选择为包含与查询最相关的信息 -> 检索到的文档片段与原始查询一起被送入生成模型,生成模型结合这些信息生成一个响应或文本输出。

Embedding模型是指将高维度的数据(例如文字、图片、视频)映射到低维度空间的过程。简单来说,embedding向量就是一个N维的实值向量,它将输入的数据表示成一个连续的数值空间中的点。大型语言模型可以生成上下文相关的 embedding 表示,可以更好地捕捉单词的语义和上下文信息。
在这里插入图片描述

简单来说,embedding就是用一个低维的向量表示一个物体,可以是一个词,或是一个商品,或是一个电影等等。这个embedding向量的性质是能使距离相近的向量对应的物体有相近的含义,比如 Embedding(复仇者联盟)和Embedding(钢铁侠)之间的距离就会很接近,但 Embedding(复仇者联盟)和Embedding(乱世佳人)的距离就会远一些。

2 Q&A (1)

  • Embedding的必要性?

  • 处理高维或复杂状态时,Embedding能有效降维和提取特征,能提升模型对任务和关系的理解,减少无效探索。

  • RGB形式是否可以看成Embedding后的结果?

  • 原始数据RGB存在局限性(如对亮度敏感),高维且包含冗余。图像需要Embedding的根本原因在于,RGB像素数据虽然完整记录了图像的物理信息,但缺乏对语义特征的结构化表达。

  • RGB图像的局限性:

    • 高维冗余性:一张1080p的RGB图像包含超过600万个像素点,每个像素点仅记录局部颜色信息,这种原始数据不仅计算成本高昂,还包含大量无关细节(如光照噪声、重复纹理等)。
    • 语义断层:RGB像素无法直接反映图像的语义结构。虽然RGB数据精确记录了每个水果的色泽,但无法自动表达“水果”的概念,更无法理解苹果与香蕉的类别关系。
    • 跨模态匹配障碍:RGB像素空间与文本、音频等其他模态的表示空间完全割裂,难以直接进行跨模态检索或生成任务。
  • 图像Embedding的本质:
    图像Embedding是通过深度神经网络对RGB像素的语义蒸馏,生成一个紧凑的数值向量。

    • 低维稠密性:典型的图像Embedding维度在128-2048之间。
    • 语义拓扑结构:Embedding空间中的向量距离反映语义相似性。例如某案例中停车场图像的Embedding与“停车场”文本Embedding的余弦相似度达到0.998,而与“公园”文本的相似度仅为0.001。
    • 多层级特征融合:通过卷积神经网络(CNN)或视觉Transformer,Embedding会融合从边缘、纹理到物理部件、场景的多尺度特征。
  • 举例说明如何解释Embedding后的图像?

  • 输入图像与预处理:假设输入为一张橘猫在草地上的RGB图像,尺寸为224×224×3。将图像切割为16×16×3的像素patch,patch的内容可能是橘猫耳朵的局部纹理、草叶边缘等,将每个patch展平为16×16×3=768维向量。

  • Transformer处理与Embedding生成:

    • 添加位置编码(Positional Encoding):每个patch向量叠加可训练的位置编码,保留空间信息。左上角草地的patch编码可能为[0.1, -0.3, 0.5, …],右下角猫爪的patch编码可能为[0.8, 0.2, -0.1, …]。
    • Transformer编码:模型通过注意力计算不同patch间的关联。橘猫头部patch与身体patch的注意力权重较高(语义关联),草叶patch之间因重复纹理产生中等权重(局部相似性)。
    • 全局汇聚与输出:最终通过分类标识符汇聚全局特征,输出1024维图像Embedding。
      embedding = [
      0.23, # 维度1:可能与"毛绒质感"正相关
      -1.56, # 维度2:抑制"金属反光"特征
      3.12, # 维度3:激活"橘色毛发"属性
      0.98, # 维度4:绿色背景强度
      ... # 后续维度编码更抽象语义(如"生物体""自然场景"等)
      ]
      (我理解为输出的每一个维度都表示它的一个特征,所以维度不一定是越高越好,有些东西特征不够没办法表示)
  • Embedding如何捕捉语义信息?

  • Embedding通过神经网络将离散符号(如文字、图像)映射到低维连续向量空间,使得语义相似的实体在空间中距离相近。相似语义的实体在上下文环境中具有共现规律,例如“猫”和“狗”常出现在相似语境中,模型通过统计共现频率或预测上下文捕捉这种关联性。训练过程中,模型通过损失函数调整向量位置,使语义相关项在空间中聚集。

  • 实现路径

    • 卷积神经网络:通过卷积核滑动扫描图像,激活特定纹理模式,例如浅层网络捕捉边缘、颜色块,深层网络识别物体部件。全连接层将局部特征整合为图像整体表示。
    • ViT:分块线性嵌入,添加可学习的位置编码后,通过多头自注意力计算块间关系。例如猫头部位的patch会与躯干patch产生高注意力权重,形成生物体结构理解。
  • 监督信号设计:

    • 分类任务通过标签监督驱动语义分离。
    • 自监督任务通过掩码预测(BERT)、图像补全(MAE)挖掘内在结构。
  • 为什么不同的卷积核和层能自动学习不同的特征而无需人为干预?

  • 局部感知:不同的卷积核的初始权重不同,导致对输入图像的不同区域产生差异化响应。例如,某些核可能对垂直边缘敏感,另一些对水平边缘敏感。同一卷积核在不同位置使用相同权重,迫使该核专注于检测特定模式。

  • 权值共享:通过反向传播,梯度更新促使不同核分别优化为边缘检测器(如Sobel算子)、颜色斑点检测器等低级特征提取器。深层网络通过组合低级特征学习复杂模式。冗余核(重复检测统一特征的核)可能在正则化(如L2权重衰减)下被淘汰,可以减少过拟合风险。

  • 层次化网络结构:

网络层级特征类型分工机制示例(以动物识别为例)
浅层边缘、纹理、颜色小尺寸卷积核(如3×3)捕捉局部细节,多个核并行提取不同方向或类别的边缘。毛发纹理、眼睛轮廓等
中层局部结构、部件大感受野卷积核(如5×5)整合多个低级特征,形成部件级表示。耳朵形状、鼻子局部特征
深层语义对象、全局关系全连接层或全局池化聚合空间信息,结合非线性激活表达高阶语义。动物类别、姿态
  • 关键组件协同作用:
组件功能对特征分工的影响
激活函数引入非线性,允许网络学习复杂函数增强特征响应差异性,促进核间分工。
池化层降维并保留显著特征提升平移不变性,使高层核关注语义而非位置。
BatchNorm标准化特征分布,加速训练收敛稳定不同核的学习速度,避免部分核“死亡”。
  • 如何理解池化层在特征提取中的作用?

  • 平移不变性指的是当输入图像中的物体发生微小位移时,池化后的输出特征不会发生显著变化。例如数字“1”在图像中稍微平移后,经过池化层得到的特征矩阵仍然相同,这说明池化确实有助于保持特征的一致性,即使位置变化了。池化操作通过下采样减少了特征图的空间尺寸,使得后续的高层网络在处理时,感受野更大,能够捕捉更全局的信息。例如,最大池化选择局部区域的最大值,这样无论特征在区域内的具体位置如何,只要最大值存在,就会被保留。这样,高层核不再需要精确追踪每个特征的位置,而是关注这些特征的存在与否及其组合,从而更专注于语义信息。另外,池化层对微小位置变化具有鲁棒性,即使输入数据有轻微偏差,池化结果仍可能保持一致。这是因为池化窗口内的最大值或平均值并不依赖特征的具体位置,只要该特征存在于窗口内,就会被捕捉到。

  • Patch Embedding和Encoder有何区别?

  • Embedding的作用是将图像块转换为向量表示,并加入位置信息。这一步是线性的,没有复杂的交互。Embedding模块完成从像素空间到语义向量的初步映射,并为模型提供基础的​​局部特征表示​​和​​空间位置信息​​。

  • Encoder的作用是通过自注意力机制,让这些向量之间进行全局交互,提取更高层次的语义信息。通过​​多头自注意力(MHSA)​​计算图块间的关联权重,建立全局依赖关系。例如,猫耳朵图块可能与躯干图块形成高注意力权重,从而捕捉生物体结构信息。

3 Positional Encoding

位置编码(Positional Encoding)其核心目的是将位置信息注入无位置感知的自注意力机制中,使模型能够区分不同位置的元素。
Transformer的自注意力机制本质上是无序的,无法区分序列中元素的顺序。例如,输入序列“[猫, 在, 屋顶]”和“[屋顶, 在, 猫]”可能被模型视为等价。位置编码通过显式标记每个元素的位置,解决这一问题。在ViT中,图像被分割为图块(patch)序列,位置编码需保留原始图像的空间布局信息(如相邻图块的上下左右关系)。

位置编码主要分为绝对和相对两种类型。绝对位置编码包括可学习的和预定义的(如正弦函数),而相对位置编码则考虑元素之间的相对距离。

  • 可学习的绝对编码(Learnable Position Embedding):ViT和BERT的默认方式,将位置编码作为可训练参数。例如,ViT中每个图块的位置编码通过随机初始化并在训练中优化。

  • 正弦/余弦编码(Sinusoidal Encoding):对于序列中的每个位置 p o s pos pos、隐藏层维度 d m o d e l d_model dmodel、隐藏层中的每个维度索引 i i i、位置编码向量的第 i i i个元素 P E ( p o s , 2 i ) PE_{(pos,2i)} PE(pos,2i) P E ( p o s , 2 i + 1 ) PE_{(pos,2i+1)} PE(pos,2i+1)分别通过正弦和余弦函数计算:
    P E ( p o s , 2 i ) = s i n ( p o s 1000 0 2 i d m o d e l ) PE_{(pos,2i)}=sin(\frac{pos}{10000^\frac{2i}{d_{model}}}) PE(pos,2i)=sin(10000dmodel2ipos)
    P E ( p o s , 2 i + 1 ) = c o s ( p o s 1000 0 2 i d m o d e l ) PE_{(pos,2i+1)}=cos(\frac{pos}{10000^\frac{2i}{d_{model}}}) PE(pos,2i+1)=cos(10000dmodel2ipos)
    使用 2 i 2i 2i 2 i + 1 2i+1 2i+1来区分偶数和奇数的维度, i i i应该是维度索引的一半。10000是一个常数,用来控制不同维度之间的频率差异,使得不同维度的正余弦函数具有不同的周期。
    在这里插入图片描述

    • 随位置的变化:对固定的维度 i i i来说,位置 p o s pos pos的变化将影响 P E PE PE的值。正弦和余弦函数将随着位置呈现出周期性变化,这意味着模型能够区分输入序列中token的不同位置。
    • 随维度的变化:对固定位置 p o s pos pos,随着维度 i i i的增加,正弦和余弦函数的频率会降低,周期会变长。因此,较低维度具有短的周期,即在较小的位置范围内完成一个周期,换句话说其变化迅速,对小的位移敏感,也就是即使是相邻位置,位置编码的差异也会很大,这有助于模型识别相邻位置间的细微差异。相反,较高维度具有较长的周期,在较大的位置范围内才完成一个周期。变化缓慢,对小的位移不敏感,这能帮助模型感知全局位置关系,捕获长距离依赖。这种多尺度的编码使得Transformer模型能够同时捕捉全局和局部的位置信息。
    • 远程衰减:对于两个相同的词向量,如果它们之间的距离越近,则他们的内积分数越高反之则越低。(词向量的内积分数就是两个词每个维度PE乘积之和) 我们随机初始化两个向量 x x x y y y,将 x x x固定在位置0上, y y y的位置从0开始逐步变大,依次计算内积。我们发现随着 x x x y y y的相对距离的增加,它们之间的内积分数震荡衰减。
      在这里插入图片描述
    • 外推能力:指模型在处理比训练时更长的序列时仍能保持一定的性能。正余弦函数的周期性使得位置编码在超出训练长度时仍能生成合理的编码值。内积的震荡衰减特性减少了远距离噪声干扰,使模型更关注局部上下文,同时保留对长距离依赖的微弱信号。这种平衡增强了模型对未见过序列长度的适应性。

在这里插入图片描述

  • 图像相对位置编码(iRPE):编码元素间的相对距离,而非绝对位置。使用分段函数(Piecewise Function)映射相对距离到有限索引,减少计算量;避免远距离位置信息丢失,例如,通过指数或对数函数对不同距离的像素分配差异化的注意力权重,增强长程依赖的捕捉能力。通过交叉法(Cross)和乘积法(Product)编码水平和垂直方向,提升对物体结构的理解。
    • 无向方法:
      • 欧氏距离法:计算像素间的欧氏距离并映射到编码空间。
      • 量化法:对欧氏距离四舍五入后离散化,减少近邻位置映射冲突。
    • 有向方法:
      • 交叉法(Cross Method):分别计算水平(x轴)和垂直(y轴)方向的相对位置编码,再进行加性融合。
      • 乘积法(Product Method):直接对二维坐标进行联合编码,生成更细粒度的位置特征。

4 Q&A (2)

  • Embedding和PE直接相加不会导致冲突吗?
    (Q&A里所有PE问题的解答如果看不明白需要先看下一节关于Positional Encoding的介绍)
  • 在之前Transformer的学习中我已经了解到输入Attention的是位置编码和嵌入向量直接相加,它们的维度相同,所以可以逐元素相加,相加后的向量既包含语义信息又包含位置信息。词嵌入表示语义信息,位置编码表示顺序信息,二者属于正交特征空间。相加操作相当于将两种信息线性叠加,是信息融合而非混淆。
    (关于正交向量详见【机器学习】强化学习(3)——深度强化学习的数学知识 )

两个向量相加后形成的新向量在正交特征空间中依然保持明确的几何和物理意义。例如,在物理中的力或速度的合成,正交分量的相加不会导致信息混乱,而是通过线性组合保留各自方向的独立贡献。

  • 是否会出现不同向量相加结果相同的情况?比如,两个不同的词嵌入加上不同的位置编码,结果却一样。高维空间中的概率问题,当嵌入维度过高时,这种碰撞的概率极低。
  • 是否会出现位置编码的周期性导致相同编码码的问题?正弦和余弦函数的设计通过不同频率的组合,确保每个位置有唯一的编码。虽然周期函数会有重复,但不同维度的频率是几何级数分布的,最小公倍数非常大,所以实际应用中几乎不会出现重复。

以单词“wolf”为例,假设通过Embedding生成了3维向量Embedding(wolf) = [0.5, -1.2, 0.8],这一向量由模型训练生成,捕捉了“wolf”的语义特征(如动物、野外、肉食等)。假设“wolf”在句子中的位置是第5位(从0开始计),使用Transformer的​​正弦/余弦位置编码公式​​生成3维PE值:

PE(pos=5, d_model=3) = [sin(5 / 10000^(0/3)) = sin(5)0.4,cos(5 / 10000^(0/3)) = cos(5)0.9,sin(5 / 10000^(2/3)) = sin(5/21.54)0.2
]

简化后为:PE(5) = [0.4, 0.9, 0.2]。将词嵌入与位置编码​​逐元素相加​​,Embedding(wolf) + PE(5) = [0.5 + 0.4, -1.2 + 0.9, 0.8 + 0.2] = [0.9, -0.3, 1.0],两个向量内积为0。

  • 生成编码的时候如何保证两者正交?

  • 正弦和余弦交替排列,使相邻维度的位置编码变化显著(如红白交替的竖条可视化),增强正交性。
    在这里插入图片描述
    从可视图中也可以看出,当从左向右看时,会有交替出现的红白竖条,这便是正弦函数和余弦函数交替出现的结果,能帮助模型更加清晰地分辨相邻两个维度。如果只采用正弦函数,那么相邻维度之间的界限就被模糊了。

  • Embedding+PE如何分离?
    词嵌入与位置编码相加得到新的向量后,模型在学习特征和位置的时候需要再把它们还原到两个正交空间中吗?如果不还原,如何拆分特征编码和位置编码?如果还原,怎么确定是哪两个正交空间?所有词的两个正交空间最后都会一样吗?那会不会导致误差?

  • 词嵌入和位置编码相加后,输入到模型中,通过自注意力机制进行处理。模型在训练过程中通过线性变换 W Q / W K / W V W_Q/W_K/W_V WQ/WK/WV自动学习将相加后的向量分解到不同的特征空间,而不需要显式还原。例如,自注意力机制中的 Q Q Q K K K V V V矩阵的投影可能隐式地将混合后的向量分解到不同的子空间,捕捉语义和位置信息。

ViT样例及Embedding可视化理解

1 简化ViT练习

详见【深度学习】计算机视觉(14)——Transformer

2 CLS Token

练习中注意到有一个CLS Token,即Class Token。我们将原始图像切分成共8个小图像块,最终的输入序列长度却是9,这里增加的一个向量就是cls_token。

在 Vision Transformer(ViT)中,CLS Token 用于提取全局图像的特征表示,替代了 CNN 中常用的全局池化操作。

将8个向量输入Transformer结构中进行编码,我们最终会得到8个编码向量,可对于图像分类任务而言,我们应该选择哪个输出向量进行后续分类呢?这8个向量都只能代表对应的patch,但是如果嵌入向量Class Token(向量0)与8个向量一起输入到 Transformer结构中,输出9个编码向量,然后用这个Class Token进行分类预测即可。

这样做有以下好处:

  1. 该token随机初始化,并随着网络的训练不断更新,它能够编码整个数据集的统计特性;
  2. 该token对所有其他token上的信息做汇聚(全局特征聚合),并且由于它本身不基于图像内容,因此可以避免对sequence中某个特定token的偏向性;
  3. 对该token使用固定的位置编码能够避免输出受到位置编码的干扰。ViT中作者将class embedding视为sequence的头部而非尾部,即位置为0。

3 Embedding可视化

4 多头注意力可视化

Embedding技术体系结构

Word2Vec等


[欢迎指正]

参考来源

@AIGC
大模型入门:Embedding模型概念、源码分析和使用示例
什么是embedding?详解
正弦-余弦位置编码
Transformer中的位置编码
vit 中的 cls_token 与 position_embed 理解

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

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

相关文章

肖特基二极管详解:原理、作用、应用与选型要点

一、肖特基二极管的基本定义 肖特基二极管(Schottky Diode) 是一种基于金属-半导体结(肖特基势垒)的二极管,其核心特性是低正向压降(Vf≈0.3V)和超快开关速度。 结构特点:阳极采用金…

DeepSeek在数据仓库的10大应用场景

一、智能数据集成与清洗 多源数据整合:DeepSeek能够从多种数据源中提取、转换和加载数据,实现跨系统数据的高效整合。 数据清洗与标准化:通过智能算法自动识别并纠正数据中的错误、不一致性和缺失值,提升数据质量。 二、数据仓…

提示词构成要素对大语言模型跨模态内容生成质量的影响

提示词构成要素对大语言模型跨模态内容生成质量的影响 提示词清晰度、具象性与质量正相关 限定指向性要素优于引导指向性要素 大语言模型生成内容保真度偏差 以讯飞星火大模型为实验平台,选取100名具备技术素养的人员,从提示词分类、构成要素和实践原则归纳出7种提示词组…

BeautifulSoup 库的使用——python爬虫

文章目录 写在前面python 爬虫BeautifulSoup库是什么BeautifulSoup的安装解析器对比BeautifulSoup的使用BeautifulSoup 库中的4种类获取标签获取指定标签获取标签的的子标签获取标签的的父标签(上行遍历)获取标签的兄弟标签(平行遍历)获取注释根据条件查找标签根据CSS选择器查找…

关于MacOS使用Homebrew的详细介绍

Homebrew 是 macOS(和 Linux)上最流行的包管理工具(Package Manager),用于快速安装、更新和管理各种开发工具、命令行程序、开源软件等。它类似于: Ubuntu/Debian 的 aptCentOS/RHEL 的 yumWindows 的 Cho…

最新扣子空间实操指南

一、首先要先获取到内部测试的邀请码, 我们先打开扣子空间官网:https://space.coze.cn/ 输入邀请码后进入该页面: 它这里支持文件上传,扩展里面有很多插件,页支持MCP各种插件. 探索模式有两种,一种是ai自…

ubuntu22.04安装dukto

1.添加源 sudo add-apt-repository ppa:xuzhen666/dukto2.进行更新和安装 sudo apt update sudo apt install dukto3.报错 $ sudo apt install dukto 正在读取软件包列表... 完成 正在分析软件包的依赖关系树... 完成 正在读取状态信息... 完成 您也许需要…

Java编程基础(第四篇:字符串初次介绍)

前言 HelloWorld写的多了,语法熟悉一点了吧,其中有段代码还没介绍,它就是字符串 public class HelloWorld { public static void main(String[] args) { printBaby(); } static void printBaby() { System.out.print("baby"); } } …

安卓手机怎样配置数据加速

利用系统自带功能: 选择网络模式:进入手机 “设置”,找到 “网络” 或 “移动网络” 选项,点击 “高级设置”,选择合适的网络模式,如优先选择 4G 或 5G 网络,以获得更快的速度。开启网络加速功能…

Day3:个人中心页面布局前端项目uniapp壁纸实战

接下来我们来弄一下个人中心页面布局user.vue <template><view class"userLayout"><view class"userInfo"><view class"avatar"><image src"../../static/Kx.jpg" mode"aspectFill"></im…

线性回归之正则化(regularization)

文章目录 机器学习中的"防过拟合神器"&#xff1a;正则化全解析1. 正则化&#xff1a;不只是"规矩"那么简单1.1 鲁棒性案例说明 2. L1正则化&#xff1a;冷酷的特征选择器3. L2正则化&#xff1a;温柔的约束者4. L1 vs L2&#xff1a;兄弟间的较量5. 正则化…

mapbox基础,加载视频到地图

👨‍⚕️ 主页: gis分享者 👨‍⚕️ 感谢各位大佬 点赞👍 收藏⭐ 留言📝 加关注✅! 👨‍⚕️ 收录于专栏:mapbox 从入门到精通 文章目录 一、🍀前言1.1 ☘️mapboxgl.Map 地图对象1.2 ☘️mapboxgl.Map style属性1.3 ☘️raster 栅格图层 api二、🍀加载视频到…

Linux系统的远程终端登录、远程图形桌面访问、 X图形窗口访问

目录 一、配置Ubuntu系统的网络和用户 1、设置虚拟机网络为桥接模式 2.查看当前ip、子网掩码、网关 3.修改配置文件 二、远程终端登录Ubuntu 三、使用XShell远程连接 1、确保SSH服务已启动 2、检查SSH服务状态 3、获取树莓派IP地址 4、Xming安装好之后打开让它在后台…

多模态大语言模型arxiv论文略读(三十一)

From GPT-4 to Gemini and Beyond: Assessing the Landscape of MLLMs on Generalizability, Trustworthiness and Causality through Four Modalities ➡️ 论文标题&#xff1a;From GPT-4 to Gemini and Beyond: Assessing the Landscape of MLLMs on Generalizability, Tr…

基于Matlab求解矩阵电容等效容值

1需求 仿真测试8*10阶举证电容等效容值。 2模型搭建 2.1打开simscape 在打开simulink之后打开simscape库&#xff0c;Simscape库位置如下 2.2搭建模型 在库中寻找需要的元件搭建电路。 2.2.1基本元件 电阻电容电感等基础器件&#xff0c;搭建电路之后需要对其进行幅值&…

【C++】 —— 笔试刷题day_22

一、添加字符 题目解析 这道题&#xff0c;给定两个字符串A和B&#xff0c;字符串A的长度要小于B的长度&#xff1b; 现在我们要对A字符串添加字符&#xff0c;使得A字符串长度等于B字符串的长度&#xff0c;并且要求对应位置的字母尽量相等&#xff0c;然后求出来不相等的字符…

错误: 找不到或无法加载主类 HelloWorld,cmd窗口,java命令,提示

错误: 找不到或无法加载主类 HelloWorld 解决办法 检查classpath是否 .; 开头的

手撕LLM(五):从源码出发,探索多模态VL模型的推理全流程

前面我们分享了关于大语言模型的相关技术&#xff0c;包括前向推理、LoRa挂载、MoE模型、模型预训练等&#xff1b;后续还是会基于MiniMindLM模型继续分享关于大语言模型的SFT指令微调、LoRa微调、基于人类偏好的强化学习微调以及模型蒸馏相关的技术&#xff0c;请大家持续关注…

关于隔离2:ADC芯片

ADC可以称作是模拟芯片领域的明珠。作为一种关键器件&#xff0c;ADC设计难度大&#xff0c;专利墙高&#xff0c;所以国内一直处于追赶的状态。近年来&#xff0c;国产ADC发展极为迅速&#xff0c;逐渐在各项参数上赶上了国际主流水准。 模拟数字转换器ADC连接着现实模拟世界…

【MySQL】前缀索引、索引下推、访问方法,自适应哈希索引

最左前缀原则 对于INDEX(name, age)来说最左前缀可以是联合索引的最左N个字段, 也可以是字符串索引的最左M个字符。 SELECT * FROM t WHERE name LIKE 张%其效果和单独创建一个INDEX(name)的效果是一样的若通过调整索引字段的顺序, 可以少维护一个索引树, 那么这个顺序就是需要…