首页/新闻资讯/正文详情

【人工智能基础】09Transformer模型基本原理:并行地、更加高效地处理长距离依赖问题

发布时间:2026/11/3 18:23:03 来源:云帆数科 栏目:资讯中心
【人工智能基础】09Transformer模型基本原理:并行地、更加高效地处理长距离依赖问题
文章目录零. 架构概述1. 架构组成2. 处理流程2.1. 数据预处理阶段2.2. 编码器阶段2.3. 解码器阶段如果是seq2seq任务2.4. 输出阶段一. 注意力机制1. 自注意力机制2. 多头注意力机制3. 两者的应用二. 非线性层设计1. 作用2. 常见激活函数3. 非线性层的设计考虑因素对于分类任务和回归任务对于数据特性对于网络深度四. 位置编码1. **位置编码的定义与作用**2. **位置编码的常见实现方式**3. **位置编码与其他组件的关系**Transformer 模型是由Google的研究员在2017年提出的它在自然语言处理NLP依赖于循环神经网络RNN结构如LSTM或GRU这使得它在处理长距离依赖问题时更加高效并且可以并行处理序列数据从而大大加快了训练速度。Transformer 模型彻底摒弃了LSTM单纯使用注意力机制对序列进行建模也进一步刷新了机器翻译任务的最佳表现并随后成为几乎所有自然语言处理任务的通用模型结构。零. 架构概述1. 架构组成Transformer 由编码器和解码器两大部分组成每个部分都由多个堆叠的层构成.编码器将文本化为词向量编码器将输入序列编码成一个固定维度的向量表示它由多个编码器层组成每个编码器层包含两个子层分别是多头自注意力机制和前馈神经网络并且在每个子层后都有残差连接和层归一化。解码器接收编码器生成的词向量K、V然后通过这个 “词向量” 去生成翻译的结果。解码器根据编码器的输出以及之前生成的输出序列来生成下一个输出它同样由多个解码器层组成每个解码器层包含三个子层分别是多头自注意力机制、多头注意力机制编码器解码器注意力机制和前馈神经网络且每层之间也有残差连接和层归一化。2. 处理流程2.1. 数据预处理阶段分词将输入的文本数据按照一定的规则分割成单词或子词单元。例如对于英文句子“Transformer is a powerful model”可以将其分割为[“Transformer”, “is”, “a”, “powerful”, “model”]。分词的方法有多种像基于空格的简单分词、使用专门的分词工具如NLTK库对于英文的分词。构建词汇表把分词后的所有单词或子词进行统计构建一个词汇表。词汇表中的每个单词都有一个对应的索引用于后续的模型输入表示。比如假设词汇表大小为 (V)每个单词都被赋予一个从0到 (V - 1) 的整数索引。向量化将每个单词转换为词向量。词向量是一种低维的向量表示能够在一定程度上体现单词的语义信息。可以使用预训练的词向量如Word2Vec、GloVe也可以在Transformer模型训练过程中一起学习得到。例如一个单词的词向量维度可能是512维那么每个单词都被表示为一个长度为512的向量。添加位置编码由于Transformer模型本身没有对序列顺序的内在感知所以需要为每个输入的单词向量添加位置编码。位置编码可以是通过学习得到的向量也可以是像Transformer原始论文中使用的基于正弦和余弦函数生成的固定编码。这种编码能够为模型提供单词在序列中的位置信息。2.2. 编码器阶段多头自注意力机制Multi - Head Self - Attention阶段输入映射- 对于输入序列中的每个单词向量通过三个不同的线性变换即乘以三个不同的权重矩阵W Q 、 W K 、 W V W_Q、W_K、W_VWQ​、WK​、WV​分别生成Query查询向量、Key键向量和Value值向量。- 例如输入的单词向量维度为d m o d e l d_{model}dmodel​经过线性变换后Query、Key和Value向量的维度可能为d k 、 d k 和 d v d_k、d_k和 d_vdk​、dk​和dv​。计算注意力得分- 计算每个单词的Query向量与所有单词包括自身的Key向量的点积得到注意力得分。- 这些得分表示了当前单词与序列中其他单词的关联程度。为了使梯度更稳定点积结果通常会除以d k \sqrt{d_k}dk​​。计算注意力权重将注意力得分通过Softmax函数进行归一化得到注意力权重。这些权重的总和为1代表了在生成当前单词表示时对其他单词的关注程度。加权求和将注意力权重与对应的Value向量相乘并对所有Value向量求和得到每个单词经过多头自注意力后的表示。多头自注意力机制会并行地进行多次这样的计算即多头每次计算使用不同的线性变换权重矩阵最后将这些结果拼接起来并经过一个线性层进行融合得到最终的多头自注意力输出。前馈神经网络Feed - Forward Network多头自注意力机制的输出会经过一个前馈神经网络。这个网络通常由两个全连接层组成中间使用ReLU等激活函数。第一个全连接层将输入维度进行变换然后通过激活函数第二个全连接层再将其变换回原始的d m o d e l d_{model}dmodel​维度。例如第一个全连接层将维度从d m o d e l d_{model}dmodel​变为d f f d_{ff}dff​经过ReLU激活后第二个全连接层再将维度变回d m o d e l d_{model}dmodel​。前馈神经网络在Transformer模型中有以下几个主要作用特征提取与变换通过两个全连接层和中间的激活函数如ReLU对输入进行非线性变换。先将输入维度从d m o d e l d_{model}dmodel​转换到d f f d_{ff}dff​再恢复到d m o d e l d_{model}dmodel​从而提取和整合特征。增强模型表达能力补充了多头自注意力机制在信息处理上的不足能学习局部特征和更复杂的非线性组合。并且可以根据任务和数据集的复杂度灵活调整以更好地拟合数据。信息传递与整合接收多头自注意力机制的输出并传递给后续模块促进信息在模型中的流动与整合。同时在多层架构中可以结合不同层次的特征构建更丰富全面的文本表示。残差连接Residual Connection和层归一化Layer Normalization在多头自注意力机制和前馈神经网络之后都有残差连接和层归一化操作。残差连接是将子层多头自注意力或前馈神经网络的输入与输出直接相加这样可以帮助梯度更好地传播避免梯度消失问题。层归一化是对每个样本在每个特征维度上进行归一化使得网络的输入分布更加稳定加速模型的收敛。2.3. 解码器阶段如果是seq2seq任务多头自注意力机制与编码器类似但有掩码在解码器的自注意力机制中为了防止模型在生成当前单词时“看到”未来的单词会使用掩码mask技术。例如在生成第 (t) 个单词时只允许模型关注前 (t - 1) 个单词的信息。这个过程与编码器中的多头自注意力机制类似包括生成Query、Key、Value向量计算注意力得分、权重和加权求和以及多头计算和融合。编码器 - 解码器注意力机制Encoder - Decoder Attention信息融合与传递作为编码器和解码器之间的桥梁用于将解码器的当前状态与编码器的输出进行关联。动态地为解码器的每个生成步骤从编码器输出中选取相关信息确保生成的内容在语义上与输入相关部分匹配。增强对输入序列的关注度帮助解码器聚焦于输入序列中的关键部分避免无关信息干扰高效生成准确输出。有助于捕捉输入序列和输出序列之间的长期依赖关系。前馈神经网络、残差连接和层归一化与编码器相同和编码器阶段一样经过注意力机制后的输出会通过前馈神经网络进行特征提取并且在前后都有残差连接和层归一化操作。2.4. 输出阶段生成概率分布解码器的最后一层输出经过一个线性层将维度映射到词汇表大小。然后通过Softmax函数得到每个单词的生成概率。例如如果词汇表大小为 (V)那么输出的概率分布是一个长度为 (V) 的向量每个元素表示生成对应单词的概率。输出选择根据任务需求可以选择概率最高的单词作为输出贪心搜索来生成文本序列。如果是分类任务等根据输出概率分布来确定类别标签。一. 注意力机制1. 自注意力机制自注意力机制Self-Attention Mechanism是Transformer模型的核心组件它可以捕捉长距离依赖捕捉序列中任意两个位置之间的依赖关系还能并行处理序列中的所有元素实现高效计算。计算对象自注意力机制主要关注输入序列自身内部的关系。它计算序列中每个元素与其他元素之间的关联程度从而为每个元素分配不同的权重。例如在一个句子中自注意力机制会考虑一个单词与句子中其他单词之间的相关性。权重分配权重是基于每个元素自身的表示与其他元素表示之间的相似性来确定的。这些权重反映了输入序列内部元素之间的相互重要性用于对每个元素进行重新加权以突出重要元素对当前元素的影响。头的数量通常是单头的即只进行一次注意力计算过程从一个角度来关注输入序列内部的关系2. 多头注意力机制多头注意力机制Multi-Head Attention是Transformer模型中的一个重要组成部分它扩展了传统的注意力机制允许模型同时在不同的表示子空间中关注输入的不同部分。这种机制可以捕捉到序列中不同位置之间的复杂关系增强了模型对信息的编码能力。计算对象多头注意力机制同样是关注输入序列但它通过并行地使用多个不同的 “头” 来从多个角度进行注意力计算。每个头都独立地计算注意力分布处理的依然是输入序列自身或输入序列与其他序列之间的关系。权重分配每个头都有自己独立的权重分配方式会根据自己的查询Query、键Key和值Value的线性变换来计算注意力分数和权重。然后将各个头的结果进行拼接或其他整合操作得到最终的输出。头的数量有多个头一般为多个预先设定的数量如 8 头、12 头等这些头可以捕捉输入序列不同方面的特征就好像有多个不同的观察者从不同的视角来审视数据。3. 两者的应用自注意力机制的作用长序列信息捕捉在处理长序列数据如长篇文档、长时间的语音序列等时自注意力机制能够有效地捕捉序列中长距离的依赖关系。例如在处理一个很长的新闻文章时它可以帮助模型发现相隔较远的句子之间的语义关联比如文章开头提到的事件和结尾的评论之间的联系。语义理解强化 通过计算每个元素与其他元素的相关性自注意力机制可以增强对输入序列的语义理解。例如在情感分析任务中对于句子 “虽然这部电影的画面很精美但是剧情很拖沓”自注意力机制可以帮助模型关注到 “但是” 后面的负面评价部分从而更准确地判断句子的情感倾向。并行计算优势 自注意力机制可以并行计算序列中各个元素之间的注意力权重相比传统的循环神经网络RNN等序列模型计算效率更高尤其在处理大规模数据时优势明显。多头注意力机制的作用多视角特征提取由于多头注意力机制从多个不同的角度计算注意力它可以提取输入序列更丰富、更全面的特征。例如在机器翻译任务中一个头可能关注句子的语法结构另一个头可能关注词汇的语义信息还有的头可能关注句子的逻辑关系等这些不同视角的信息综合起来能够提高翻译的准确性。模型表达能力提升通过增加头的数量多头注意力机制可以增加模型的复杂度和表达能力。它能够学习到输入序列更复杂的模式和关系适应更广泛的任务需求。例如在文本生成任务中多头注意力机制可以帮助模型生成更连贯、更符合语义和语法规则的句子。泛化能力增强多头注意力机制可以降低模型对特定特征的过度依赖使得模型在不同的数据和任务场景下具有更好的泛化能力。因为它从多个角度关注输入即使某个角度的特征在某些情况下不适用其他角度的特征仍然可以发挥作用二. 非线性层设计在神经网络中线性层如全连接层只能进行线性变换而将多个线性层堆叠在一起仍然是一个线性模型。非线性层的存在使得神经网络能够拟合各种复杂的非线性函数从而增强了模型的表达能力。1. 作用复杂函数拟合例如在图像识别任务中图像数据与类别标签之间的关系通常是非线性的。非线性层可以帮助神经网络学习这种复杂的映射关系使得模型能够准确地对图像进行分类。比如识别手写数字数字的形状、笔画等特征与数字类别之间不是简单的线性关系非线性层可以让模型学会区分不同数字的复杂特征。特征学习与抽象 在处理数据时非线性层可以帮助神经网络提取更高级、更抽象的特征。以自然语言处理中的文本分类为例非线性层可以将文本中的单词特征经过复杂的变换提取出关于句子语义、情感等更抽象的特征用于判断文本的类别如新闻分类、情感分析等任务。2. 常见激活函数见【人工智能基础二】人工神经网络基础3. 非线性层的设计考虑因素在上面的自注意力机制介绍中除了计算时用到了Softmax函数其他所有计算都是线性的。神经网络需要非线性计算来提高表达能力因此在通过自注意力得到每个词的表示向量后我们另采用一个MLP层对其进行非线性编码。在Transformger模块中还引入了残差连接residual connection以及层归一化layer normalization来提高模型深度加深后的训练稳定性。现在我们来看下非线性层在设计时对各种因素的考虑。对于分类任务和回归任务对于分类任务二分类任务输出层可以使用Sigmoid函数来得到概率估计多分类任务通常在输出层使用Softmax函数也是一种非线性函数它可以将输出值转换为各个类别对应的概率分布。在隐藏层ReLU函数等可以帮助学习分类特征。例如在手写数字识别多分类中隐藏层使用ReLU函数输出层使用Softmax函数。对于回归任务输出层一般不需要像分类任务那样的概率估计函数隐藏层可以根据数据特点选择激活函数。如果数据分布没有明显的上下限ReLU或Leaky ReLU函数可能是较好的选择如果希望输出值有一定的范围限制Tanh函数可以考虑。例如在预测房价的回归任务中隐藏层使用ReLU函数可以有效地学习房价相关的特征。对于数据特性数据分布如果输入数据大部分是正数ReLU函数可能比较合适如果数据有正负之分且希望保留这种对称性Tanh函数或者Leaky ReLU函数可能更优。例如处理股票价格波动数据有涨有跌时Tanh函数可以更好地适应数据的正负变化。数据规模对于数据规模较大的情况ReLU函数由于其计算简单和收敛速度快的特点可能更适合用于隐藏层以减少计算成本和训练时间。对于数据规模较小或者对精度要求较高的情况可以根据具体数据特点尝试不同的激活函数组合。对于网络深度在较浅的网络中各种激活函数的选择相对灵活因为梯度消失等问题不太明显。 在深层网络中为了避免梯度消失ReLU函数或其变体如Leaky ReLU通常是较好的选择。例如在一个只有2 - 3层的小型神经网络用于简单的函数拟合时Sigmoid函数可能也能正常工作但在一个有几十层的深度神经网络用于图像识别时ReLU函数更有利于梯度的有效传播和模型的训练。四. 位置编码1.位置编码的定义与作用在Transformer架构中位置编码Positional Encoding是一种用于为输入序列中的每个元素添加位置信息的技术。由于Transformer架构中的自注意力机制本身对序列元素的位置不敏感位置编码的引入可以弥补这一缺陷使模型能够感知输入序列中元素的顺序。作用序列顺序感知例如在自然语言处理任务中句子中单词的顺序对于理解语义至关重要。位置编码可以让Transformer知道单词在句子中的位置像区分“我打他”和“他打我”这样顺序不同语义不同的句子。在处理时间序列数据或者代码序列等其他序列数据时同样能够通过位置编码让模型理解序列的先后顺序。辅助注意力机制为自注意力机制提供位置信息使得模型在计算注意力权重时能够考虑元素的位置因素。这样可以更好地捕捉序列中的长距离依赖关系因为位置信息有助于确定哪些位置的元素对于当前元素更为重要。2.位置编码的常见实现方式固定位置编码Fixed Positional Encoding公式与原理最常见的是使用正弦和余弦函数来生成位置编码。对于输入序列的每个位置p o s pospos和维度i ii位置编码P E p o s , i PE_{pos, i}PEpos,i​的计算公式如下如果i ii是偶数P E p o s , i sin ⁡ ( p o s / 10000 i / d m o d e l ) PE_{pos, i}\sin(pos / 10000^{i / d_{model}})PEpos,i​sin(pos/10000i/dmodel​)如果i ii是奇数P E p o s , i cos ⁡ ( p o s / 10000 ( i − 1 ) / d m o d e l ) PE_{pos, i}\cos(pos / 10000^{(i - 1) / d_{model}})PEpos,i​cos(pos/10000(i−1)/dmodel​)其中d m o d e l d_{model}dmodel​是模型的维度。这种方式可以为每个位置生成一个唯一的、与位置相关的向量表示。特点与优势这种固定的位置编码方式计算简单并且可以预先计算好并存储起来在模型训练和推理过程中直接使用节省计算时间。同时正弦和余弦函数的周期性和单调性能够很好地表示位置信息而且不同位置的编码之间具有一定的可区分性有助于模型学习位置特征。可学习位置编码Learnable Positional Encoding原理与方法与固定位置编码不同可学习位置编码是将位置编码作为模型的参数进行学习。可以将位置编码初始化为随机值然后在模型训练过程中根据训练数据和任务目标与其他模型参数一起进行优化调整。例如可以使用一个简单的嵌入层Embedding Layer来表示位置编码每个位置都有一个可学习的向量表示。特点与优势能够根据具体的任务和数据自适应地学习位置信息可能在某些复杂的任务或数据分布下学习到比固定位置编码更合适的位置表示。不过这种方式增加了模型的参数数量并且需要更多的训练数据和计算资源来有效地学习位置编码。3.位置编码与其他组件的关系与自注意力机制的关系位置编码提供的位置信息可以引导自注意力机制在计算注意力权重时对不同位置的元素给予不同的关注程度。例如在处理文本序列时位置编码可以让自注意力机制更关注相邻单词或者句子中特定位置的重要单词。与模型输入输出的关系位置编码是添加在模型输入部分的信息。在输入序列进入Transformer的编码器或解码器之前位置编码与输入元素的表示如词向量相加形成带有位置信息的输入表示。在输出端经过Transformer的处理位置信息已经融入到模型对序列的表示和生成中有助于输出在位置上合理、语义上连贯的结果。例如在文本生成任务中位置编码可以帮助模型生成符合语法和语义顺序的句子。

相关推荐

【线性代数】第六章习题:二次型:注意和特征值、特征向量的联系
【线性代数】第六章习题:二次型:注意和特征值、特征向量的联系

/* MD / 富文本中的 .toc(含博客园搬家等嵌套结构);.toc-box 在侧栏,不受影响 */#content_views .toc,/* 编辑器常在目录前后插入空 p(:empty 仍占 20px),一并去掉避免顶空隙 */#content_views.markdown_views > p:empty:has(+ .toc),#content_views.markdown_views … · 2026/11/3 18:22:02

LTX-2本地部署终极指南:3步解决显存瓶颈,生成高清音视频内容
LTX-2本地部署终极指南:3步解决显存瓶颈,生成高清音视频内容

LTX-2本地部署终极指南:3步解决显存瓶颈,生成高清音视频内容 LTX-2是Lightricks开发的高效联合音频-视觉基础模型,能够生成同步的视频和音频内容,为本地AI视频生成带来了革命性的突破。这个强大的开源模型让每个人都能在个人电脑… · 2026/11/3 18:22:02

飞桨文档布局分析神器:PP-DocLayoutV3 ONNX模型完全部署指南
飞桨文档布局分析神器:PP-DocLayoutV3 ONNX模型完全部署指南

飞桨文档布局分析神器:PP-DocLayoutV3 ONNX模型完全部署指南 【免费下载链接】PP-DocLayoutV3_onnx 项目地址: https://ai.gitcode.com/paddlepaddle/PP-DocLayoutV3_onnx 在当今数字化时代,文档智能处理已成为企业和开发者的核心需求。飞桨Padd… · 2026/11/3 18:22:02

低应变MOF负极:全固态电池700次循环背后的工程逻辑
低应变MOF负极:全固态电池700次循环背后的工程逻辑

看到“700次循环不衰减”这个说法,我第一反应不是激动,而是先去翻测试条件——面容量多少、堆叠压力多大、对电极是不是过量锂。在这个圈子里待久了,对漂亮数字的免疫力会变得很强。全固态电池的负极这几年被反复讨论,硅碳、合金、… · 2026/11/4 14:35:57

从源码编译到线上排错:Nginx Web站点搭建全流程
从源码编译到线上排错:Nginx Web站点搭建全流程

“使用 Nginx 搭建 Web 网站”这句话读起来平平无奇,真动手做起来,牵扯的细节一点都不少:源码编译时哪些模块该剪、哪些必须留,server 块怎么组织才不至于越写越乱,worker 进程和连接数该怎么算,日志满了往… · 2026/11/4 14:35:57

GPT-6动态稀疏、小米XAR、Grok RIG与Claude缓存压缩技术解析
GPT-6动态稀疏、小米XAR、Grok RIG与Claude缓存压缩技术解析

1. 项目概述:这不是新闻通稿,而是一份AI圈“实时战报”的解码手册今天刷到标题“今天 AI 圈炸了四次:GPT-6 家族补齐、小米开源登顶、Grok 4.7 最强编码、Claude 缓存再降价”,我第一反应不是点开看热闹,而是立刻关掉页… · 2026/11/4 14:35:57

Python AI学习路线:按能力阶段成长的三年实战地图
Python AI学习路线:按能力阶段成长的三年实战地图

1. 这不是“速成指南”,而是一份能陪你走完三年的Python AI学习地图我带过37个从零起步转行AI的学员,也帮21家中小企业的技术团队搭建过内部AI能力体系。见过太多人点开“7天学会AI”的视频,第3天就卡在环境配置上;也见过不少工程… · 2026/11/4 14:35:57

Kubernetes中Nacos集群DNS解析问题解决方案
Kubernetes中Nacos集群DNS解析问题解决方案

1. 问题背景与现象分析 最近在Kubernetes集群中部署Nacos 3.1.1服务时,遇到了一个典型的网络连通性问题:Java应用频繁抛出 java.net.UnknownHostException 异常。这个错误表面看是DNS解析失败,但实际涉及K8s服务发现机制、Nacos集群配置和J… · 2026/11/4 14:35:57

SpringBoot+Vue3构建高效自来水缴费系统实战
SpringBoot+Vue3构建高效自来水缴费系统实战

1. 项目背景与核心价值 自来水缴费系统作为民生基础设施的关键数字化组件,其移动化转型正在改变传统服务模式。我们团队基于SpringBootVue3技术栈构建的这套Android端水务管理系统,实现了从账单生成到移动支付的完整闭环。在项目交付后的三个月内&#x… · 2026/11/4 14:34:56

双极步进电机控制实战:DRV8818PWPR与PIC18F86K22驱动调试
双极步进电机控制实战:DRV8818PWPR与PIC18F86K22驱动调试

/* MD / 富文本中的 .toc(含博客园搬家等嵌套结构);.toc-box 在侧栏,不受影响 */#content_views .toc,/* 编辑器常在目录前后插入空 p(:empty 仍占 20px),一并去掉避免顶空隙 */#content_views.markdown_views > p:empty:has(+ .toc),#content_views.markdown_views … · 2026/11/4 3:16:49

STM32F207ZG + DRV8818PWPR 步进电机驱动实战解析
STM32F207ZG + DRV8818PWPR 步进电机驱动实战解析

/* MD / 富文本中的 .toc(含博客园搬家等嵌套结构);.toc-box 在侧栏,不受影响 */#content_views .toc,/* 编辑器常在目录前后插入空 p(:empty 仍占 20px),一并去掉避免顶空隙 */#content_views.markdown_views > p:empty:has(+ .toc),#content_views.markdown_views … · 2026/11/4 6:59:29

DRV8818PWPR+dsPIC30F4013工业级双极步进电机控制方案
DRV8818PWPR+dsPIC30F4013工业级双极步进电机控制方案

/* MD / 富文本中的 .toc(含博客园搬家等嵌套结构);.toc-box 在侧栏,不受影响 */#content_views .toc,/* 编辑器常在目录前后插入空 p(:empty 仍占 20px),一并去掉避免顶空隙 */#content_views.markdown_views > p:empty:has(+ .toc),#content_views.markdown_views … · 2026/11/4 7:02:38

AI辅助技术栈评估:提升研发决策效率60%
AI辅助技术栈评估:提升研发决策效率60%

1. 项目背景与核心价值技术决策一直是研发团队面临的重大挑战。随着技术生态的快速演进,技术栈的选择、维护和迭代变得愈发复杂。我们团队在过去两年里,先后经历了三次重大技术栈迁移,每次都需要投入大量人力进行技术评估和风险分析。直到去年… · 2026/11/4 0:00:17

从生成Token到直接决策:Jev如何重塑AI Agent工程实践
从生成Token到直接决策:Jev如何重塑AI Agent工程实践

1. 从"生成文字"到"拍板决策":Jev 到底在解决什么问题大多数人第一次接触大模型,脑子里建立的模型是"输入问题、输出文字"。你问它今天天气怎么样,它给你一段描述;你让它写个周报,它给你… · 2026/11/4 0:00:17

32G统一内存跑大模型:内存账、TPS实测与端云分流
32G统一内存跑大模型:内存账、TPS实测与端云分流

想在一台 32G 统一内存的小主机上把大模型跑成"日常可用",这件事我前后折腾了小半年。标题里说的这台 Mac mini M6,是我们这次讨论的目标平台,具体到手规格以实物为准;但下面这套推算方法和实测思路,对任何统… · 2026/11/4 0:00:17

双极步进电机控制实战:DRV8818PWPR与PIC18F86K22驱动调试
双极步进电机控制实战:DRV8818PWPR与PIC18F86K22驱动调试

/* MD / 富文本中的 .toc(含博客园搬家等嵌套结构);.toc-box 在侧栏,不受影响 */#content_views .toc,/* 编辑器常在目录前后插入空 p(:empty 仍占 20px),一并去掉避免顶空隙 */#content_views.markdown_views > p:empty:has(+ .toc),#content_views.markdown_views … · 2026/11/4 3:16:49

STM32F207ZG + DRV8818PWPR 步进电机驱动实战解析
STM32F207ZG + DRV8818PWPR 步进电机驱动实战解析

/* MD / 富文本中的 .toc(含博客园搬家等嵌套结构);.toc-box 在侧栏,不受影响 */#content_views .toc,/* 编辑器常在目录前后插入空 p(:empty 仍占 20px),一并去掉避免顶空隙 */#content_views.markdown_views > p:empty:has(+ .toc),#content_views.markdown_views … · 2026/11/4 6:59:29

DRV8818PWPR+dsPIC30F4013工业级双极步进电机控制方案
DRV8818PWPR+dsPIC30F4013工业级双极步进电机控制方案

/* MD / 富文本中的 .toc(含博客园搬家等嵌套结构);.toc-box 在侧栏,不受影响 */#content_views .toc,/* 编辑器常在目录前后插入空 p(:empty 仍占 20px),一并去掉避免顶空隙 */#content_views.markdown_views > p:empty:has(+ .toc),#content_views.markdown_views … · 2026/11/4 7:02:38

了解更多?预约专属演示

我们的顾问将为您一对一讲解产品与方案

企业微信二维码