循环神经网络模型

本文深入探讨了序列模型和语言模型的概念,强调了马尔科夫假设在建模中的应用。接着,详细介绍了循环神经网络(RNN)在语言模型中的运用,解释了困惑度和梯度裁剪的重要性。此外,还对比了门控循环单元(GRU)和长短期记忆网络(LSTM)在处理序列信息时的不同之处,强调了它们在记忆管理和信息选择上的机制。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

循环神经网络




提示:以下是本篇文章正文内容,下面案例可供参考

一、序列模型

统计工具

  1. 在时间 t t t观察到 x t x_t xt,那么得到 T T T个不独立的随机变量 ( x 1 , x 2 , . . . , x T ) ∽ p ( X ) (x_1,x_2,...,x_T) \backsim p(\bf{X}) (x1,x2,...,xT)p(X)
  2. 使用条件概率展开 p ( a , b ) = p ( a ) p ( b ∣ a ) = p ( b ) p ( a ∣ b ) p(a,b)=p(a)p(b|a)=p(b)p(a|b) p(a,b)=p(a)p(ba)=p(b)p(ab)
    推广到 T T T个随机变量有
    p ( X ) = p(\bf{X})= p(X)= p ( x 1 ) ⋅ p ( x 2 ∣ x 1 ) ⋅ p ( x 3 ∣ x 1 , x 2 ) ⋅ . . . p ( x T ∣ x 1 , . . . x T − 1 ) p(x_1)\cdot p(x_2|x_1)\cdot p(x_3|x_1,x_2)\cdot ...p(x_T|x_1,...x_{T-1}) p(x1)p(x2x1)p(x3x1,x2)...p(xTx1,...xT1)
    在这里插入图片描述
    或者反过来
    p ( X ) = p(\bf{X})= p(X)= p ( x T ) ⋅ p ( x T − 1 ∣ x T ) ⋅ p ( x T − 2 ∣ x T , x T − 1 ) ⋅ . . . p ( x T ∣ x 2 , . . . x T ) p(x_T)\cdot p(x_{T-1}|x_T)\cdot p(x_{T-2}|x_T,x_{T-1})\cdot ...p(x_T|x_2,...x_T) p(xT)p(xT1xT)p(xT2xT,xT1)...p(xTx2,...xT)
    在这里插入图片描述
    反序的意义,例如知道未来的事情退过去的事情,物理上不一定可行是指如果未来的事情依赖于过去的事情而产生,那么就没法反推(这一点我还没有理解,既然未来的事情是作为已知条件,过去有和未来有联系,怎么就无法反推出过去的事情呢?)
  3. 对条件概率建模
    p ( x T ∣ x 1 , . . . x t − 1 ) = p ( x t ∣ h ( x 1 , . . . , x t − 1 ) ) p(x_T|x_1,...x_{t-1}) = p(x_t|h(x_1,...,x_{t-1})) p(xTx1,...xt1)=p(xth(x1,...,xt1))
    给定 t − 1 t-1 t1个数据,求第 t t t个数据,假设用前 t − 1 t-1 t1个数据建立一个函数 h h h, h h h就是一个模型,通过 h t − 1 h_{t-1} ht1 h t h_t ht。通过对前面的数据建模,预测后一个数据,称为自回归模型,核心是求 h h h
  4. 如何求解 f f f
    方案A-马尔科夫假设
    假设当前数据只跟 τ \tau τ个过去数据点相关
    P ( x T ∣ x 1 , . . . x t − 1 ) = P ( x T ∣ x t − τ , . . . x t − 1 ) = P ( x t ∣ h ( x t − τ , . . . , x t − 1 ) ) P(x_T|x_1,...x_{t-1}) =P(x_T|x_{t-\tau},...x_{t-1})= P(x_t|h(x_{t-\tau},...,x_{t-1})) P(xTx1,...xt1)=P(xTxtτ,...xt1)=P(xth(xtτ,...,xt1))
    方案B-潜变量模型
    引入潜变量 h t h_t ht来表示过去的信息 h t = g ( h t − 1 , x t − 1 ) h_t=g(h_{t-1},x_{t-1}) ht=g(ht1,xt1)
    这样 x t ^ = P ( x t ∣ h t , x t − 1 ) \hat{x_t}=P(x_t|h_t,x_{t-1}) xt^=P(xtht,xt1)
    在这里插入图片描述

二、语言模型

1.语言模型简介

  • 给定文本序列 x 1 , . . . , x T x_1,...,x_T x1,...,xT, 语言模型的目标是估计联合概率 p ( x 1 , . . . x T ) p(x_1,...x_T) p(x1,...xT)
  • 它的作用包括:做预训练模型(egBERT,GPT-3);生成文本,给定前面几个词,不断的使用 x t ∽ p ( x t ∣ x 1 , . . . , x t − 1 ) x_t \backsim p(x_t|x_1,...,x_{t-1}) xtp(xtx1,...,xt1) ; 判断多个序列中那个更常见,e.g “to recognize speech” vs “to wreck a nice beach”

2.使用计数来建模

  • 假设序列长度为2,我们预测 p ( x , x ′ ) = p ( x ) p ( x ′ ∣ x ) = n ( x ) n n ( x , x ′ ) n ( x ) p(x, x^\prime) = p(x)p(x^\prime|x) = \frac{n(x)}{n}\frac{n(x,x^\prime)}{n(x)} p(x,x)=p(x
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值