机器学习与应用-第12讲-循环神经网络1.pptx

机器学习与应用-第12讲-循环神经网络1.pptx

  1. 1、本文档共17页,可阅读全部内容。
  2. 2、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
  3. 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载
  4. 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多
序列数据建模 让神经网络具有记忆功能 循环层的原理 输出层的原理 完整的网络结构 深层网络 训练算法简介 训练算法的推导;时间序列预测问题 有些问题要处理的数据是一个时间序列,即一个数列,每个时刻有一个值,一般情况下为一个向量 各个时刻的值之间有关联 对于自然语言处理,一句话中的所有词就是一个时间序列,每个词和前面的词有关,即上下文语境 算法需要根据输入序列数据来产生预测值,即接受各个时刻的输入 ,然后产生预测值。这类问题称为序列预测问题 典型例子 语音识别 - 输入一段语音信号,即各个时刻的声音信号值,输出声音对应的文字 自然语言处理 - 输入一句话,输出这句话的意图 面临的问题 序列的长度不固定 算法要依次接收每个时刻的输入值,然后产生输出值,因此需要有记忆功能,即能记住之前的信息;实际例子-句子填空 现在已经下午2点了,我们还没有吃饭,非常饿,赶快去餐馆__;让神经网络具有记忆功能 全连接神经网络,卷积神经网络,自动编码器,受限玻尔兹曼机,每次预测的时候只接受一个固定长度的输入向量,产生一个输出值 神经网络各次运行之间没有关系,即不具有记忆功能 如何才能具有记忆功能? 利用之前时刻的值,将之前时刻的值保存下来,供后面的时刻使用;循环层 记住网络在上一个时刻运行时产生的状态值,并将该值用于当前时刻输出值的生成 使用加法和权重来综合当前时刻的输入值,上一个时刻的状态值 这是一个递推的数列 使用激活函数的原因和全连接神经网络,卷积神经网络相同 和全连接神经网络相比,唯一的不同是记住了本层神经元在上一时刻的输出值(状态值),供本时刻使用;循环层的状态值体现了记忆功能,按照时间线展开之后,它包含了从1时刻开始,到t时刻为止的信息 注意,状态值的权重矩阵不随着时间变化,各个时刻的值是相同的,这样做的目的: 减少参数的数量 体现记忆功能 循环层的每个神经元当前时刻的状态值,与本层其他所有神经元上一时刻的状态值都有关系,而不只和本神经元上一时刻的状态值有关;输出层的原理 输出层以??环层的输出值作为输入并产生循环神经网络最终的输出,它不具有记忆功能 变换函数的类型根据任务而定,对于分类任务一般选用softmax函数,输出各个类的概率;完整的网络结构 一个简单的循环神经网络,这个网络有一个输入层,一个循环层,一个输出层 循环层的输出按照下面的公式计算 输出层的计算公式为 ;按照时间轴进行展开 当输入为 时,网络的输出为 当输入为 时,网络的输出为 其他时刻以此类推 t时刻的输出值和 都有关 循环神经网络通过递推的计算实现了记忆功能;深层网络 第一种方案称为Deep Input-to-Hidden Function,它在循环层之前加入多个普通的全连接层,将输入向量进行多层映射之后再送入循环层进行处理 第二种方案是Deep Hidden -to-Hidden Transition,它使用多个循环层,这和前馈型神经网络类似,唯一不同的是计算隐含层输出的时候需要利用本隐含层上一时刻的值 第三种方案是Deep Hidden -to-Output Function,它在循环层到输出层之间加入多个全连接层,这和第一种情况类似 由于循环层一般用tanh作为激活函数,层次过多之后会导致梯度消失问题 和残差网络类似,可以采用跨层连接的方案;训练算法 循环神经网络的输入是序列数据,每个训练样本是一个时间序列,包含多个相同维数的向量 解决循环神经网络训练问题的算法是Back Propagation Through Time算法,简称BPTT算法 每个训练样本是一个时间序列,同一个训练样本前后时刻的输入值之间有关联,每个样本的序列长度可能不相同 训练时先对这个序列中每个时刻的输入值进行正向传播,再通过反向传播计算出参数的梯度值并更新参数;只有一个循环层和一个输出层的循环神经网络正向传播时的变换为 单个样本是一个时间序列,每个时刻都有损失,因此损失函数定义为沿着时间轴累加 t时刻的损失函数 循环神经网络的反向传播是基于时间轴进行的,需要计算所有时刻的总损失函数对所有参数的梯度,然后用梯度下降法进行更新 循环神经网络在各个时刻的权重、偏置都是相同的;考虑前面的简单网络,按照时间轴展开后为 对比全连接神经网络的展开公式;首先计算输出层偏置项的梯度 如果选择softmax作为输出层的激活函数函数,交叉熵作为损失函数,上面的梯度为 对权重矩阵的梯度为;下面考虑循环层 根据之前的结论 定义误差项为 在整个损失函数中,比t更早的时刻的损失函数不含有 ,因此与它无关; 由 决定,和它直接相关;比t晚的时刻的都与 有关。因此有 由于 因此有 ;根据链式法则 类似的有 对偏置项的梯度为;BPTT

文档评论(0)

优美的文学 + 关注
实名认证
内容提供者

优美的文学优美的文学优美的文学优美的文学优美的文学

1亿VIP精品文档

相关文档