54 循环神经网络 RNN【动手学深度学习v2】

54 循环神经网络 RNN【动手学深度学习v2】

深度学习学习笔记
学习视频:https://www.bilibili.com/video/BV1D64y1z7CA/?spm_id_from=333.880.my_history.page.click&vd_source=75dce036dc8244310435eaf03de4e330

对序列化数据集的训练网络,通常称为RNN。

潜变量自回归模型
xt与xt-1和ht相关
在这里插入图片描述
循环神经网络
有一个隐变量ht,根据ht输出ot,ht用的是xt-1的东西。
在这里插入图片描述
输入“你”给到隐变量预测出下一个“好”字,输入“好”给到隐变量预测出“,”…
在这里插入图片描述

ht数据来自于xt-1,xt用来更新ht使他到下一个单元。与多层感知机不同就是有个时间轴。φ() 就是一个激活函数,Whh存的是时序信息。
在这里插入图片描述
困惑度
衡量模型的好坏。语言模型实际上看做为一个分类模型,输出是判断下一个词,用m个类别的分类问题,可以用交叉熵,做n次预测也就是n次分类得到n次的平均来衡量模型的好坏。

困惑度是此基础上做了一个指数来衡量,π就数值变大了;直观上更好理解。
在这里插入图片描述

梯度裁剪
迭代时要做T个时间步上的梯度,反向传播时会做O(T)次的矩阵乘法,会导致数值不稳定(梯度爆炸),于是使用梯度裁剪能够有效预防梯度爆炸,假设梯度 g(所有层的梯度放在一起),len(g) g的长度超过了θ,就将g长度降回θ,否则不变乘以1。避免g太大,有效避免梯度爆炸。
在这里插入图片描述
在这里插入图片描述

总结
循环神经网络的输出取决于当下的输出和前一个时间的隐变量,隐变量是用来存历史信息(Whh存过去的历史信息和下一个历史信息的联系),RNN是一个隐变量模型,告诉你一个隐变量,然后怎样去更新。
使用困惑度来衡量语言模型的好坏,每次预测有多少个候选词,平均候选词的个数。
RNN一般要用到梯度剪裁来避免梯度爆炸。
在这里插入图片描述
QA

  1. 循环神经网络和递归神经网络不是一个东西,递归神经网络可以看出树神经网络,循环神经网络是个平的网络。
  2. NLP现在在用transformer刷预训练模型
  3. 中文基于字和词都可以,英语中很多是基于字根。
  4. tracking 追踪视频里的目标,已经很成熟了。
  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值