第6章 循环神经网络
创始人
2024-02-09 21:45:28
0

系列文章目录

第1章 绪论
第2章 机器学习概述
第3章 线性模型
第4章 前馈神经网络
第5章 卷积神经网络
第6章 循环神经网络
第7章 网络优化与正则化
第8章 注意力机制与外部记忆
第9章 无监督学习
第10章 模型独立的学习方式
第11章 概率图模型
第12章 深度信念网络
第13章 深度生成模型
第14章 深度强化学习
第15章 序列生成模型


文章目录

  • 系列文章目录
  • 前言
  • 6.1 给神经网络添加记忆
    • 6.1.1 延时神经网络
    • 6.1.2 自回归模型
    • 6.1.3 非线性自回归模型
  • 6.2 循环神经网络
    • 6.2.1 网络结构
    • 6.2.2 网络按时间展开
    • 6.2.3 简单循环网络
    • 6.2.4 图灵完备
    • 6.2.5 应用
  • 6.3 循环神经网络在机器学习中的应用
    • 6.3.1 序列到类别
    • 6.3.2 同步的序列到序列模式
    • 6.3.3 异步的序列到序列模式
  • 6.4 梯度
    • 6.4.1 参数定义
    • 6.4.2 梯度
    • 6.4.3 长程依赖问题
  • 6.5 GRU 与LSTM
    • 6.5.1GRU(Gated Recurrent Unit)
    • 6.5.2 LSTM(Long Short-Term Memory)
  • 6.6 深层模型
  • 6.7 图网络
    • 6.7.1 递归神经网络
    • 6.7.2 图网络
  • 6.7 循环网络的应用
    • 判断句子合理性 作词、作诗、机器的翻译、看图说话、写字、对话系统、
  • 总结


前言


6.1 给神经网络添加记忆

6.1.1 延时神经网络

延时神经网络(Time Delay Neural Network,TDNN),即建立一个额外的延时单元,用来存储网络的历史信息(可以包括输入、输出、隐状态等)
ht(l)=f(ht(l−1),ht−1(l−1),…ht−K(l−1))h_t^{(l)}=f(h_t^{(l-1)},h_{t-1}^{(l-1)},…h_{t-K}^{(l-1)}) ht(l)​=f(ht(l−1)​,ht−1(l−1)​,…ht−K(l−1)​)
在这里插入图片描述

6.1.2 自回归模型

自回归模型(Autoregressive Model,AR),一类时间序列模型,用变量的历史信息来预测自己。
yt=w0+∑k=1Kwkyt−k+ϵty_t=w_0+\sum _{k=1}^K w_ky_{t-k}+\epsilon_t yt​=w0​+k=1∑K​wk​yt−k​+ϵt​

ϵt\epsilon_tϵt​为第t个时刻的噪音

6.1.3 非线性自回归模型

有外部输入的非线性自回归模型(Nonlinear Autoregressive with Exogenous Inputs Model,NARX)
yt=f(xt,xt−1,…,xt−Kx,yt−1,yt−2,…,yt−Kx)y_t=f(x_t,x_{t-1},…,x_{t-K_x},y_{t-1},y_{t-2},…,y_{t-K_x}) yt​=f(xt​,xt−1​,…,xt−Kx​​,yt−1​,yt−2​,…,yt−Kx​​)
其中 f(⋅) 表示非线性函数,可以是一个前馈网络, KxK_xKx​和 KyK_yKy​ 为超参数
在这里插入图片描述

6.2 循环神经网络

6.2.1 网络结构

循环神经网络通过使用带自反馈的神经元,能够处理任意长度的时序数据。
ht=f(ht−1,xt)h_t=f(h_{t-1},x_t) ht​=f(ht−1​,xt​)
在这里插入图片描述

  • 循环神经网络比前馈神经网络更加符合生物神经网络的结构。
  • 循环神经网络已经被广泛应用在语音识别、语言模型以及自然语言生成等任务上。

6.2.2 网络按时间展开

在这里插入图片描述

6.2.3 简单循环网络

状态更新:
ht=f(Uht−1+Wxt+b)h_t=f(Uh_{t-1}+Wx_{t}+b)ht​=f(Uht−1​+Wxt​+b)
一个完全连接的循环网络是任何非线性动力系统的近似器 。

在这里插入图片描述

6.2.4 图灵完备

图灵完备(Turing Completeness)是指一种数据操作规则,比如一种计算机编程语言,可以实现图灵机的所有功能,解决所有的可计算问题。
在这里插入图片描述
一个完全连接的循环神经网络可以近似解决所有的可计算问题。

6.2.5 应用

  • 作为输入-输出映射的机器学习模型(本节主要关注这种情况)。
  • 作为存储器中的联想记忆模型。

6.3 循环神经网络在机器学习中的应用

6.3.1 序列到类别

模型结构
在这里插入图片描述
实际应用

情感分类任务

在这里插入图片描述

6.3.2 同步的序列到序列模式

模型结构
在这里插入图片描述
实际应用

1.中文分词

在这里插入图片描述

2.信息抽取(Information Extraction,IE)

从无结构的文本中抽取结构化的信息,形成知识。
在这里插入图片描述

3.语音识别

在这里插入图片描述

6.3.3 异步的序列到序列模式

模型结构
在这里插入图片描述
应用

机器翻译

在这里插入图片描述
ϵt\epsilon_tϵt​为第t个时刻的噪音

6.4 梯度

6.4.1 参数定义

给定一个训练样本(x,y),其中x = (x1x_{1}x1​,… ,xTx_{T}xT​ )为长度是T 的输入序列,y = (y1y_{1}y1​ ,… ,yTy_{T}yT​ )是长度为T 的标签序列。则时刻t的瞬时损失函数为:
Lt=L(yt,g(ht))L_{t}=L(y_t,g(h_t))Lt​=L(yt​,g(ht​))
总损失函数为:
L=∑t=1TLtL=\sum_{t=1}^{T}L_{t}L=t=1∑T​Lt​

6.4.2 梯度

随时间反向传播算法:
在这里插入图片描述

在这里插入图片描述

梯度消失与爆炸:

在这里插入图片描述
由于计算过程中λ\lambdaλ部分要经过多次求积,所以当得到的大于1时会出现梯度爆炸问题,小于1时会出现梯度消失问题。

6.4.3 长程依赖问题

出现原因
循环神经网络在时间维度上非常深,所以会出现梯度消失或爆炸问题,因此实际上只能学习到短周期的依赖关系。这就是所谓的长程依赖问题

改进原理
针对梯度爆炸问题,可采用权重衰减或梯度截断方法;针对梯度消失问题,可改进模型。
改进方法

  1. 循环边改为线性依赖关系:
    ht=ht−1+g(xt;θ)h_t = h_{t-1}+g(x_t;\theta)ht​=ht−1​+g(xt​;θ)
  2. 增加非线性:
    ht=ht−1+g(xt;ht−1;θ)h_t = h_{t-1}+g(x_t;h_{t-1};\theta)ht​=ht−1​+g(xt​;ht−1​;θ)
  3. 使用门控制机:
    控制信息的累计速度,包括有选择地加入新的信息,并由选择地遗忘之前累积的信息。

ht=ht−1+g(xt;ht−1;θ)h_t = h_{t-1}+g(x_t;h_{t-1};\theta)ht​=ht−1​+g(xt​;ht−1​;θ)

6.5 GRU 与LSTM

6.5.1GRU(Gated Recurrent Unit)

  1. 结构图
    在这里插入图片描述
  2. 计算公式
    rt=σ(Wrxt+Urht−1+br)zt=σ(Wrxt+Uzht−1+bz)h~t=tanh(Wcxt+U(rt⊙ht−1))ht=zt⊙ht−1+(1−zt)⊙h~tr_t = \sigma(W_rx_t+U_rh_{t-1}+b_r) \\ z_t = \sigma(W_rx_t+U_zh_{t-1}+b_z)\\ \tilde h_t = tanh(W_cx_t+U(r_{t}\odot h_{t-1}))\\ h_t = z_t\odot h_{t-1}+(1-z_t)\odot \tilde h_t rt​=σ(Wr​xt​+Ur​ht−1​+br​)zt​=σ(Wr​xt​+Uz​ht−1​+bz​)h~t​=tanh(Wc​xt​+U(rt​⊙ht−1​))ht​=zt​⊙ht−1​+(1−zt​)⊙h~t​

6.5.2 LSTM(Long Short-Term Memory)

  1. 结构图
    在这里插入图片描述

  2. 计算公式
    ft=σ(Wfxt+Ufht−1+bf)it=σ(Wixt+Uiht−1+bi)c~t=tanh(Wcxt+Ucht−1+bc)ot=σ(Woxt+Uoht−1+bo)ct=ft⊙ct−1+it⊙c~tht=ot⊙tanh(ct)f_t = \sigma(W_fx_t+U_fh_{t-1}+b_f) \\ i_t = \sigma(W_ix_t+U_ih_{t-1}+b_i)\\ \tilde c_t = tanh(W_cx_t+U_ch_{t-1}+b_c)\\ o_t = \sigma(W_ox_t+U_oh_{t-1}+b_o) \\ c_t = f_t\odot c_{t-1}+i_t\odot \tilde c_t\\ h_t = o_t\odot tanh(c_t) ft​=σ(Wf​xt​+Uf​ht−1​+bf​)it​=σ(Wi​xt​+Ui​ht−1​+bi​)c~t​=tanh(Wc​xt​+Uc​ht−1​+bc​)ot​=σ(Wo​xt​+Uo​ht−1​+bo​)ct​=ft​⊙ct−1​+it​⊙c~t​ht​=ot​⊙tanh(ct​)

  3. LSTM的各种变体
    在这里插入图片描述

6.6 深层模型

堆叠循环神经网络
在这里插入图片描述
双向循环神经网络
在这里插入图片描述

6.7 图网络

6.7.1 递归神经网络

递归神经网络实在一个有向图无循环图上共享一个组合函数:

在这里插入图片描述
退化为循环神经网络:

在这里插入图片描述
自然语言的处理:
在这里插入图片描述

6.7.2 图网络

计算过程:
在这里插入图片描述
函数计算:
在这里插入图片描述

6.7 循环网络的应用

判断句子合理性
作词、作诗、机器的翻译、看图说话、写字、对话系统、

总结

相关内容

热门资讯

喜欢穿一身黑的男生性格(喜欢穿... 今天百科达人给各位分享喜欢穿一身黑的男生性格的知识,其中也会对喜欢穿一身黑衣服的男人人好相处吗进行解...
发春是什么意思(思春和发春是什... 本篇文章极速百科给大家谈谈发春是什么意思,以及思春和发春是什么意思对应的知识点,希望对各位有所帮助,...
网络用语zl是什么意思(zl是... 今天给各位分享网络用语zl是什么意思的知识,其中也会对zl是啥意思是什么网络用语进行解释,如果能碰巧...
为什么酷狗音乐自己唱的歌不能下... 本篇文章极速百科小编给大家谈谈为什么酷狗音乐自己唱的歌不能下载到本地?,以及为什么酷狗下载的歌曲不是...
华为下载未安装的文件去哪找(华... 今天百科达人给各位分享华为下载未安装的文件去哪找的知识,其中也会对华为下载未安装的文件去哪找到进行解...
家里可以做假山养金鱼吗(假山能... 今天百科达人给各位分享家里可以做假山养金鱼吗的知识,其中也会对假山能放鱼缸里吗进行解释,如果能碰巧解...
四分五裂是什么生肖什么动物(四... 本篇文章极速百科小编给大家谈谈四分五裂是什么生肖什么动物,以及四分五裂打一生肖是什么对应的知识点,希...
怎么往应用助手里添加应用(应用... 今天百科达人给各位分享怎么往应用助手里添加应用的知识,其中也会对应用助手怎么添加微信进行解释,如果能...
客厅放八骏马摆件可以吗(家里摆... 今天给各位分享客厅放八骏马摆件可以吗的知识,其中也会对家里摆八骏马摆件好吗进行解释,如果能碰巧解决你...
美团联名卡审核成功待激活(美团... 今天百科达人给各位分享美团联名卡审核成功待激活的知识,其中也会对美团联名卡审核未通过进行解释,如果能...