Deep Learing & pytorch
文章平均质量分 90
深度学习原理及pytorch实战
Andy_shenzl
你看不懂的世界,背后都是原理
展开
-
《Attention Is All You Need》解读
是一篇由Ashish Vaswani等人在2017年发表的论文,它在自然语言处理领域引入了一种新的架构——Transformer。这个架构现在被广泛应用于各种任务,如机器翻译、文本摘要、问答系统等。Transformer模型的核心是“自注意力”(self-attention)机制,这一机制能够有效捕捉文本序列中的长距离依赖关系。原创 2024-07-04 17:07:39 · 1290 阅读 · 0 评论 -
seq2seq+Attention机制原理介绍
Attention机制是一项先进技术,用于增强基于循环神经网络(RNN)、长短时记忆网络(LSTM)和门控循环单元(GRU)的编码器-解码器模型性能。它通常被称作Attention Mechanism,在深度学习领域非常流行,广泛应用于机器翻译、语音识别、图像标注等多个领域。Attention机制的作用与流行原因通过为序列中每个元素分配不同权重,Attention机制增强了模型的信息区分和识别能力。这种权重分配让模型更灵活地学习,尤其是在处理句子中每个词时,能根据其对翻译或识别结果的重要性进行调整。原创 2024-07-03 16:50:12 · 826 阅读 · 0 评论 -
seq2seq原理介绍
Seq2Seq模型,即序列到序列模型,是一种深度学习架构,它能够接收一个序列作为输入,并通过特定的生成方法生成另一个序列作为输出。这种模型的一个关键特点是,输入序列和输出序列的长度可以是不同的,从而解决了传统循环神经网络(RNN)在处理不等长序列时的限制。Seq2Seq模型通常采用编码器-解码器(Encoder-Decoder)结构,这也是其另一个常用的名称。在这个结构中,编码器负责将输入序列编码成一个固定长度的向量,这个向量捕捉了输入序列的语义信息。然后,解码器利用这个向量来生成输出序列。原创 2024-06-28 10:18:46 · 1020 阅读 · 0 评论 -
Bert基础(十四)-- 实战篇:transformer-中文多分类
transformer的原理部分在前面基本已经介绍完了,接下来就是代码部分,因为transformer可以做的任务有很多,文本的分类、时序预测、NER、文本生成、翻译等,其相关代码也会有些不同,所以会分别进行介绍但是对于不同的任务其流程是一样的,所以一些重复的步骤就不过多解释了。原创 2024-03-19 18:22:45 · 862 阅读 · 0 评论 -
深度学习&PyTorch 之 LSTM-中文多分类
定义LSTM模型else:具体解析可参考RNN代码解析唯一的不同这里介绍下,就是RNN没有cell,所以这里需要加上。在模型中,这行代码是对RNN层的最后一个时间步的隐藏状态应用dropout正则化。hidden: 这是RNN层的输出之一,表示隐藏状态。对于每个时间步,RNN会产生一个隐藏状态。如果RNN是多层(n_layers大于1),那么每个时间步的隐藏状态会经过所有的层。因此,hidden的形状将是,其中是1(单向)或2(双向)。: 这里,-1索引表示选择最后一个RNN层的输出。原创 2024-03-15 07:28:34 · 1071 阅读 · 1 评论 -
深度学习&PyTorch 之 RNN-中文多分类【代码解析】
文章给出了RNN-中文多分类的代码实现,本次主要是对RNN的架构进行一个详细的解析。原创 2024-03-04 15:08:13 · 1010 阅读 · 0 评论 -
白话transformer(一):注意力机制
前面我们分篇讲述了transformer的原理,但是对于很多刚接触transformer的人来说可能会有一点懵,所以我们接下来会分三篇文章用白话的形式在将transformer 讲一遍。前文链接注意力机制其实最大的作用就是对词嵌入也就是embedding的优化,下面我们来看下是怎么做到的。原创 2024-03-04 15:07:26 · 1731 阅读 · 0 评论 -
深度学习&PyTorch 之 RNN-中文多分类
关于RNN的理论部分我们已经在前面介绍过,所以这里直接上代码数据是csv格式,只有两列,第一列是标签(但是为中文),第二列是text,文本内容。当然这里也可以加入停用词我们需要构建和处理文本数据的词汇表。词汇表是自然语言处理中的一个基本概念,它将文本中的单词映射到唯一的整数ID上。这样,文本数据就可以被转换为机器可以理解的数字格式。创建好的词汇表如下我们之前看到标签是,等文本,需要转换成数值标签代码中给出了详细的注释,所以就不过多的解释。查看下数据模型结构3、 开始训练完整代码原创 2024-02-28 15:35:25 · 2356 阅读 · 0 评论 -
Bert基础(五)--解码器(下)
但在这一层,我们有两个输入矩阵:一个是R(编码器输出的特征值),另一个是M(前一个子层的注意力矩阵)。然后,我们把顶层解码器的输出送入线性层。我们可以看到,每个解码器中的多头注意力层都有两个输入:一个来自带掩码的多头注意力层,另一个是编码器输出的特征值。(3) 然后,将注意力矩阵[插图]和编码器输出的特征值[插图]作为多头注意力层(编码器−解码器注意力层)的输入,并再次输出新的注意力矩阵。(1) 首先,我们将解码器的输入转换为嵌入矩阵,然后将位置编码加入其中,并将其作为输入送入底层的解码器(解码器1)。原创 2024-02-28 10:51:31 · 1089 阅读 · 0 评论 -
Bert基础(四)--解码器(上)
因此,一个解码器(第一个除外)将有两个输入:一个是来自前一个解码器的输出,另一个是编码器输出的特征值。同理,我们也不是将输入直接送入解码器,而是将其转换为嵌入矩阵,为其添加位置编码,然后再送入解码器。,我们不是将输入直接送入解码器,而是将其转换为嵌入矩阵(输出嵌入矩阵)并添加位置编码,然后再送入解码器。,我们将输入转换为嵌入(我们称之为嵌入值输出,因为这里计算的是解码器在以前的步骤中生成的词的嵌入),将位置编码加入其中,然后将其送入解码器。需要注意的是,这里使用的数值是随机的,只是为了方便理解。原创 2024-02-22 13:21:29 · 1373 阅读 · 0 评论 -
Bert基础(三)--位置编码
这样一来,输入矩阵不仅有词的嵌入值,还有词在句子中的位置信息。下图是一个编码器模块,从中我们可以看到,在将输入矩阵送入编码器之前,首先要将位置编码加入输入矩阵中,再将其作为输入送入编码器。前馈网络的参数在句子的不同位置上是相同的,但在不同的编码器模块上是不同的。(1) 将输入转换为嵌入矩阵(输入矩阵),并将位置编码加入其中,再将结果作为输入传入底层的编码器(编码器1)。只需将输入矩阵X与计算得到的位置编码矩阵P进行逐元素相加,并将得出的结果作为输入矩阵送入编码器中。代入pos值,我们得到结果。原创 2024-02-21 16:35:57 · 1829 阅读 · 0 评论 -
Bert基础(二)--多头注意力
为了确保结果准确,我们不能依赖单一的注意力矩阵,而应该计算多个注意力矩阵,并将其结果串联起来。使用多头注意力的逻辑是这样的:使用多个注意力矩阵,而非单一的注意力矩阵,可以提高注意力矩阵的准确性。也就是说,我们可以应用在上篇中学习的计算注意力矩阵Z的方法,来求得多个注意力矩阵。我们已经知道,为了计算注意力矩阵,需要创建三个新的矩阵,分别为查询矩阵、键矩阵和值矩阵。,那么可以直接将所有的注意力头(注意力矩阵)串联起来,并将结果乘以一个新的权重矩阵。,就可以依次得出对应的查询矩阵、键矩阵和值矩阵。原创 2024-02-20 16:08:33 · 1092 阅读 · 0 评论 -
Bert基础(一)--自注意力机制
当下最先进的深度学习架构之一,Transformer被广泛应用于自然语言处理领域。它不单替代了以前流行的循环神经网络(recurrent neural network, RNN)和长短期记忆(long short-term memory, LSTM)网络,并且以它为基础衍生出了诸如BERT、GPT-3、T5等知名架构。本文将带领你深入了解Transformer的实现细节及工作原理。原创 2024-02-19 13:24:29 · 1444 阅读 · 0 评论 -
Bert基础(十五)-- Bert中文文本分类任务(colab)
train_data 是一个包含输入数据的字典,其中 “input_ids” 是模型输入的token ID,“attention_mask” 是用于标识输入序列中哪些位置是有效的前景tokens,“labels” 是序列分类任务的标签。我们可以自己打印下我们前面定义好的训练数据,如下TensorDataset 将数据转换为一个PyTorch张量数据集,其中每个样本是一个包含input_ids、attention_mask和label的元组。原创 2024-02-07 13:29:36 · 1180 阅读 · 0 评论 -
streamlit实现DNN回归低代码页面
简单的介绍了streamlit的用法,本文将实战DNN回归的用法,后面会更新深度学习的其他算法。原创 2024-01-25 10:29:35 · 996 阅读 · 0 评论 -
streamlit 入门demo
Streamlit 是一个用于创建数据应用程序的 Python 库,它致力于简化从数据脚本到可部署应用程序的整个过程。通过 Streamlit,你可以使用熟悉的 Python 语言创建交互式的、美观的数据应用,而无需深入了解前端开发。原创 2024-01-05 23:35:19 · 1607 阅读 · 0 评论 -
LSTM原理解析
长短时记忆网络(Long Short-term Memory Network,LSTM),不同于RNN只能记忆短期的记忆 ,LSTM隐含状态是两个状态,短期记忆 和长期记忆原创 2023-02-17 17:02:15 · 1938 阅读 · 0 评论 -
RNN循环神经网络原理理解
RNN之所以称为循环神经网络,即一个序列当前的输出与前面的输出也有关。具体的表现形式为网络会对前面的信息进行记忆并应用于当前的输出计算中,即隐藏层之间的节点不再无连接而是有链接的,并且隐藏层的输入不仅包括输入层的输出还包括上一时刻隐藏层的输出。原创 2023-02-10 15:05:42 · 1445 阅读 · 0 评论 -
深度学习理论介绍
深度学习首先是一种机器学习。深度学习的基础,叫做神经网络,这本身就是一种机器学习算法。深度神经网络(Deep Neural Networks, 以下简称DNN)是深度学习的基础。代表案例:多层感知机(Multi-Layer perceptron,MLP)原创 2023-01-19 14:12:10 · 1829 阅读 · 0 评论 -
深度学习&PyTorch 之 DNN-多分类
DNN多分类原创 2023-01-18 16:41:17 · 2302 阅读 · 2 评论 -
深度学习&PyTorch 之 DNN-二分类
DNN二分类原创 2023-01-13 15:33:20 · 2118 阅读 · 8 评论 -
深度学习&PyTorch 之 网络结构可视化
分别介绍了DNN回归的方法和代码,但是模型建立好了,他到底是个什么样子呢?我们这节给大家介绍一个查看模型结构的方法原创 2023-01-12 11:50:58 · 951 阅读 · 0 评论 -
深度学习&PyTorch 之 DNN-回归(多变量)
DNN回归多变量原创 2023-01-11 14:02:02 · 777 阅读 · 2 评论 -
深度学习&PyTorch 之 DNN-回归
PyTorch DNN回归实战原创 2023-01-10 17:26:41 · 2285 阅读 · 2 评论 -
pytorch入门理解
pytorch基础入门理解原创 2023-01-09 17:24:37 · 431 阅读 · 0 评论