当前位置:   article > 正文

深度学习学习笔记_ctrnn使用常微分方程系统

ctrnn使用常微分方程系统

目录

Task05

4循环神经网络(RNN)

4.1计算图

4.2循环神经网络(RNN)

4.2.1RNN发展历程

4.2.2RNN的一般结构

4.2.3RNN训练算法-BPTT

4.3长短时记忆网络

4.3.1LSTM

4.4其他经典的循环神经网络

4.4.1Gated Recurrent Unit(GRU)

4.4.2Bi-directional RNN(双向RNN)

4.4.3Continuous time RNN(CTRNN)

4.5循环神经网络的主要应用

4.5.1语言模型

4.5.2自动作曲

4.5.3机器翻译

4.5.4自动写作

4.5.5图像描述

参考资料


Task05

4循环神经网络(RNN)

4.1计算图

        计算图是描述计算结构的一种图,它的元素包括节点(node)和边(edge),节点表示变量,可以是标量、矢量、张量等,而边表示的是某个操作,即函数。

6.1

4.2循环神经网络(RNN

4.2.1RNN发展历程

6.9

循环神经网络是一种人工神经网络,它的节点间的连接形成一个遵循时间序列的有向图,它的核心思想是,样本间存在顺序关系,每个样本和它之前的样本存在关联。通过神经网络在时序上的展开,我们能够找到样本之间的序列相关性。

4.2.2RNN的一般结构

下面给出RNN的一般结构:

6.10

4.2.3RNN训练算法-BPTT

我们先来回顾一下BP算法,就是定义损失函数 Loss 来表示输出y\hat{}​ 和真实标签 y 的误差,通过链式法则自顶向下求得 Loss 对网络权重的偏导。沿梯度的反方向更新权重的值, 直到 Loss 收敛。而这里的 BPTT 算法就是加上了时序演化,后面的两个字母 TT 就是 Through Time。

6.17

 

4.3长短时记忆网络

在RNN中,存在一个很重要的问题,就是梯度消失问题,一开始我们不能有效的解决长时依赖问题,其中梯度消失的原因有两个:BPTT算法和激活函数Tanh

\frac{\partial E_{3}}{\partial W}=\sum_{k=0}^{3}\frac{\partial E_{3}}{\partial \hat{y_{3}}}\frac{\partial \hat{y_{3}}}{\partial s_{3}}(\prod_{j=k+1}^{3}\frac{\partial s_{j}}{\partial s_{j-1}})\frac{\partial s_{k}}{\partial W}

有两种解决方案,分别是ReLU函数和门控RNN(LSTM).

4.3.1LSTM

        LSTM,即长短时记忆网络,于1997年被Sepp Hochreiter 和Jürgen Schmidhuber提出来,LSTM是一种用于深度学习领域的人工循环神经网络(RNN)结构。一个LSTM单元由输入门、输出门和遗忘门组成,三个门控制信息进出单元。

6.20

 

LSTM依靠贯穿隐藏层的细胞状态实现隐藏单元之间的信息传递,其中只有少量的线性操作

LSTM引入了“门”机制对细胞状态信息进行添加或删除,由此实现长程记忆

“门”机制由一个Sigmoid激活函数层和一个向量点乘操作组成,Sigmoid层的输出控制了信息传递的比例

4.4其他经典的循环神经网络

4.4.1Gated Recurrent Unit(GRU)

        GRU是LSTM网络的一种效果很好的变体,它较LSTM网络的结构更加简单,而且效果也很好,因此也是当前非常流形的一种网络。GRU既然是LSTM的变体,因此也是可以解决RNN网络中的长依赖问题。

  在LSTM中引入了三个门函数:输入门、遗忘门和输出门来控制输入值、记忆值和输出值。而在GRU模型中只有两个门:分别是更新门和重置门。具体结构如下图所示:

6.19

        图中的z_{t}r_{t}分别表示更新门和重置门。更新门用于控制前一时刻的状态信息被带入到当前状态中的程度,更新门的值越大说明前一时刻的状态信息带入越多。重置门控制前一状态有多少信息被写入到当前的候选集 h\tilde{}_{t}上,重置门越小,前一状态的信息被写入的越少。

4.4.2Bi-directional RNN(双向RNN)

        因为时刻t的输出不仅取决于之前时刻的信息,还取决于未来的时刻,所以有了双向RNN。比如要预测一句话中间丢失的一个单词,有时只看上文是不行的,需要查看上下文。双向RNN很简单,就是两个互相叠加的RNN。
        下图为双向RNN的结构图

6.27

4.4.3Continuous time RNN(CTRNN)

        CTRNN利用常微分方程系统对输入脉冲序列神经元的影响 进行建模。CTRNN被应用到进化机器人中,用于解决视觉、协作和最 小认知行为等问题。

4.5循环神经网络的主要应用

4.5.1语言模型

根据之前和当前词预测下一个单词或者字母。

6.29

4.5.2自动作曲

6.31

4.5.3机器翻译

将一种语言翻译成另外一种语言。

6.35

4.5.4自动写作

根据现有资料自动写作,当前主要包括新闻写作和诗歌创作。主要是基于RNN&LSTM的文本生成技术来实现,需要训练大量同类文本,结合模板技术。

4.5.5图像描述

根据图像形成语言描述。

6.33

 

参考资料

(1)Unusual-Deep-Learning

(2)神经网络与深度学习

本文内容由网友自发贡献,转载请注明出处:https://www.wpsshop.cn/w/小丑西瓜9/article/detail/579402
推荐阅读
相关标签
  

闽ICP备14008679号