2.RNN相关基础知识

2. RNN 相关技术

1. 潜变量自回归模型与RNN

  • RNN用潜变量 ht 总结历史信息,适合处理序列数据。

  • 隐藏状态更新公式

    ht=ϕ(Whhht1+Whxxt+bh)
    • ht:当前时间步的隐藏状态(记忆)
    • ht1:上一个时间步的隐藏状态(过去的记忆)
    • xt:当前输入(如词向量)
    • Whh,Whx:可学习的权重矩阵,用于融合历史和当前输入
    • b:偏置项
    • ϕ:激活函数(如 tanh 或 ReLU),引入非线性
    • 如果去掉 Whhht1,RNN就退化成普通的MLP。
  • RNN 把过去的记忆 ht1 和当前输入 xt 融合,经过变换和激活函数,得到新的记忆 ht。这就是它记住上下文的方式。

  • 输出层公式ot=Whoht+bo

  • 训练目标:用当前词 xt 和前一状态 ht1 计算 ht,再预测下一个词 xt+1,损失函数比较 otxt+1 的差异。

2. 困惑度(Perplexity)

  • 衡量语言模型性能,常用平均交叉熵
π=1ni=1nlogp(xi|x1,...,xi1)
  • 通常用 exp(π) 作为困惑度(perplexity)指标,表示模型对下一个词的不确定性,越小越好。
  • 完美模型:perplexity = 1
  • 越大越差(极端情况趋于无穷大)

3. 梯度裁剪(Gradient Clipping)

  • RNN 反向传播时,长序列会导致梯度爆炸或消失。
  • 梯度裁剪可有效防止梯度爆炸:
gmin(1,θg)g

如果梯度范数超过阈值 θ,则按比例缩放到阈值。(i.e. 当 |g|>θ 时才裁剪)

4. RNN常见结构

  • One to one:MLP(简化版,单输入单输出)
  • One to many:文本生成
  • Many to one:文本分类
  • Many to many:机器翻译、序列标注、问答等

4. 总结

  • RNN 能处理序列相关性,其输出当前输入历史隐状态共同决定。
  • 语言模型中,RNN根据当前词预测下一个词。
  • 困惑度(perplexity)是衡量语言模型效果的关键指标。

参考资料


“觉得不错的话,给点打赏吧 ୧(๑•̀⌄•́๑)૭”

微信二维码

微信支付

支付宝二维码

支付宝支付

2.RNN相关基础知识
http://neurowave.tech/2025/04/17/5-2-RNN-RNN相关基础知识/
作者
Artin Tan
发布于
2025年4月17日
更新于
2025年6月25日