八、循环神经网络

8.1. 序列模型

在时间t观察到,那么得到T个不独立的随机变量
使用条件概率展开
notion image
马尔科夫模型假设当前只跟最近少数数据相关,从而简化模型
 
 
notion image
潜变量模型使用港变量来概括历史信息
 

8.2. 文本预处理

读取数据集
词元化
词表
构建一个字典,通常也叫做词表(vocabulary), 用来将字符串类型的词元映射到从00开始的数字索引中

8.3. 语言模型和数据集

语言模型
给定文本序列,语言模型的目标是估计联合概率
notion image
notion image
在实际中,最流行的词看起来很无聊, 这些词通常被称为停用词(stop words)
读取长序列数据
  • 随机采样
    • 在随机采样中,每个样本都是在原始的长序列上任意捕获的子序列。
      在迭代过程中,来自两个相邻的、随机的、小批量中的子序列不一定在原始序列上相邻。
  • 顺序分区
    • 保证两个相邻的小批量中的子序列在原始序列上也是相邻的
      这种策略在基于小批量的迭代过程中保留了拆分的子序列的顺序,因此称为顺序分区。

8.4. 循环神经网络 RNN

无隐状态的神经网络

只有单隐藏层的多层感知机MLP
notion image

有隐状态的循环神经网络

notion image
 

困惑度(Perplexity)

困惑度的最好的理解是“下一个词元的实际选择数的调和平均数”
  • 在最好的情况下,模型总是完美地估计标签词元的概率为1。 在这种情况下,模型的困惑度为1。
  • 在最坏的情况下,模型总是预测标签词元的概率为0。 在这种情况下,困惑度是正无穷大。
  • 在基线上,该模型的预测是词表的所有可用词元上的均匀分布。 在这种情况下,困惑度等于词表中唯一词元的数量。
 

梯度剪裁

迭代中计算这个时间步上的梯度,在反向传播过程中产生长度为 的矩阵乘法链,导致数值不稳定
梯度裁剪能有效预防梯度爆炸,如果梯度长度超过,那么拖影回长度
 
Loading...