人工智能/机器学习基础知识——循环神经网络

本文详细介绍了循环神经网络(RNN)的基本结构,包括标准RNN和RNNCell,以及其面临的梯度问题。重点讨论了LSTM的细胞状态、遗忘门、输入门和输出门,以及如何解决长期依赖问题。此外,还涵盖了双向LSTM和加入注意力机制的Bi-LSTM,以及GatedRecurrentUnit(GRU)。文章最后提到了序列到序列学习和束搜索在生成模型中的应用。

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

Recurrent Neural Network(RNN)

CSDN

循环神经网络

  • 下图为标准的RNN结构。RNN不断接收序列输入 X i X_i Xi,输出记忆向量 h i h_i hi

在这里插入图片描述

  • 下图为标准的RNN Cell内部结构。RNN Cell之间前向传播公式为:
    h t = t a n h ( X t + h t − 1 ) h_t = tanh(X_t + h_{t-1}) ht=tanh(Xt+ht1)

在这里插入图片描述

  • 缺点
    1. 梯度爆炸 & 梯度消失
    2. 长期依赖问题(Long-Term Dependencies)

在这里插入图片描述

在这里插入图片描述

梯度计算

随时间反向传播

BackPropagation Through Time,BPTT

实时循环学习

Real-Time Recurrent Learning,RTRL

Long Short-Term Memory(LSTM)

Paper : LONG SHORT-TERM MEMORY

Paper : Understanding LSTM Networks

简书

长短时记忆

  • 下图为标准的LSTM Cell内部结构。

在这里插入图片描述

在这里插入图片描述

  • 细胞状态(Cell State):贯穿整个Cell却只有很少分支,保证信息不变的流过整个RNNs

在这里插入图片描述

  • 遗忘门(Forget Gate):决定细胞状态需要丢弃哪些信息。它通过 h t − 1 h_{t-1} ht1 X t X_t Xt之间Concat并经过Sigmoid激活函数来判断细胞状态 C t − 1 C_{t-1} Ct1中的信息保留或丢弃多少。 f t f_t ft为0表示完全不保留,为1表示完全保留。

在这里插入图片描述

  • 输入门(Input Gate):决定给细胞状态添加哪些新的信息。首先,通过 h t − 1 h_{t-1} ht1 X t X_t Xt的Concat通过Sigmoid生成一个[0, 1]范围的向量,用来控制新信息的获取多少。然后再将 h t − 1 h_{t-1} ht1 X t X_t Xt的Concat通过tanh生成新的候选细胞信息 C ~ t \tilde{C}_t C~t,这些信息将会被有选择地更新到细胞状态中。

在这里插入图片描述

  • 更新细胞状态:更新旧的细胞状态 C t − 1 C_{t-1} Ct1,变为新的细胞状态 C t C_t Ct。通过遗忘门选择忘记旧细胞状态 C t − 1 C_{t-1} Ct1的一部分,通过输入门选择添加候选细胞信息 C ~ t \tilde{C}_t C~t的一部分,最终得到新的细胞状态 C t C_t Ct

在这里插入图片描述

  • 输出门(Output Gate):决定由细胞状态输出哪些信息。先根据 h t − 1 h_{t-1} ht1 X t X_t Xt的Concat通过Sigmoid输出一个范围为[0, 1]“选择向量”,然后将细胞状态通过tanh得到一个范围为[-1, 1]的输出向量,两者相点乘就得到了该LSTM Cell的输出 h t h_t ht

在这里插入图片描述

  • 整个LSTM最核心的思想就在于信息的选取。利用Sigmoid函数输出取值范围在[0, 1]之间的特性,将其作为一种“选择比例”来选择、遗忘和输出一些信息。

  • 实际使用中,通常使用LSTM最后一层的最后一个LSTM Cell输出的 h t h_t ht值来进行相关操作。

Bidirectional Long Short-Term Memory(Bi-LSTM)

双向LSTM

Bidirectional Long Short-Term Memory With Attention(Bi-LSTM + Attention)

加入Attention机制的Bi-LSTM

Gated Recurrent Unit (GRU)

Paper : Learning Phrase Representations using RNN Encoder–Decoder for Statistical Machine Translation

LSTM的一种变种

Sequence-to-Sequence(Seq2Seq)

Paper : Sequence to Sequence Learning with Neural Networks

  • Beam Search

    束搜索

    • 在每一步的生成(解码输出)中,生成K个最可能的前缀序列,其中K为束大小(Beam Size),是一个超参数。

    • 例子:词表 V = { A , B , C } \mathcal{V}=\{A, B, C\} V={A,B,C},束大小为2,下图为束搜索过程示例

      在这里插入图片描述

      • 在第一步时,生成 K K K个最可能的词

      • 在之后的每一步,从 K ∣ V ∣ K|\mathcal{V}| KV个候选输出中选择 K K K个最可能的序列(在 K K K个分支的每个分支中只选择一个候选,而不是 K K K个,只有第一步选择 K K K个,因为要保证最后只有 K K K个候选序列)

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值