其中函数不涉及记忆问题,可以使用前馈神经网络计算
但是图灵机涉及记忆问题,需要为神经网络增加记忆能力
额外增加一个延时单元(用以存储网络的历史信息<输入、输出、隐状态等>)
用变量yt的历史信息来预测自己
f(.)为非线性函数,可以是前馈网络。Kx和Ky为超参数
循环神经网络的神经元自带反馈,可以处理任意长度的时序数据。
循环神经网络比前馈神经网络更符合神生物经网络的结构,被广泛应用在语音设备、预言模型、及自然语言生成等任务。
将循环神经网络按时间展开
其在时间维上极深,同样存在梯度消失问题。在非时间维上较浅,需要适度增加其模型复杂度。
一个完全连接的循环网络是任何非线性动力系统的近似器。
循环神经网络通用近似定理
St为每个时刻的隐藏状态,xt为外部输入,g(.)为状态转换函数,O(.)为连续输出函数
图灵完备
可以实现图灵机的所用功能(可以解决所有可以算问题),一个完全连接的循环神经网络可以近似于图灵完备
将所有h进行平均/求和,再送入分类器之中
例如:中文分词、信息抽取(文本中抽取信息,形成知识)、语音识别--等容易出现分歧的问题
例如:机器翻译
以同步的序列到序列循环神经网络为例,给定一个学习样本(x,y),长度均为T
时刻t的瞬时损失函数为: 为后验概率
总损失函数:
计算梯度:
为第t时刻的损失对第k步隐藏神经元的净输入的导数
tips:diag(x,n):矩阵x上的第n条对角线上的元素
随时间的反向传播算法(BPTT)
当且,时会出现梯度爆炸问题
当且,时会出现梯度消失问题
梯度爆炸和梯度消失统称为长程依赖问题,由于此问题,实际上只能学习到短周期的依赖关系。
原因是循环神经网络在时间维度上非常深
1.修正梯度爆炸问题
权重衰减、梯度截断
2.修正梯度消失问题
改进模型,使与之间的线性关系移动到上
改进方法①:令梯度
将循环边改为线性依赖关系: 会削弱非线性性能
其中
增加非线性:
其中
门控机制:控制信息积累的速度。(选择性的加入新的信息,选择性遗忘)
更新门,值域为[0,1],用于选择性遗忘。
,使用tanh实现
改进,使仅与相关(去除与的联系)
重置门,
,
门控循环单元
引入内部记忆单元用于记忆,解放,使其可以更好的进行非线性拟合
!!! 可以使得
各种变体
优点:引入记忆功能、图灵完备
缺点:长程依赖问题、记忆容量问题、并行能力问题
序列是最简单的数据结构,更复杂的结构还有树和图
用于处理树结构。
在一个有向无循环图共享一个组合函数
用于处理图结构。
更新序列:先更新点、再更新边、最后更新全局结点
对于任意图结构G(V,E)
更新函数:
读出函数: