版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
大模型原理及应用
第二章深度神经网络
1课程简介2神经网络基础深度神经网络Transformer基础1神经网络基础3神经网络介绍:神经网络是一种受人脑结构启发的计算模型,它工作方式是试图模拟人脑中神经元。这种模型由大量的节点(或称为“神经元”)组成,这些节点通常按层次排列,每个节点会接收来自前一层节点的输入,之后进行加权求和,然后通过一个非线性激活函数生成输出,传递给下一层的节点。神经网络的这种结构使其能够学习复杂的非线性关系。4随着层数和节点数的增加,神经网络可以变得更加复杂,能够处理更加复杂的数据和任务。这种网络被称为深度神经网络(DeepNeuralNetwork,DNN),是深度学习的基础。深度学习在许多领域都取得了显著的成果,如图像识别、语音识别、自然语言处理等。深度学习的优势是能够自动从大量数据中学习特征,从而不需要人工设计复杂的特征提取算法。什么是神经网络神经网络的基本结构包括输入层、隐藏层和输出层,每一层都由多个神经元组成。输入层负责接收原始数据,这些数据可以是图像、文本、声音等各种形式的信息。隐藏层位于输入层和输出层之间,它负责对输入数据进行复杂的处理和特征提取。输出层则是神经网络产生最终预测或决策的地方。三层神经网络示意图5神经元神经元是构成神经网络的基本单元,它们模仿人脑中神经元的结构和功能,为单个神经元的结构示意图。每个神经元接收来自前一层神经元的信号,这些信号通过突触权重进行加权,然后汇总到神经元的细胞体。之后求和加权信号,并加上一个偏置项,通过激活函数进行处理,最终产生输出,传递给下一层的神经元。这个输出就是神经元对信号的响应,它可以是线性的,也可以是非线性的,取决于所使用的激活函数。单个神经元的结构示意图6激活函数激活函数是神经网络中引入非线性的关键元素,它们决定了神经元是否应该被激活。如果没有激活函数,神经网络只能学习线性关系,这将大大限制其能力。因此,激活函数的选择对于网络的性能至关重要,它直接影响到网络能否有效地学习和执行复杂的任务。激活函数的结构示意图7激活函数常见的激活函数包括:Sigmoid函数:输出范围在0到1之间,在处理二分类问题时效果较好。然而,Sigmoid函数在输入值较大或较小时,梯度接近于0,这会导致梯度消失问题,使得网络训练变得困难。Tanh函数:即双曲正切函数,将输入压缩到-1和1之间,这使得它在处理有正负值的输入时,能够更好地捕捉数据的正负变化。与Sigmoid函数相比,Tanh函数在正负值上都有较好的对称性,这使得它在某些情况下比Sigmoid函数表现更好。ReLU函数:即线性整流函数,是目前最常用的激活函数之一。ReLU函数因其计算效率高和能够缓解梯度消失问题而在深层网络中非常流行。ReLU函数在正数区间内保持输入不变,在负数区间内输出为0,这使得它在处理深层网络时能够有效地缓解梯度消失问题,加快训练速度。Softmax函数:通常用于多分类问题的输出层,可以将神经网络的输出转换为概率分布,使得每个类别的预测概率之和为1。8前向传播前向传播是神经网络计算输出的核心过程,它将输入数据在网络中向前流动,直至生成输出。在这个过程中,每个神经元接收来自前一层神经元的加权输入,并加上一个偏置项。这个加权和随后通过激活函数进行处理,产生当前神经元的输出,进而传递给下一层的神经元。这一系列的线性变换和非线性激活是逐层进行的,最终输入数据经过多层处理后,在输出层生成预测结果。前向传播过程:输入加权求和激活函数传递输出9前向传播这个过程可以细分为以下几个步骤:
输入:输入层接收原始数据,这些数据可以是图像的像素值、文本的词嵌入向量,或者是其他任何类型的数值数据。
加权求和:每个隐藏层的神经元会将其接收到的前一层神经元的输出进行加权求和,这个权重代表了前一层神经元对当前神经元影响的强度。
激活函数:加权求和的结果通过激活函数进行非线性变换,激活函数的作用是引入非线性因素,使得神经网络能够学习和执行更复杂的任务。
传递输出:经过激活函数处理后的结果被传递到下一层,这个过程不断重复,直到数据到达输出层。10前向传播前向传播的目的是为了计算网络对于给定输入的预测值。这个预测值通常是一个概率分布(在多分类问题中)或者是一个连续值(在回归问题中)。简单的前向传播过程的示意图11反向传播反向传播是神经网络训练的核心算法,它负责计算损失函数相对于网络中每个权重的梯度,并指导权重的调整。在反向传播过程中,首先计算输出层的误差,这个误差是预测值与真实值之间的差异。然后,利用链式法则,这个误差会被反向传播回网络,逐层计算前一层的误差,直到达到输入层。这个过程涉及到大量的矩阵运算,通常需要借助自动微分工具来实现,如TensorFlow或PyTorch。反向传播过程:误差计算梯度计算权重更新迭代过程12反向传播反向传播算法的步骤包括:
误差计算:输出层的误差是通过损失函数计算得到的,损失函数衡量了预测值与真实值之间的差异。
梯度计算:利用链式法则,从输出层开始,逐层计算损失函数对每个权重的梯度。
权重更新:使用优化算法(如梯度下降、Adam或RMSprop)根据计算出的梯度更新网络中的权重。
迭代过程:这个过程不断重复,每次迭代都会使网络的预测值更接近真实值,直到达到预定的停止条件,如达到最大迭代次数或误差阈值。13反向传播算法使得神经网络能够学习复杂的函数映射,并通过不断调整权重和偏置最小化损失函数。这个过程通常需要大量的数据和多次迭代,直到网络的性能达到满意的程度。在实际应用中,为了提高训练效率和模型性能,可能会采用各种技术,如批量归一化、正则化、学习率衰减等。反向传播简单的反向传播过程的示意图14MSE是回归问题中最常用的损失函数,它计算所有样本的预测值与实际值之间差的平方的平均值。MSE对较大的误差赋予了更高的权重,这意味着模型在训练过程中会优先尝试减少较大的预测误差。这有助于模型整体性能的改善,尤其是在减少异常值的影响方面表现突出。下图的横轴是不同的预测值,纵轴是均方差损失,可以看到随着预测与真实值绝对误差的增加,均方差损失呈二次方地增加。损失函数和优化算法对于真实值和不同的预测值的均方差损失的变化图15交叉熵损失在分类问题中更为常见。它衡量的是模型预测的概率分布与真实标签的概率分布之间的差异。交叉熵损失对于错误分类的惩罚随着概率的减小而增大,这使得模型在训练过程中更加关注难以分类的样本。在二分类问题中,交叉熵损失可以直接计算;在多分类问题中,通常使用softmax激活函数配合交叉熵损失,将输出转换为概率分布,并计算损失。对二分类的交叉熵损失函数的可视化如下图所示,可以看到约接近目标值损失越小,随着误差变差,损失呈指数增长。损失函数和优化算法二分类的交叉熵损失函数的可视化16梯度下降是最基本的优化算法。它通过计算损失函数对权重的梯度,然后在梯度的反方向更新权重,以此来减少损失。梯度下降算法简单易懂,但它需要计算整个数据集的梯度,这在大型数据集上可能会非常耗时。随机梯度下降(SGD)是梯度下降的变体,它在每次迭代中只使用一个样本或小批量样本计算梯度。SGD的计算效率高,可以快速收敛,并且由于其随机性,有助于模型跳出局部最小值。然而,SGD的更新可能非常不稳定,因此实践中常常需要配合动量(Momentum)等技巧来稳定更新过程。自适应矩估计(Adam)算法是目前最流行的优化算法之一。它结合了动量(Momentum)和可靠性(RMSprop)的优点,能够自适应地调整每个参数的学习率。Adam算法计算梯度的一阶矩(即均值)和二阶矩(即未根化的方差)估计,然后根据这些估计调整每个参数的学习率。这种方法既考虑了梯度的方向(动量),也考虑了梯度的RMSprop,使得Adam在多种优化任务中都能表现出色。损失函数和优化算法17为了更好地理解神经网络的工作原理,我们可以通过一个简单的二维线性分类案例来说明。这个案例不仅可以帮助我们直观地理解神经网络是如何处理数据的,而且还能展示其学习数据模式的能力。(1)数据生成二维线性分类案例数据的生成方式是通过在每个类别的特征范围内随机采样来实现的。这里,每个类别的特征范围是通过k(类别索引)来调整的,以确保两个类别的数据在特征空间上有一定的分离度。18(2)LDA计算:二维线性分类案例使用LDA函数计算两个类别之间的线性判别权重向量w。首先,计算每个类别的均值向量。然后,计算每个类别的类内散度矩阵,并将它们相加得到总的类内散度矩阵Sw。接着,通过求解Sw的逆矩阵与两个类别均值向量差的乘积,得到权重向量w。这个权重向量定义了LDA分类器的决策边界方向。19(3)可视化:二维线性分类案例使用不同的颜色绘制了两个类别的数据点(红色代表一个类别,绿色代表另一个类别),并使用黑色圆圈标记了根据权重向量计算出的y轴标签。20在这个二维线性分类案例中,我们有两个类别的数据,每个数据点都有两个特征。LDA的目标是找到一个线性决策边界,能够将这两个类别的数据尽可能好地分开。这个决策边界是由权重向量w定义的,它指向了类别均值向量差的方向,并且与类内散度矩阵Sw的逆矩阵成正比。在这个例子中,由于我们只有一个特征用于分类(尽管函数设计为可以处理多个特征),所以决策边界实际上是一条直线,它将特征空间分为两个部分,每个部分对应一个类别。二维线性分类案例LDA分类结果LDA的分类结果可视化2深度神经网络21DNN是一类具有多个隐藏层的人工神经网络,它们能够学习数据中的复杂模式和特征。随着深度学习的发展,DNN在图像识别、语音识别、自然语言处理等领域取得了显著的成果。卷积神经网络(CNN)22CNN结构如下图所示,以下讲述了CNN的一些关键特点和组成部分:卷积神经网络的结构示意图卷积神经网络(CNN)23(1)卷积层(ConvolutionalLayer)卷积层是CNN的核心,它由一系列可学习的滤波器(或称为卷积核)组成。这些滤波器在输入数据(通常是图像)上滑动,计算滤波器与输入数据的局部区域的点积,生成特征图(FeatureMaps)。这个过程模拟了人类视觉系统中的简单细胞,能够检测图像中的边缘、纹理等局部特征。(2)激活函数(ActivationFunction)在卷积操作之后,通常会应用一个非线性激活函数,如ReLU。ReLU函数的作用是增加网络的非线性能力,使得网络能够学习复杂的函数映射。(3)池化层(PoolingLayer)池化层用于降低特征图的空间尺寸,减少参数数量和计算量,同时提高特征的不变性(如平移不变性)。最常见的池化操作是最大池化(MaxPooling),它在每个池化窗口中选择最大值;另一种是平均池化(AveragePooling),它计算池化窗口内的平均值。卷积神经网络(CNN)24(4)全连接层(FullyConnectedLayer)在多个卷积和池化层之后,CNN通常包含一个或多个全连接层。这些层将前面层提取的特征映射到最终的输出,如类别标签。在全连接层中,每个神经元都与前一层的所有神经元相连。(5)归一化层(NormalizationLayer)在某些CNN架构中,会使用归一化层(例如BatchNormalization)来稳定和加速训练过程,如Inception网络。归一化层通过对每个小批量数据进行标准化处理,减少了内部协变量偏移(InternalCovariateShift)。(6)损失函数和优化器CNN的训练涉及到损失函数的选择,如交叉熵损失(Cross-EntropyLoss)用于分类任务。优化器,如SGD或Adam,用于根据损失函数的梯度更新网络权重。循环神经网络(RNN)25RNN是一种用于处理序列数据的神经网络架构。与传统的前馈神经网络不同,RNN能够处理任意长度的序列,并且能够捕捉序列中的时间依赖关系。RNN在自然语言处理(NLP)、语音识别、时间序列预测等领域有着广泛的应用。RNN结构图图下如所示,以下讲述了CNN的一些关键特点和组成部分循环神经网络的结构示意图循环神经网络(RNN)26(1)循环结构RNN的核心特点是其循环结构,即网络中的信息可以循环传递。这意味着网络在处理序列中的每个元素时,不仅考虑当前元素,还考虑之前元素的信息。这种循环结构允许网络在每个时间步(TimeStep)更新其隐藏状态(HiddenState),从而保留序列中的上下文信息。(2)隐藏状态在RNN中,隐藏状态是网络在每个时间步的内部表示,它携带了序列中之前信息的记忆。隐藏状态的更新依赖于当前输入和前一时间步的隐藏状态。通过这种方式,RNN能够在处理序列时保持长期依赖关系。(3)输出RNN可以在每个时间步产生输出,或者仅在最后一个时间步产生输出。在某些任务中,如语言模型或机器翻译,网络会在每个时间步产生输出,对应于序列中的每个元素。在其他任务中,如分类或预测,网络可能只在最后一个时间步产生输出。长短期记忆网络(LSTM)27LSTM是一种特殊的RNN,用来解决传统RNN在处理长序列数据时遇到的梯度消失和梯度爆炸问题。LSTM通过引入门控机制来控制信息的流动,从而能够学习到长期依赖关系。结构如下图所示,以下是LSTM的关键特点和组成部分:长短期记忆网络的结构示意图长短期记忆网络(LSTM)28LSTM的核心是其门控机制,它包括三个主要的门:遗忘门(ForgetGate)、输入门(InputGate)和输出门(OutputGate)。这些门控制着信息的流动,使得网络可以选择性地保留或遗忘信息。
遗忘门(ForgetGate):遗忘门决定哪些信息应该从单元状态中被遗忘或保留。它查看当前输入和上一时间步的隐藏状态,并输出一个0到1之间的值,表示每个单元状态的保留程度。
输入门(InputGate):输入门负责更新单元状态。它首先决定哪些新信息应该被存储在单元状态中,然后使用一个sigmoid层来确定新状态的候选值。
输出门(OutputGate):输出门决定隐藏状态的最终输出。它使用sigmoid函数来确定单元状态的哪一部分应该被输出,同时使用tanh函数来计算单元状态的加权值。手写数字分类案例29手写数字分类是一个经典的机器学习和深度学习案例,通常使用MNIST数据集进行训练和测试。MNIST数据集包含了大量的手写数字图像,这些图像是灰度的,大小为28x28像素,每个像素的值介于0(黑色)到255(白色)之间。数据集中包含了60,000个训练样本和10,000个测试样本,每个样本都对应一个0到9的数字标签,如下图所示。手写识别的结构示意图手写数字分类案例30手写数字分类案例的一般步骤如下图所示:手写识别流程手写数字分类案例31(1)数据预处理首先要初始化全局变量,同时构建数据集,通过import获取需要库的全局变量。torchvision中的torchvision.datasets库中提供了MNIST数据集的下载地址,因此我们可以直接二调用对应的函数来下载MNIST的训练集和测试集。手写数字分类案例32(2)训练部分首先需要构建一个简单的神经网络模型。手写数字分类案例33(2)训练部分对于简单的多分类任务,可以使用交叉熵损失来作为损失函数;而对于迭代器而言,可以使用Adam迭代器。手写数字分类案例34(3)数据预后处理使用到matplotlib来对结果进行可视化。手写数字分类案例35结果如下图所示,随着循环次数增多,可见准确度越来越高,损失度越来越低。手写识别结果3Transformer基础36
Transformer是一种深度学习模型架构,广泛应用于自然语言处理(NLP)任务中,比如翻译、文本摘要和问答系统。核心概念:自注意力机制(Self-AttentionMechanism):Transformer的核心是自注意力机制,允许每个位置的词可以注意到输入序列的所有位置,从而有效地捕捉全局依赖关系。多头注意力(Multi-HeadAttention):通过多个自注意力机制并行工作,能够从不同表示子空间获取信息,增强模型的表现力。位置编码(PositionalEncoding):因为Transformer没有递归或卷积结构,为了使模型能利用序列中的顺序信息,加入了位置编码。前馈神经网络(Feed-ForwardNeuralNetwork):每个注意力层后接一个前馈神经网络,对每个位置独立应用相同的全连接层。残差连接与层归一化(ResidualConnectionsandLayerNormalization):在每个子层后使用残差连接和层归一化,有助于加速训练过程和稳定梯度流。自注意力机制37本节介绍的自注意力机制也称为缩放点积注意力(ScaledDot-ProductAttention),其核心在于计算输入序列中各元素之间的点积,以衡量它们之间的相似度或关联程度。然后,利用这种关联性对输入序列进行加权求和,生成新的表示,如下图所示。这一过程允许模型更加聚焦于对当前任务更为重要的信息。缩放点积自注意力示例自注意力机制38自注意力机制主要由三个核心组件构成:查询(Query,Q)、键(Key,K)和值(Value,V)。这三个组件通过线性变换从输入数据中生成,并共同参与注意力权重的计算过程。查询用于与其他元素进行匹配的向量,它代表了当前位置对其他位置信息的查询需求;键用于与查询进行匹配的向量,它提供了其他元素可以被查询到的信息;值包含了需要被提取的信息,最终的输出将基于这些值进行加权求和。自注意力机制的工作流程可以拆解为逐步计算:(1)输入表示:生成查询、键和值向量(2)计算注意力得分
(AttentionScores)(3)得分标准化(Softmax归一化)(4)加权求和值向量自注意力机制39
自注意力机制40
自注意力机制41
多头注意力机制42多头注意力机制(Multi-HeadAttention)是在自注意力基础上的一种扩展,是Transformer模型的核心组件之一,旨在通过多个独立的注意力机制(称为“头”)并行处理输入数据,捕获不同的特征或上下文关系。它在自注意力机制的基础上扩展,通过同时关注不同的特征子空间,提高了模型的表达能力。多头自注意力机制示例多头注意力机制43多头注意力机制不是单纯地将多个自注意力层简单叠加,而是通过以下特定方式增强模型的能力:分割头部:多头注意力机制首先将输入的特征拆分成多个“头部”(head),每个头部处理输入数据的不同部分。这种分割使得每个头部可以专注于输入的不同表示子空间;并行处理:每个头部独立地计算注意力得分和输出。这种并行处理方式使得模型能够同时关注输入序列的多个方面,例如,在语言处理中,模型可以同时关注句子的语法结构和语义内容;融合多头信息:各个头部输出的信息被合并成一个统一的输出,通常通过拼接(concatenation)后再通过一个线性层来实现。这一步骤是至关重要的,它将不同头部学习到的各种信息整合在一起,形成最终的输出。多头注意力机制44
多头注意力机制45
多头注意力机制46
位置编码47注意力机制本身是对输入序列位置无感的,因为它不区分输入向量的顺序。这对处理有序数据(如句子、时间序列)是一个问题。为了解决这个问题,位置编码(PositionalEncoding)被引入到Transformer模型中,如下图所示,用于显式地为输入序列中的每个位置引入位置信息。Transformer模型架构示例位置编码48
位置编码49
位置编码50
位置编码51
编码器-解码器结构52编码器-解码器结构是一种常用于序列到序列(Seq2Seq)任务的神经网络模型,特别是在机器翻译、文本摘要、问答系统等自然语言处理领域。这种结构由两个主要部分组成:编码器和解码器,它们通常通过一个中间状态或上下文向量连接,编码器-解码器结构如下图所示。编码器-解码器结构示例编码器-解码器结构53
编码器-解码器结构54早期的Seq2Seq模型使用RNN作为编码器,包括LSTM和GRU,它们能够处理变长的输入序列,并逐步构建内部状态。在Transformer模型中,编码器由多个相同的层组成,每层都包含多头自注意力机制和前馈神经网络,输入序列通过嵌入层和位置编码处理后,逐层传递,最终生成上下文表示。这种结构能够并行处理输入序列,提高了计算效率。编码器的输入序列X={x_1,x_2,...,x_n}会被转换为特征向量,编码器输出是上下文表示C,它可以是固定长度向量(所有时间步的信息被压缩成一个向量),也可以是变长向量序列(Transformer编码器输出每个时间步的特征表示),编码器结构如右图所示。编码器结构示例编码器-解码器结构55编码器的处理流程分成三个部分:词嵌入:每个输入元素(如单词)通过嵌入层转化为连续向量序列建模:编码器通过RNN或Transformer层建模序列中的依赖关系,捕捉上下文信息上下文表示生成:编码器输出序列的特征表示,供解码器使用编码器-解码器结构56
解码器结构示例编码器-解码器结构57解码器的处理流程也分成三个部分:嵌入输入:将当前时间步的输入通过嵌入层转化为特征向量序列建模:解码器通过自回归方式生成序列。每一步利用之前生成的单词及编码器输出的上下文,预测下一个单词生成输出:输出通过全连接层和Softmax生成概率分布,选取下一个目标单词前馈网络58前馈网络,也称为前馈神经网络(FeedforwardNeuralNetwork,FNN),是一种最简单的人工神经网络,其特点是信息只在一个方向上流动,从输入层到隐藏层,再到输出层,没有反向的连接。这种网络结构简单,易于理解和实现,是许多复杂神经网络结构的基础,前馈神经网络结构如下图所示。前馈神经网络结构示例前馈网络59
前馈网络60
前馈网络61
Transformer扩展BERT、ViT62Transformer架构自从被提出以来,已被广泛应用于多种任务。BERT和ViT是基于Transformer的两个重要扩展,分别解决了NLP和CV中的关键问题。BERT(BidirectionalEncoderRepresentationsfromTransformers)是由谷歌在2018年提出的预训练模型,它通过双向训练结合了上下文信息,在多种自然语言处理任务中取得了卓越的性能,BERT结构如下图所示。BERT结构示例Transformer扩展BERT、ViT63它通过以下两个创新点扩展了Transformer模型在NLP中的应用:双向编码:传统的Transformer使用自注意力机制来捕捉序列中的依赖关系,但标准的Transformer是单向的一一每个单词只能基于它前面的单词进行编码。BERT使用了双向Transformer编码器,可以同时从左到右和从右到左建模序列的上下文信息。这让BERT在理解每个词的上下文时能够考虑到更多信息。预训练和微调:BERT通过预训练在大规模语料上进行学习,然后通过微调(fine-tuning)在具体的下游任务上进行优化。预训练任务包括掩蔽语言模型(MaskedLanguageModel,MLM)和下一句预测(NextSentencePrediction,NSP)。 MLM是随机选择输入文本中的一些单词并将其替换为特殊的[MASK]标记,然后模型需要根据上下文预测这些被掩蔽的单词。NSP:模型需要判断两句话是否连续,这有助于理解句子之间的关系。Transformer扩展BERT、ViT64BERT可以捕捉句子中每个词的深层次语义,能够处理复杂的语言现象,具有强大的上下文表达能力。同时,BERT的预训练-微调框架预训练的模型可以在多个任务上通过简单的微调获得优异的效果,如问答系统、情感分析等。以下示例使用HuggingFace库对文本进行情感分类:Transformer扩展BERT、ViT65ViT(VisionTransformer)是Transformer模型在计算机视觉领域的应用,它将图像划分为固定大小的图像块(patches),这些图像块被展平后,视为一个序列输入给Transformer。这种方法类似于将图像数据转换为“词”,使得Transformer能够直接应用于视觉任务,VIT结构如下图所示。VIT结构示例Transformer扩展BERT、ViT66它通过以下三个创新点扩展了Transformer模型在ViT中的应用:
图像分块:与传统CNN不同,ViT将输入图像划分为固定大小的小块,每个小块通过线性嵌入转换为向量。这些向量作为序列输入到Transformer的编码器中,Transformer通过自注意力机制学习这些图像块之间的关系。
位置编码:ViT通过在每个图像块的向量中添加位置编码来保留图像块的位置信息。这样,模型能够理解不同图像块在图像中的空间关系。
Transformer编码器:与NLP任务中类似,ViT使用了标准的Transformer编码器结构,包括多层的自注意力层和前馈神经网络。自注意力机制使得每个图像块在学习过程中可以与其他图像块进行交互,从而捕捉全局特征。Transformer扩展BERT、ViT67以下是使用预训练ViT模型进行图像分类的示例:Transformer机器翻译案例68Transformer架构在机器翻译领域取得了革命性的进展。其独特的自注意力机制使得模型能够高效地捕捉长距离依赖关系,并显著提高翻译质量。本次实验案例使用的是torchtext中自带的数据集Multi30k,直接可以使用内置的API函数即可下载。Transformer机器翻译案例69(1)导入必备的工具包Transformer机器翻译案例70(2)导入Multi30k数据集并做基本处理加载对应的tokenizer:构建生成分词的迭代器:Transformer机器翻译案例71定义特殊字符并下载数据设置默认索引:Transformer机器翻译案例72(3)构建Transformer模型定义位置编码器类:Transformer机器翻译案例73(3)构建Transformer模型定义词嵌入层类:Transformer机器翻译案例74(3)构建Transformer模型构建Seq2SeqTransformer模型:Transformer机器翻译案例75(4)定义mask的函数,创建对应的不同的mask定义掩码防止模型在进行预测的过程中查看到未来的单词,同时需要掩码来隐藏源语言和目标语言的paddingtokens。Transformer机器翻译案例76(5)定义批次数据处理的回调函数将字符串转化为整数的tensor张量:Transformer机器翻译案例77(5)定义批次数据处理的回调函数在句子首尾添加起始和结束符号:Transformer机器翻译案例78(5)定义批次数据处理的回调函数数据进行批次化处理:Transformer机器翻译案例79
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 2026年秋季学期小学英语接力版(三起)三年级上册教学计划含进度表
- 2026秋小学湘美版美术三年级上册(新教材)教学计划
- T/CPIA 0028.1-2024光伏组件用玻璃 第1部分:前板减反射膜玻璃
- 2026年卫生保健教师年终个人述职报告课件
- 2026年年度脊柱外科主任年度综合考核总结课件
- 2026年高中高三技术教师年终述职报告课件
- 2026超硬材料行业竞争态势及市场需求与技术壁垒研究报告
- 《慢性乙型肝炎防治指南》(2015更新版)要点解读
- T/CIE 260-2024教学类多层级引导大模型一体机技术要求
- T/CHSA 102-2025老年患者口腔种植治疗指南
- 喷涂考试试题及答案
- 垃圾分类与回收课件
- 皮肤科院感培训
- 餐馆转让协合同范例
- 《腕关节X线解剖》课件
- 2022年第十七届广东省中学生天文知识竞赛试题(含答案)
- FZ∕T 01109-2011 环锭纺纯棉纱生产用电计算方法
- 芬兰教育全球第一的秘密读后感市公开课一等奖百校联赛优质课金奖名师赛课获奖课件
- 地铁车站堵漏施工完整方案
- 《离子方程式正误判断的“六查”》一轮复习课件
- 朱德庸漫画-当我从11楼跳下
评论
0/150
提交评论