
DL-pytorch
文章平均质量分 88
超华东算法王
微信号:yoggyzh
重磅推出:更新ing:Java难点解读,百战大厂面试; 即将更新系列:自传统编程:rust语言之旅,go语言之旅,c#语言之旅,swift语言之旅,oc语言之旅,Lua语言之旅 黑皮书之旅1:算法导论,neo4j之旅,redis之旅;python高级:opencv3.0,chatgpt,LLM,python-WEB,数据开发,web安全,SQL高级,大数据基础,linux高级,hadoop技术栈,hive
展开
-
【深度学习pytorch-105】GPT3.5
是 OpenAI 在 GPT-3 的基础上推出的一个更新版本,进一步优化了 GPT-3 的架构和性能。虽然 OpenAI 并未公开 GPT-3.5 的具体细节,但从 GPT-3 和 GPT-4 的发展过程中可以推测,GPT-3.5 在多个方面对 GPT-3 进行了优化,主要集中在。通过增加模型的规模、优化训练算法、加强推理能力,GPT-3.5 在许多实际应用中表现得更加。在各个领域的应用,并且在生成任务、推理任务等方面的表现大幅提升。的基础上进行了多方面的优化,主要体现在。原创 2025-02-21 01:14:40 · 548 阅读 · 0 评论 -
【深度学习pytoch-104】GPT-3
通过增加参数规模和优化架构,GPT-3 在语言理解和生成任务中有了更强的表现,尤其在。(Generative Pre-trained Transformer 3)是由。的继任者,并且在模型规模和性能上都进行了大幅优化。上显著优于 GPT-2。尽管如此,GPT-3 仍然面临。原创 2025-02-21 01:14:04 · 594 阅读 · 0 评论 -
【深度学习pytoch-103】BERT,GPT,ELMO的优缺点和区别
和都是自然语言处理(NLP)领域中非常强大的预训练语言模型。它们的主要区别在于模型架构、训练方式以及应用场景。下面是对这三个模型的详细介绍,包括它们的优缺点和区别。原创 2025-02-21 01:13:31 · 1384 阅读 · 0 评论 -
【深度学习pytorch-102】GPT2
学习下能够取得不错的效果。然而,GPT-2 的。架构来生成连贯的文本。等问题,仍然是需要解决的挑战。在 2019 年提出的一个。上取得了显著的进展。原创 2025-02-21 01:12:21 · 645 阅读 · 0 评论 -
【深度学习pytorch-101】GPT
架构结合,模型生成的文本是基于已经生成的上下文。中非常强大的工具,能够执行文本生成、文本理解等多种任务。仍然使其成为当前最有影响力的模型之一。这使得 GPT 成为。的方式进行文本生成。GPT 的主要特点是它通过。上取得了显著的进展,尤其在。等缺点,但其在多个任务中的。学习大规模的语料库,利用。原创 2025-02-21 01:11:42 · 484 阅读 · 0 评论 -
【深度学习pytorch-100】ELMO
是一种基于双向语言模型的预训练方法,生成的词向量能够根据上下文动态变化,这使得 ELMo 在多义词和上下文敏感的任务中表现优秀。它的优点在于强大的上下文理解能力、预训练+微调的架构和良好的迁移学习效果。ELMo 的提出解决了传统静态词嵌入(如 Word2Vec 和 GloVe)在处理不同上下文中的词义变化时的局限性,提供了动态的上下文敏感词向量。信息整合到每个词的嵌入表示中。与传统的词嵌入方法(如 Word2Vec、GloVe)不同,ELMo 并不生成固定的词嵌入,而是根据。的预训练词嵌入方法,最初由。原创 2025-02-21 01:11:08 · 862 阅读 · 0 评论 -
【深度学习pytorch-99】长文本预测任务使用BERT如何构建训练样本
对输入序列的长度有限制(通常最大长度为 512 个词或标记),需要将长文本分割成多个较小的片段,保证每个片段的长度在 BERT 的最大输入限制内。:如果输入的文本长度超过 BERT 的最大输入长度(通常为 512 个 token),可以直接截断文本,将其限制在最大长度内。虽然 BERT 可以在每个片段内建模上下文,但对于某些任务(例如,生成摘要或回答问题),片段之间的上下文连接可能至关重要。在长文本预测任务中使用 BERT 时,由于 BERT 的最大输入限制,长文本通常需要被切割成多个较小的片段。原创 2025-02-21 01:10:36 · 402 阅读 · 0 评论 -
【深度学习pytorch-98】BERT中MLM 8:1:1 的比例
在 BERT (Bidirectional Encoder Representations from Transformers) 的预训练过程中,使用了。这个任务的目标是通过随机遮蔽输入文本中的一些单词,然后让模型预测这些被遮蔽的单词。BERT 选择 8:1:1 的比例是为了。这种策略让 BERT 模型可以有效地进行。BERT 的 MLM 任务中的。,在多种下游任务中表现出色。原创 2025-02-21 01:10:02 · 306 阅读 · 0 评论 -
【深度学习pytorch-97】BERT的优缺点
是一种基于的语言理解模型,由提出。BERT 在自然语言处理(NLP)任务中取得了显著的进展,并广泛应用于多个下游任务,如等。原创 2025-02-21 01:07:38 · 795 阅读 · 0 评论 -
【深度学习pytorch-96】Transformer中的并行化
这里的 ( pos ) 是位置索引,( i ) 是维度索引,( d_{\text{model}} ) 是嵌入的维度。,而不是单独的向量。整个计算可以并行地处理整个输入序列的所有位置,因为每个位置的查询向量都可以同时与其他所有位置的键向量计算点积。,通常使用正弦和余弦函数生成,它与输入序列的长度无关,可以提前计算并在整个序列中。可以同时处理整个序列,计算每个单词的表示时不依赖于其他单词的顺序。,每个时间步的输出都依赖于前一个时间步的输出。,它是一个与输入序列中每个词的位置相关的向量。原创 2025-02-21 00:44:45 · 842 阅读 · 0 评论 -
【深度学习pytorch-95】self-attention公式增加scaled的原因
的维度是 ( d_k ),那么它们的点积结果是一个维度为 ( d_k ) 的数值。随着 ( d_k ) 增加,点积的数值也会增加。的维度 ( d_k ) 较大时,点积结果的数值很容易变得非常大,这可能导致。结构,尤其在处理长序列和大维度的输入时,能显著提高模型训练的稳定性和效率。通过引入缩放因子 ( \frac{1}{\sqrt{d_k}} ),我们。( \frac{1}{\sqrt{d_k}} ),这是为了。函数之前,点积结果的范围更加合适,从而提高了。在计算注意力得分时,首先计算的是。原创 2025-02-21 00:43:49 · 888 阅读 · 0 评论 -
【深度学习pytorch-94】为什么 Transformer 能代替 Seq2Seq
Transformer 能够代替传统的。原创 2025-02-20 00:38:26 · 964 阅读 · 0 评论 -
【深度学习pytorch-93】Transformer 相比 RNN 的优势
在多核处理器或 GPU 上,Transformer 可以利用并行计算来加速训练,尤其是在处理大规模数据集时。中,每个位置可以直接与其他所有位置进行交互,这意味着 Transformer 可以在一个步骤中获取整个序列的全局信息,从而避免了 RNN 在长距离依赖建模上的困难。这些优点使得 Transformer 成为现代 NLP 模型的主流架构,尤其是在处理大规模数据和复杂任务时,Transformer 的优势更加明显。,这意味着 Transformer 可以同时处理序列中的所有位置,大大加速了训练过程。原创 2025-02-20 00:37:39 · 1040 阅读 · 0 评论 -
【深度学习pytorch-92】多头注意力
多头注意力的计算包括生成查询(Query)、键(Key)和值(Value)向量、计算每个头的注意力、拼接各个头的输出以及最终的线性变换。每个注意力头在计算时会使用不同的查询(Query)、键(Key)和值(Value)权重,这样它们能够从不同的角度对输入序列进行关注和处理。因此,通过多个注意力头,模型能够同时关注输入序列的多个不同子空间,捕获更多的信息。多头注意力的计算流程可以分为几个步骤,具体包括查询(Query)、键(Key)、值(Value)的生成、多个头的计算、拼接和线性变换等过程。原创 2025-02-20 00:34:44 · 911 阅读 · 0 评论 -
【深度学习pytorch-91】自注意力和三元组
自注意力通过查询(Q)、键(K)、值(V)三个向量的交互来计算每个词在生成表示时需要关注的其他词的位置和重要性。通过自注意力机制,模型能够为序列中的每个词分配不同的注意力权重,这样每个词在生成表示时可以结合其他词的上下文信息。自注意力机制的主要作用是,给定一个输入序列(比如一段文本中的单词),通过计算序列中各个词之间的相关性,来学习每个词在不同上下文中的重要性。这样,查询向量和键向量之间的相似度决定了当前词与其他词的相关性,而值向量则承载了词的具体信息。在标准的自注意力中,每个词有一个查询、键和值向量。原创 2025-02-20 00:31:45 · 248 阅读 · 0 评论 -
【深度学习pytorch-90】Transformer 中 Decoder 的输入详解
解码器需要逐步生成目标序列中的每个词,并且每次生成时,只能看到当前时刻之前的词,这就是**“遮蔽机制”**(Masked Self-Attention)的由来。通过这种方式,解码器不仅利用了目标序列的上下文信息(自注意力),还能够依赖于编码器提供的输入序列的上下文信息,从而生成更加准确的目标序列。相结合,生成目标序列的每个词。向解码器提供了关于输入序列的信息,帮助解码器理解在生成每个目标词时,应该关注输入序列中的哪些部分。解码器的输入包括目标序列的嵌入表示、编码器的输出和目标序列的自注意力机制。原创 2025-02-20 00:30:56 · 548 阅读 · 0 评论 -
【深度学习pytorch-89】Transformer 结构详解
通过 Transformer,研究人员和工程师能够更加高效和精确地处理文本数据,提升了多种任务的性能,特别是在大规模数据和大模型的训练中。(Self-Attention)是 Transformer 中最核心的部分,它通过计算输入序列中各个位置之间的关系,来捕获每个词语与其他词语的依赖关系。对于输入的每个词,模型计算其与输入中所有其他词的相似度,从而为该词生成一个加权的表示。编码器部分的任务是将输入序列转化为一个上下文相关的表示(即编码),这个表示包含了输入文本中每个单词的信息。中的序列计算,而是通过。原创 2025-02-20 00:28:43 · 698 阅读 · 0 评论 -
【深度学习pytorch-88】BERT
BERT 是一种革命性的语言表示模型,它通过预训练和微调相结合的方式,成功地在多个 NLP 任务中设立了新的性能基准。BERT 的双向设计使得它能够捕捉到更丰富的上下文信息,从而生成更准确的词向量表示。与传统的单向语言模型(如左到右的 RNN 或 Transformer 模型)不同,BERT 是。BERT 作为 Transformer 的一种应用,催生了许多基于 BERT 的变体,针对不同的应用场景做了优化和调整。,它通过同时从上下文的左侧和右侧获取信息,来生成更丰富的词表示。原创 2025-02-20 00:27:54 · 592 阅读 · 0 评论 -
【深度学习pytorch-87】微调脚本
提供了高效的接口,能够方便地进行模型的微调。微调的过程包括加载预训练模型、数据预处理、设置训练参数、进行训练和评估,最后保存训练好的模型。通过微调,你可以将一个大规模预训练的模型应用到特定的任务中,从而大幅度提高任务的性能。微调是迁移学习中的一部分,通常是在预训练模型的基础上进行少量的额外训练,以便模型能适应新的任务和数据。训练完成后,你可以保存微调后的模型,以便以后使用或进行推理。来定义训练过程的超参数,如学习率、批量大小、训练轮数等。是一个高层次的 API,用来简化训练和评估的过程。原创 2025-02-20 00:27:10 · 681 阅读 · 0 评论 -
【深度学习pytorch-86】加载和使用预训练模型
是 NLP 中常见且有效的做法,能够帮助我们快速应用模型并在自己的任务上取得良好的效果。预训练模型的使用大大加速了模型开发过程,并且减少了对大量标注数据的依赖。通过迁移学习,我们可以将预训练模型应用于不同的任务,从而提高模型的泛化能力和性能。是一个非常常见的步骤。预训练模型通常是在大规模语料库上进行训练的模型,能够捕捉到语言的广泛知识。,即通过微调预训练的模型来解决特定任务(如文本分类、情感分析、命名实体识别等),而不需要从头开始训练模型。这个库提供了大量预训练的模型,并且支持简单的加载和微调过程。原创 2025-02-20 00:26:24 · 972 阅读 · 0 评论 -
【深度学习pytorch-85】NLP标准数据集
这些数据集被广泛应用于学术研究和工业界,帮助研究人员评估各种自然语言处理模型的效果。通过这些标准数据集,研究人员能够进行跨模型和跨算法的比较,并不断推动 NLP 领域的进展。不同的任务(如文本分类、情感分析、机器翻译、命名实体识别等)都有对应的标准数据集,您可以根据自己的需求选择合适的任务和数据集。标准数据集提供了统一的基准,允许研究人员比较不同算法的效果。这些数据集通常被广泛使用,并且涵盖了各种不同的 NLP 任务,包括文本分类、情感分析、机器翻译、命名实体识别、文本生成等。原创 2025-02-20 00:25:31 · 1027 阅读 · 0 评论 -
【深度学习pytorch-84】词向量迁移
词向量迁移是自然语言处理中的重要技术,能够通过迁移学习和预训练的词向量来提升模型的性能。是指将一个预训练的词向量模型迁移到另一个不同的任务或领域中,以提升新任务的性能。:将预训练的词向量用作新任务的特征输入,避免从头开始训练,这样可以加速训练过程并提高模型在小数据集上的性能。:如果目标任务中有很多 OOV(词汇表外)词,而预训练词向量没有涉及这些词,模型的效果可能会下降。在新任务上继续训练模型,并允许词向量在这个任务中根据具体数据调整,以提高任务的表现。都是基于无标注数据的预训练词向量。原创 2025-02-20 00:24:58 · 574 阅读 · 0 评论 -
【深度学习pytorch-83】训练词向量
是一种将词语映射为实数向量的方式,使得语义相近的词在向量空间中也表现出相近的关系。词向量的目的是捕捉语言中的语义和语法信息,以便机器学习模型能够在理解和处理文本时使用。词向量的训练通常基于大量的文本数据,在语境中学习词与词之间的关系。原创 2025-02-20 00:24:20 · 645 阅读 · 0 评论 -
【深度学习pytorch-82】文本分类
(Text Classification)是自然语言处理(NLP)中的一项重要任务,旨在将文本数据根据其内容分配到预定义的类别或标签中。深度学习方法通过神经网络学习从原始文本中自动提取特征,通常比传统方法更强大,尤其是在处理大规模数据集时。文本分类是自然语言处理中的核心任务之一,广泛应用于情感分析、垃圾邮件分类、新闻分类等领域。等预训练模型的文本分类方法逐渐成为主流,能够在各种自然语言处理任务中提供更为精确的结果。都能在不同的文本分类任务中取得良好效果。这些方法的优点是计算效率高,适用于小规模的数据集。原创 2025-02-20 00:23:36 · 632 阅读 · 0 评论 -
【深度学习pytorch-81】fasttext
FastText 是一个高效的工具,能够生成。原创 2025-02-20 00:21:42 · 707 阅读 · 0 评论 -
【深度学习pytorch-80】Transformer架构搭建
在机器翻译中,解码器根据编码器的上下文信息和目标序列的部分信息生成目标序列。一旦编码器和解码器层被定义,我们可以通过堆叠多个编码器和解码器层来构建完整的 Transformer 模型。通过这种方式,Transformer 在机器翻译、文本生成、图像描述等任务中取得了显著的成功,并且成为了现代 NLP 和其他序列到序列任务中最重要的架构之一。每个词都会被映射到一个固定大小的向量,通常这个向量的维度是模型的维度 ( d_{\text{model}} )。以下是一个简单的编码器和解码器层的定义。原创 2025-02-20 00:20:52 · 1011 阅读 · 0 评论 -
【深度学习pytorch-79】Transformer输出部分实现
解码器的最后一层会输出一个形状为 ( (seq_len, batch_size, d_{\text{model}}) ) 的张量,其中 ( d_{\text{model}} ) 是模型的嵌入维度。其中,( W^O ) 是形状为 ( (d_{\text{model}}, V) ) 的权重矩阵,( b^O ) 是偏置项,得到的 logits 是每个时间步对目标词汇表中所有单词的原始评分。这个线性变换将每个时间步的输出从 ( d_{\text{model}} ) 映射到目标词汇表的维度 ( V )。原创 2025-02-19 11:58:05 · 915 阅读 · 0 评论 -
【深度学习pytorch-78】Transformer的解码器
解码器的设计与编码器的设计有很大的相似性,但解码器在处理目标序列时,需要利用。在这个子层中,解码器的查询通过计算与编码器输出的键的点积来生成注意力权重,并基于这些权重对编码器的值进行加权求和。是解码器中的一个关键部分,作用是将解码器的查询(Query)与编码器的输出(Key 和 Value)进行对比,捕捉输入序列和目标序列之间的相关性。,确保每个位置的输出只能依赖于当前及之前的目标序列的位置,而不能看到未来位置的输出。:解码器通过与编码器的输出交互,利用编码器生成的上下文信息来生成目标序列。原创 2025-02-19 11:57:22 · 386 阅读 · 0 评论 -
【深度学习pytorch-77】Transformer中的解码器层
由于采用了掩码矩阵,解码器确保每个位置的计算只依赖于当前和之前的位置,不会看到未来的信息。:然后,解码器通过与编码器的交互,利用编码器输出的上下文信息来计算每个位置的表示。解码器的查询与编码器的键进行对比,计算注意力得分,从而决定应该关注编码器的哪些部分。具体来说,解码器的查询(Query)来自解码器自身的自注意力子层,而键(Key)和值(Value)来自编码器的输出。这个子层的作用是对解码器的输出进行进一步的处理,以增强模型的表达能力。:最后,解码器通过前馈神经网络对每个位置的表示进行进一步的处理。原创 2025-02-19 11:56:28 · 1201 阅读 · 0 评论 -
【深度学习pytorch-76】Transformer中的编码器
编码器中的每个层都由多个。通过对每个位置的输出进行归一化,确保数据的均值为 0,方差为 1,从而使每一层的输入更加稳定。编码器的最终输出是每个位置的上下文表示,它捕捉了输入序列中各个位置的丰富语义信息,供解码器使用,从而生成目标序列。:经过多个编码器层的处理后,最终的输出是每个位置的上下文表示,它包含了输入序列中所有位置的综合信息。前馈神经网络的作用是对每个位置的表示进行进一步的非线性变换,以增强模型的表达能力。:每个子层的输出都会和输入进行相加,这有助于避免梯度消失或梯度爆炸的问题,帮助梯度的流动。原创 2025-02-19 11:55:35 · 720 阅读 · 0 评论 -
【深度学习pytorch-75】Transformer中的编码器层
是模型的核心部分之一,主要负责将输入序列(例如,源语言的句子)转换为固定长度的上下文表示(也叫做上下文向量)。每个编码器层由多个子层组成,通过多次堆叠这些层,Transformer 可以从输入中学习到丰富的上下文信息,并将其传递给解码器。通过多个编码器层堆叠,Transformer 模型能够学习到更加复杂和丰富的输入序列表示,从而生成更准确的输出序列。:每个子层的输出会与输入进行相加,这样即使网络层数很深,也能够避免梯度消失或梯度爆炸的问题,帮助梯度更好地传播。这有助于减小输入的波动,加速模型的训练。原创 2025-02-19 11:54:46 · 1040 阅读 · 0 评论 -
【深度学习pytorch-74】子层连接结构
子层连接(Sub-layer Connections)是模型中非常重要的一个设计,它帮助模型更稳定地训练,并且有效地解决了训练过程中的梯度消失和梯度爆炸问题。子层连接结构主要是通过残差连接(Residual Connections)和层归一化(Layer Normalization)来实现的。原创 2025-02-19 11:54:00 · 565 阅读 · 0 评论 -
【深度学习pytorch-73】规范化层
规范化层是神经网络中的一个重要组件,它通过对输入数据进行标准化,帮助模型更快收敛,并提升模型的性能。常见的规范化层有批量归一化(Batch Normalization,BN)层归一化(Layer Normalization,LN)和实例归一化(Instance Normalization,IN),它们都在不同的任务和架构中发挥着重要作用。在中,最常使用的规范化层是层归一化(Layer Normalization),它用于每个子层的输出。原创 2025-02-19 11:53:05 · 611 阅读 · 0 评论 -
【深度学习pytorch-72】前馈全连接层FFN
前馈全连接层是架构中的一个重要组成部分,在每个编码器层和解码器层中都存在。在 Transformer 中,前馈全连接层位于自注意力层或多头注意力层后,用于进一步处理每个位置的输出。前馈全连接层是一个全连接神经网络(Fully Connected Neural Network, FCNN),它接受来自自注意力层(或多头注意力层)的输出并进行变换。这个层通常由两层线性变换(即全连接层)和一个非线性激活函数(通常是ReLU)构成。前馈全连接层的结构线性变换(Linear Transformation)原创 2025-02-19 11:52:18 · 708 阅读 · 0 评论 -
【深度学习pytorch-71】掩码张量
掩码张量通常是一个。原创 2025-02-19 11:50:44 · 696 阅读 · 0 评论 -
【深度学习pytorch-70】Transformer架构
Transformer 是一种基于的模型架构,它由和两部分组成,广泛应用于序列到序列(Seq2Seq)任务,特别是在等自然语言处理(NLP)领域。在深入了解 Transformer 的之前,我们先了解 Transformer 的结构及每个组成部分如何协同工作。原创 2025-02-19 11:49:26 · 527 阅读 · 0 评论 -
【深度学习pytorch-69】Attention is All You Need原文解读
是一篇由等人在 2017 年提出的开创性论文,提出了模型,彻底改变了序列到序列(Seq2Seq)任务中处理长距离依赖问题的方式。这篇论文的最大贡献是,而是采用了基于的新架构。原创 2025-02-19 11:47:07 · 875 阅读 · 0 评论 -
【深度学习pytorch-68】Attention is all you need
(WMT 2014 English-to-German 和 English-to-French)上,Transformer 相比传统 RNN/LSTM 模型的显著优势,尤其是在计算效率和性能上。通过将注意力机制应用于每个位置的查询、键和值,Transformer 能够为每个位置动态分配不同的权重,从而捕捉长距离的依赖关系。:将输入序列的每个元素的表示都映射到一个新的空间,而不使用递归(如 RNN、LSTM)。Transformer 采用。位置编码是加到输入序列的嵌入向量中的,帮助模型理解序列中的顺序关系。原创 2025-02-19 11:45:38 · 537 阅读 · 0 评论 -
【深度学习pytorch-67】Transformer背景介绍
Transformer 是一个革命性的架构,它通过完全依赖于自注意力机制而摒弃了传统的 RNN 或 LSTM 设计,解决了长距离依赖问题并显著提高了训练效率。自其提出以来,Transformer 模型已经成为了深度学习中的重要工具,广泛应用于各种任务,并衍生出了许多强大的预训练模型(如 BERT、GPT、T5 等)。是 Transformer 的核心,它可以让模型在每个时刻根据输入序列中的所有位置动态地决定关注哪些信息。的完全不同的结构,极大地提高了训练效率,并且在多个 NLP 任务中取得了显著的进展。原创 2025-02-19 11:44:34 · 488 阅读 · 0 评论 -
深度学习好文-一文带你深入理解注意力机制
最后,利用计算出的注意力权重 ( \alpha_{ij} ),我们对源序列中的所有元素进行加权求和,得到最终的上下文向量 ( c_i ),它表示目标词 ( y_i ) 的上下文信息。我们计算每个输入的注意力得分 ( e_{ij} ),它表示目标序列中的第 ( i ) 个词与源序列中的第 ( j ) 个词的相关性。在自然语言处理(NLP)等任务中,注意力机制帮助模型在处理序列时,决定要重点关注输入序列中的哪些部分,从而提高模型的性能。对齐得分衡量了当前目标(如解码器的当前状态)与输入的每个元素之间的关系。原创 2025-02-19 11:42:21 · 1058 阅读 · 0 评论