版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
第10章神经网络神经网络简介反向传播激活函数抗过拟合优化算法卷积神经网络循环神经网络Transformer大纲生物神经元神经细胞之间通过突触连接,突触通过复杂精巧的电化学过程传递信息接收前面神经元的输入,汇总
决策
传递人工神经元(M-P模型)输入层……
𝚺输出
激活函数权重
偏置(bias)
单个神经元=感知器,可实现线性分类隐含层输入层深度神经网络(DeepNeuralNetwork,DNN):多个隐含层实现复杂函数拟合全连接前馈神经网络输入输出第1层…………第2层……第L层…………………………
神经元
输出层例:神经网络Sigmoid函数1-11-21-1104-20.980.12例:神经网络1-21-1104-20.980.122-1-1-23-14-10.860.110.620.8300-221-1例:神经网络1-21-1100.730.52-1-1-23-14-10.720.120.510.8500-22
不同的参数表示不同的函数
00
矩阵操作1-21-1104-20.980.12
1-1
…………………………………………
神经网络
+
+
+
…………………………………………神经网络
+
+
x+……可采用并行计算加快矩阵操作
符号表示……个结点…………层个结点……神经元的输出:
层一层的输出::向量
层符号表示……………………
个结点层个结点层符号表示……………………
个结点层个结点层符号表示………………
个结点层个结点层相邻层输出之间的关系……………………
个结点层个结点层相邻层输出之间的关系
……………………
个结点层个结点层PyTorch中所有神经网络模型都继承自torch.nn.Module。PyTorch支持两种定义神经网络的方式:
顺序模型(Sequential):层的顺序堆叠,实现更简单、更方便
forward函数描述数据在网络中的计算过程,即前向传播逻辑,支持更复杂的体系结构。例:神经网络定义例:神经网络定义importtorch.nnasnnclassMyNet(nn.Module):def__init__(self):super(MyNet,self).__init__() =nn.Sequential( nn.Linear(784,128), nn.ReLU(), nn.Linear(128,10) )
defforward(self,x): return(x)importtorch.nnasnnclassMyNet(nn.Module):def__init__(self):super(MyNet,self).__init__() self.fc1=nn.Linear(784,128) self.fc2=nn.Linear(128,10)
defforward(self,x): x=self.fc1(x) x=torch.relu(x) x=self.fc2(x) returnx顺序方式定义网络结果forward函数定义网络结构另一种人工神经元结构:KANKAN:Kolmogorov–ArnoldNetworks/pdf/2404.19756神经网络简介反向传播激活函数抗过拟合优化算法卷积神经网络循环神经网络Transformer大纲同Logistic回归类似,我们可以采用梯度下降法求解神经网络的参数。但在深度神经网络模型中,参数数目众多(如GPT-3.5中有1750亿个参数),如何有效地计算网络参数?
反向传播Recall:梯度下降法初始化网络参数;对每一轮迭代:前向计算模型输出:根据当前网络参数,前向计算网络的输出;计算梯度:根据当前网络输出,计算目标函数对当前网络参数的梯度;更新参数:对每个参数,朝其负梯度方向走一步,步长为学习率;
目标函数NNNNNN……………………NN
目标函数:
交叉熵
神经网络的梯度下降初始参数:……百万数量级的参数……反向传播:更有效地计算梯度网络参数:
很多工具都支持自动微分来计算梯度:TensorFlow,PyTorch,…
矩阵微积分
链式法则神经网络符号表示
反向传播前向计算反向传播…………
误差信号
…………
两项的乘积
…………第1层输入
两项的乘积……
…
…………
…
…
…
…
…
与目标函数有关
对应元素相乘(element-wisemultiplication)
…
…
…
……
………
…
…
……
…
………
…
…
……
…
…
……outputinput
multiplyaconstant
……
……
……
……
…
…
…
………前向/反向对比
反向传播
……
……
……………………
……
反向传播误差信号
反向传播
……………………
……
前向计算反向传播…………MLP的前向计算和反向传播梯度消失&梯度爆炸
梯度爆炸梯度消失
梯度值超出范围:无穷大值对学习率(LR)敏感
LR较大->
更大的权重->
更大的梯度
太小的
LR->
模型训练没有进展
可能需要在训练期间大幅改变
LR梯度爆炸的问题梯度值趋近0训练没有进展
无论如何选择学习率(LR)底层训练基本无效
只有顶层训练有效
网络更深没有更好梯度消失激活函数的性质连续并可导(允许少数点上不可导)的非线性函数可导的激活函数可以直接利用数值优化的方法来学习网络参数激活函数及其导函数要尽可能的简单有利于提高网络计算效率导函数的值域要在一个合适的区间内不能太大也不能太小,否则会影响训练的效率和稳定性。目标函数NNNNNN……………………NN
目标函数:
交叉熵
神经网络的梯度下降初始参数:……百万数量级的参数……反向传播:更有效地计算梯度网络参数:
很多工具都支持自动微分来计算梯度:TensorFlow,PyTorch,…
矩阵微积分
链式法则神经网络符号表示
反向传播前向计算反向传播…………
误差信号
…………
两项的乘积
…………第1层输入
两项的乘积……
…
…………
…
…
…
…
…
与目标函数有关
对应元素相乘(element-wisemultiplication)
…
…
…
……
………
…
…
……
…
………
…
…
……
…
…
……outputinput
multiplyaconstant
……
……
……
……
…
…
…
………前向/反向对比
反向传播
……
……
……………………
……
反向传播误差信号
反向传播
……………………
……
梯度消失&梯度爆炸
梯度爆炸梯度消失
梯度值超出范围:无穷大值对学习率(LR)敏感
LR较大->
更大的权重->
更大的梯度
太小的
LR->
模型训练没有进展
可能需要在训练期间大幅改变
LR梯度爆炸的问题梯度值趋近0训练没有进展
无论如何选择学习率(LR)底层训练基本无效
只有顶层训练有效
网络更深没有更好梯度消失神经网络简介反向传播激活函数抗过拟合优化算法卷积神经网络循环神经网络Transformer大纲激活函数的性质连续并可导(允许少数点上不可导)的非线性函数可导的激活函数可以直接利用数值优化的方法来学习网络参数激活函数及其导函数要尽可能的简单有利于提高网络计算效率导函数的值域要在一个合适的区间内不能太大也不能太小,否则会影响训练的效率和稳定性。激活函数Sigmoid函数:在早期的神经网络中较为普遍逐渐被更简单的ReLU函数取代容易导致梯度消失问题:导数最大值为0.25:反向传播时,返回网络的误差将会在每一层收缩至少75%尾部是饱和的,对应的梯度接近0,导致消失梯度问题非零置中心化的输出会使得其后一层的神经元的输入发生偏偏移(biasshift),并进一步使得梯度下降的收敛速度变慢。神经网络中激活函数的可视化,/fileserver/activationfunctionallinone.html
尾部饱和,梯度小
激活函数Tanh函数:形状和sigmoid函数的形状很像,但tanh函数在坐标系的原点上对称:使用tanh激活函数收敛会更快,减轻消失梯度的现象LSTM中使用
激活函数
激活函数ReLU激活函数的变种死亡ReLU问题带泄露的ReLU带参数的ReLU指数线性单元Rectifier函数的平滑版本激活函数
激活函数
特殊的Swish函数激活函数的选择首选ReLU,速度快,但是要注意学习速率如果ReLU效果欠佳,尝试使用ReLU的改进版本:LeakyReLU、ELU或MaxOut等可以尝试使用tanhSigmoid和tanh在RNN(LSTM、注意力机制等)结构中作为门控或者概率值。其它情况下,减少sigmoid的使用神经网络简介反向传播激活函数抗过拟合优化算法卷积神经网络循环神经网络Transformer大纲抗过拟合策略
深度神经网络通过大量的参数,能拟合各种复杂的数据集。这种独特的能力使其能够在许多复杂任务表现优异。然而模型在学习过程时,如果缺乏控制可能会导致过拟合现象的发生,即模型在训练集上表现很好,但对新的测试数据预测时效果不好。抗过拟合策略数据增广正则及早停止(Early
Stopping)丢弃法(Dropout)机器学习模型的目标函数通常包含两项:
模型不仅在训练集上的损失和要小,而且参数要尽可能接近0正则(Regularization)损失函数(如交叉熵损失,L2损失…)(正则项不考虑偏置)正则项:L2正则:
WeightDecayEarlyStoppingEpochs目标函数TrainingsetTestingsetStopathereValidationsetDropout
在每个Mini-Batch训练时更瘦
测试时没有DropoutDropoutDropout–
直觉解释如果每个人都期望组里其他人好好干活,最后什么也干不好(三个和尚没水喝)。但是,如果你知道你的小伙伴可能会dropout,你就会干得更好,这样才能完成任务。我的partner不好,所以我要好好做测试时,大家都好好干,没有人dropout,因此会得到很好的结果。Dropout:可视为一种集成学习集成学习网络1网络2网络3网络4以不同的结构训练多个模型TrainingSet数据集1数据集2数据集3数据集4集成学习:结合几个模型降低泛化误差的技术但训练太多模型并集成,计算和存储代价太大Dropout:可视为一种集成学习
网络1网络2网络3网络4
平均Dropout提供了一种近似的、低成本集成方法Dropout:可视为一种集成学习带Dropout的训练minibatch1……每次用一个mini-batch训练一个网络这些网络中有些参数是共享的。minibatch2minibatch3minibatch4
Dropout:可视为一种集成学习
带Dropout的测试……平均
≈
?????Dropout被大量利用于全连接网络对大型网络中间层,p=0.5是理想的对于输入层,p应保持在0.2或更低:删除输入数据会对训练产生不利影响在卷积网络隐藏层中由于卷积自身的稀疏化以及稀疏化的ReLu函数的大量使用等原因,Dropout策略在卷积网络隐藏层中使用较少。Dropout小结神经网络简介反向传播激活函数抗过拟合优化算法卷积神经网络循环神经网络Transformer大纲
回忆:梯度下降
深度模型训练梯度下降的改进小批量随机梯度下降自适应梯度方向(动量法)自适应学习率参数初始化批正规化残差连接梯度下降法在有些地方(Hessian矩阵病态)进展缓慢梯度下降目标函数
平坦区域很慢陷入局部最小值
陷入鞍点
动量/惯性物理世界中
……在梯度下降中加入该性质?回忆:朴素梯度下降
动量梯度……
移动方向:动量法
移动量梯度
移动量不仅与梯度有关,还与前一时刻的移动量有关。上一时刻的移动量动量:上一时刻的动量减去当前的梯度
动量法
……
移动量不仅与梯度有关,还与前一时刻的移动量有关。负梯度的指数衰减平均
动量法目标函数𝜕J∕𝜕𝑤=0仍然不能保证到达全局最小值,butgivesomehope……
动量真正的移动量下降初期时,下降方向一致,能加速下降中后期时,在局部最小值来回震荡时,使得更新幅度增大,跳出陷阱。在梯度改变方时,能够减少更新。Nesterov动量法
SGD
with
NesterovMomentum(涅斯捷罗夫动量法)
不计算当前位置的梯度,而是计算如果按照速度方向走了一步,那个时候的梯度,再与速度一起计算更新方向
NAG:梯度下降:动量法:动量法比较梯度下降动量法NAG
收敛快迭代次数比梯度下降法少一半尤其前几次迭代参数更新量大最后阶段搜索范围越过了最佳位置(学习率较大),这时两次更新方向相反,动量法会使得更新幅度减小,再慢慢回到最佳位置提前预知目标函数的信息,相当于多考虑了目标函数的二阶导数信息,类似牛顿法的思想,因此搜索路径更合理,收敛速度更快动量法比较梯度下降动量法NAG
竖直方向上的移动更加平滑,且在水平方向上更快逼近最优解,因为此时竖直方向的当前梯度与之前的梯度方向相反相互抵消,移动的幅度小提前预知目标函数的信息,相当于多考虑了目标函数的二阶导数信息,类似牛顿法的思想,因此搜索路径更合理,收敛速度更快目标函数在竖直方向比在水平方向的斜率的绝对值更大,梯度下降法中参数在竖直方向比在水平方向移动幅度更大,在长轴上呈“之”字形反复跳跃,缓慢向最小值逼近。(不同参数的梯度范围差异大,通常是因为特征没有去量纲)学习率
学习率对训练的影响目标函数变化太慢:学习率太低目标函数出现NaN:通常意味着学习率太高建议:[1e-3...1e-5]自适应学习率
AdaGrad经常更新的参数学习率较小,尽量不被单个样本影响较大偶尔更新的参数学习率大一些,希望能从偶然出现的样本上多学一些使用二阶动量(迄今为止所有梯度值的平方和)来度量历史更新频率存在问题:梯度会累加得越来越大,学习率衰减:学习速率衰减过快减缓陡峭区域的下降过程、加速平坦区域的过程
为了缓解Adagrad学习率衰减过快,RMSprop改变梯度累积为指数衰减的移动平均以丢弃遥远的历史。RMSProp
AdaGrad:RMSprop:Adam
Momentum
AdaGrad/RMSProp各种改进的梯度下降法的可视化结果自适应学习率类的算法(AdaGrad,AdaDelta和RMSprop)的优化路径直接走向了右边的极小值点,但是动量梯度法(绿色曲线)和NAG(紫色曲线)均是先走到了另一处狭长的区域,再转向极小值点,且NAG的纠正速度快于动量梯度法。SGD(红色曲线)在鞍点处停止动量梯度法(绿色曲线)和NAG(紫色曲线)在鞍点处停留一会后逐渐脱离鞍点,三种自适应学习率算法则能够快速摆脱鞍点。鞍点:一阶导数等于0但是海森矩阵的特征值有正有负优化方法
Adam通常是一个很好的选择。学习率下降的SGD+Momentum通常比Adam好一点点,但需要仔细调整前期用Adam,享受Adam快速收敛的优势后期切换到SGD,慢慢寻找最优解更多更新的新优化器可以参考:Anupdatedoverviewofrecentgradientdescentalgorithms–JohnChen–MLatRiceUniversity(johnchenresearch.github.io)深度模型训练梯度下降的改进小批量随机梯度下降自适应梯度方向(动量法)自适应学习率参数初始化批正规化残差连接IoffeS,SzegedyC.Batchnormalization:Acceleratingdeepnetworktrainingbyreducinginternalcovariateshift[J].arXivpreprintarXiv:1502.03167,2015.输入输出方差相等:将输出值强行做一次标准化和线性变换回忆:特征标准化输入数据做标准化处理:每个特征的均值为0、标准差为1标准化:各个特征的分布相近
更容易训练出有效的模型
在深层神经网络中,即使输入数据已做标准化,训练中模型参数的更新依然很容易造成输出的剧烈变化
难以训练出有效的模型隐含层?
Layer1
……特征缩放特征缩放?特征缩放?小的学习率也有用,但训练会更慢。困难:统计量在训练中会变化。Batchnormalization在小批量上进行标准化(这里称为归一化normalization),不断调整神经网络中间输出,从而使整个神经网络在各层的中间输出的数值更稳定。Batchnormalization
Batchnormalization需要在较大的batch
size上才能工作。对z、a做BN均可Batchnormalization
SigmoidSigmoidSigmoid
如何反向传播?
Batchnormalization
BatchNormalization#BNmodelbn_model=nn.Sequential(nn.Linear(input_size,100),#1
myBatchNorm2d(100),nn.Sigmoid(),nn.Linear(100,100),#2
myBatchNorm2d(100),nn.Sigmoid(),nn.Linear(100,100),#3
myBatchNorm2d(100),nn.Sigmoid(),nn.Linear(100,10)#out)
Batchnormalization
Acc更新
……
可以采用更大的学习率、收敛速度更快受初始化的影响变弱减少对正则化的依赖Batchnormalization的好处
/abs/150203167预训练预训练(pre-training)是一种非常有效的神经网络的初始化方法。非监督:贪心地逐层训练自编码器得到初始权重,然后再做细调(不再常用)类似问题中已经训练好的模型
若数据集与预训练模型采用的训练数据集非常相似,且新数据集较小,只要在预训练模型最顶层输出特征上再训练一个线性分类器即可
若新数据集较大,可以使用一个较小的学习速率对预训练模型的最后几个顶层进行调优。
如果新数据集与预训练模型采用的训练数据集相差较大但拥有足够多的数据,则需要对网络的多个层进行调优,同样也要使用较小的学习速率。
最坏的情况是新数据集不仅较小,而且与原始数据集相差较大,此时基于较为靠前的特征层就使用SVM分类器可能是相对较好的方案。模型初始化建议使用ReLU(无BN)激活函数时,最好选用He初始化方法,将参数初始化为服从高斯分布或者均匀分布的较小随机数。使用BN时,减少了网络对参数初始值尺度的依赖,此时使用较小的标准差(如0.01)的高斯分布进行初始化即可。借助预训练模型中参数作为新任务参数初始化的方式也是一种简便易行且十分有效的模型参数初始化方法。深度模型训练梯度下降的改进小批量随机梯度下降自适应梯度方向(动量法)自适应学习率参数初始化批正规化残差连接模型的深度
能更深吗?模型的深度退化:深度CNN网络达到一定深度后再一味地增加层数并不能带来进一步的分类性能提高主要原因:梯度在传播过程中会逐渐消失Overfitting?没训练好残差块深度可达1000+层短路连接(shortcutconnections)
优化残差映射比直接优化原始映射更容易
处理梯度消失问题
集成学习
不同的残差块TryeverypermutationTryeverypermutation尝试每一个排列相同块结构,例如与VGG
或
GoogleNet使用块结构残差块连接可增加表示能力池化
/
步幅
-
减少维度批量归一化残差网络(ResNet)DenseNet(Huangetal.,2016)ResNet结合
x
和
f(x)DenseNet
使用更高阶'泰勒系列'扩展偶尔需要降低分辨率(过渡层)稠密连接网络(DenseNet)神经网络简介反向传播激活函数抗过拟合优化算法卷积神经网络循环神经网络Transformer大纲例:图片分类使用好的相机,RGB图像:36M
个元素使用
100
个神经元单隐含层的
MLP
模型:
36
亿个参数对图像,为什么要用CNN?36M特征100个
神经元
3.6B参数=14GB有些模式比整个图像小得多对图像,为什么要用CNN?“鸟喙”
检测器神经元不需要看整幅图像就能发现模式与一个小区域连接所需的参数更少同一个模式会在图像中不同的区域出现。对图像,为什么要用CNN?“位于图像左上角的鸟喙”
检测器“位于图像中部的鸟喙”
检测器可以用同一组参数几乎做同样的事情对像素进行下采样(Subsampling)不影响目标。对图像,为什么要用CNN?下采样鸟鸟通过下采样可以让图像更小网络处理图像需要的参数更少基本结构:
卷积层(ConvolutionalLayer)
激活层
池化层(PoolingLayer)简化网络(基于任务的先验知识)卷积1-1-1-11-1-1-11滤波器1-11-1-11-1-11-1滤波器2……要学习的网络参数矩阵矩阵每个滤波器检测很小的模式(3x3).性质11000010100100011001000100100100010106x6图像
100001010010001100100010010010001010卷积6x6图像1-1-1-11-1-1-11滤波器13-1步幅(stride)=1
1000010100100011001000100100100010106x6图像1-1-1-11-1-1-111:2:3:…7:8:9:…13:14:15:…只与9个输入连接,不是全连接4:10:16:1000010000113参数更少!滤波器11000010100100011001000100100100010106x6图像1-1-1-11-1-1-111:2:3:…7:8:9:…13:14:15:…4:10:16:1000010000113参数更少!滤波器1-1权重共享参数再减少!100001010010001100100010010010001010卷积1-1-1-11-1-1-11滤波器13-36x6图像步幅(stride)=2
100001010010001100100010010010001010卷积1-1-1-11-1-1-11滤波器13-1-3-1-310-3-3-3013-2-2-1stride=1性质26x6图像1000010100100011001000100100100010106x6图像卷积3-1-3-1-310-3-3-3013-2-2-1-11-1-11-1-11-1滤波器2-1-1-1-1-1-1-21-1-1-21-10-43对每个滤波器重复同样的过程stride=14x4图像特征图(Feature
Map)滤波器检测某种特异性特征
不同的权重组合,检测不同的特征10000000100000001000000010000000100000001000000017x7
卷积核1卷积:加权求和=416滤波器检测某种特异性特征不同的权重组合,检测不同的特征00000010000010000010000010000010000010000010000007x7
卷积核2卷积:加权求和=1110CNN:学习对特定任务有用的卷积核卷积神经元滤波器相同每个神经元只考虑感受野检测小模式的一系列滤波器不同感受野的神经元共享参数每个滤波器和整个输入进行卷积卷积带来的好处全连接层大部分模式比整个图像小得多感受野同一模式会在不同区域出现参数共享卷积层模型偏差大(对图像)各种信息混在一起,很难精通具体模式填充:在输入周围添加额外的行/列填充(Padding)
填充(Padding)
彩色图像1000010100100011001000100100100010101000010100100011001000100100100010101000010100100011001000100100100010101-1-1-11-1-1-11滤波器1-11-1-11-1-11-1滤波器21-1-1-11-1-1-111-1-1-11-1-1-11-11-1-11-1-11-1-11-1-11-1-11-1彩色图像每个通道都有一个卷积核每个通道都有一个卷积核,结果是所有通道卷积结果的和多个输入通道
多个输入通道&多个输出通道
1-D
文本
语音
时间序列1-D和3-D卷积
3-D
视频
医学图像空间:
1x1卷积多种尺寸卷积:bottleneck空洞卷积可变形卷积通道:
分组卷积
深度可分离卷积
通道洗牌各种花式卷积1x1卷积
不识别空间模式,只是融合通道4个路径从不同方面提取信息,然后拼接作为输出通道不同尺寸卷积核:inceptionv2用3个不同的空间大小的卷积提取不同空间大小的特征使用池化提取空间信息为每个通道分配各种填充,使得输出的与输入相同的宽度/高度
与单个3x3或5x5卷积层相比,Inception块具有更少的参数和更低的计算复杂度
不同功能混合(多样的功能类)卷积核计算高效(良好的泛化)Inception块#
参数
浮点运算
FLOPSInception0.16M128M3x3卷积0.44M346M5x5卷积1.22M963M卷积和最大汇聚都是等宽的。空洞卷积:通过给卷积核插入“空洞”来变相地增加其大小空洞卷积标准卷积核:长方形或正方形可变形卷积:卷积核形状可变,只看到感兴趣的图像区域可变形卷积核一些轻量级网络采用分组卷积分组卷积输入通道数:N分组卷积的group数目:M将channel分成M个group每个group对应N/M个channel,与之独立连接。各个group卷积完成后输出串联分组卷积不分组卷积Depthwise卷积:Xception标准卷积:用到所有通道深度可分离卷积(Depthwise卷积)减少参数每个通道进行各自的卷积对各通道卷积结果进行标准的1×1跨通道卷积操作例:通道数为3,输出通道数为256标准卷积:3×3×256
=
6,912
DW卷积:1×3×3×3+3×1×1×256
=
795分组卷积中每组的通道数固定,组间特征没有融合ShuffleNet:每次叠加分组卷积之前,都进行一次通道洗牌(shuffle)随机分组:ShuffleNet
池化层(PoolingLayer)MaxPooling3-1-3-1-310-3-3-3013-2-2-1-11-1-11-1-11-1滤波器2-1-1-1-1-1-1-21-1-1-21-10-431-1-1-11-1-1-11滤波器1MaxPooling1000010100100011001000100100100010106x6图像3013-11302x2图像每个滤波器为一个通道(channel)更小的图像ConvMaxPooling整个CNNFullyConnectedFeedforwardnetworkcatdog……ConvolutionMaxPoolingConvolutionMaxPoolingFlatten核的大小、滤波器的数目、步幅都是需要确定的超参数。可重复多次:深度更多应用:PlayingGoNetwork(19x19个
位置)下一次移动19x19的矩阵(图像)黑:1白:-1空:0可以采用全连接神经网络但CNN性能更好有些模式比整幅图像小的多同样的模式会在不同的位置出现PlayingGo为什么要用CNN?AlphaGo的第一层:5x5对像素进行下采样不会改变目标?PlayingGo为什么要用CNN?没有MaxPooling更多应用:语音:文本Sourceofimage:/viewdoc/download?doi=03.6858&rep=rep1&type=pdf?卷积层
与稠密层相比,模型复杂度降低(局部连接、权重共享)
有效地检测空间模式
计算复杂度高
通过填充,步幅和通道控制输出形状最大
/
平均池化层
降低分辨率
提供一定程度的平移不变性卷积小结例:图片分类的CNN网络结果神经网络简介反向传播激活函数抗过拟合优化算法卷积神经网络循环神经网络Transformer大纲输入是一个向量输入是一系列向量(序列)序列建模模型类别/标量模型类别/多个标量/多个向量(长度可能变化)网络怎样建模序列的上下文信息?隐含状态:存储与过去的相关信息按时间展开单个神经元循环神经网络(RecurrentNeuralNetwork,RNN)
ht-1ht
xt
…
…
模型与时间无关(时间上参数共享、时不变系统)
RecurrentNeuralNetwork
h0h1
x1
h2
x2
h3
x3……
长时依赖LongShort-termMemory(LSTM)
遗忘门
取值为0~1之间,模拟门的开关因记忆能力有限,记住重要的,忘记无关紧要的。
输入门新的单元状态:记忆/遗忘历史信息、增加新的信息单元状态更新因记忆能力有限,记住重要的,忘记无关紧要的。
输出
LSTM的变种:窥视孔连接(peepholeconnections)
LSTM的变种:GRU(GatedRecurrentUnit)重置门:历史信息保留多少,短期依赖(要不要忽略之前的记忆)更新门:长期依赖(要不要更新长期记忆)1.在大部分NLP任务上→GRU≈LSTM2.长距离依赖特别强→LSTM稍胜LSTM
orGRU?想要…请选择长距离依赖超强能力LSTM更快的速度、更少的参数
GRU实现简单、训练稳定GRU超强记忆管理(高端任务)LSTM小模型优先,设备端运行GRU但训练RNN通常不是很好训练语言建模上的实验结果幸运有时TotalLossBackpropogateThroughTimeWhy?11y101wy201wy301wy1000……
1111
小的学习率?
大的学习率?ToyExample=w999
循环神经网络在时间维度上非常深!
梯度消失或梯度爆炸
如何改进?
梯度爆炸问题梯度截断
梯度消失问题改进模型:LSTM,GRU长期依赖问题神经网络简介反向传播激活函数抗过拟合优化算法卷积神经网络循环神经网络Transformer大纲CNN:局部上下文RNN:能保存全部历史信息,但一个隐含状态表达的信息有限,且不能并行上下文建模FCFCFCFCIsawasaw窗口
输入或隐含层185自注意力(Self-attention)天涯若比邻自注意力(Self-attention)
相关?
在序列中找到相关的向量
相关性计算187
点积
加法
querykeyattentionscore
188
Soft-max
189
根据注意力分数提取信息
190
输入或隐含层并行191
192
=
=
=
193
194
195softmax
=
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 2026党校的财务面试题及答案
- 2026法务经理面试题及答案
- 2026工地食堂面试题及答案
- 2026关于开空调面试题及答案
- 2026红庆河煤矿面试题及答案
- 2026年造纸设备巡检试题及答案
- 公考概率试题及答案
- 搞笑间谍测试题及答案
- 黑河大棚施工方案
- 肺栓塞患者的心理护理
- 教育数字化转型背景下职业教育人才培养模式改革
- (高清版)DG∕TJ 08-2314-2020 建筑同层排水系统应用技术标准
- 2025年第三届全国技能大赛竞赛(餐厅服务赛项)省选拔赛考试题库(含答案)
- 2025年安徽九华山旅游发展股份有限公司招聘66人笔试参考题库附带答案详解
- 交通设计(Traffic Design)知到智慧树章节测试课后答案2024年秋同济大学
- 2025年江苏江南水务股份有限公司招聘笔试参考题库含答案解析
- 研学旅行概论课程培训课件
- 超星阅读平台登录入口
- 皮下注射操作并发症及处理
- DB11∕T 1424-2017 信息化项目软件运维费用测算规范
- 2021年中国邮政储蓄银行综合柜员岗位资格(初级)模拟考试(一)
评论
0/150
提交评论