admin管理员组

文章数量:1794759

第六讲

第六讲

1、卷积神经网络(CNN)与循环神经网络(RNN)的简单对比:

CNN:借助卷积核(kernel)提取特征后,送入后续网络(如全连接网络Dense)进行分类、目标检测等操作。CNN借助卷积核从空间维度提取信息,卷积核参数空间共享

RNN:借助循环核(cell)提取特征后,送入后续网络进行预测等操作。RNN借助循环核从时间维度提取信息,循环核参数时间共享。

 

  • 循环核

                                 

         循环核具有记忆力,通过不同时刻的参数共享,实现了对时间序列的信息提取。

        每个循环核有多个记忆体,上图中多个小圆柱就是记忆体。记忆体内存储着每个时刻的状态信息ht。我们可以设定记忆体的个数从而改变记忆容量,当记忆体个数被指定、输入xt和输出yt维度指定,那么周围的待训练参数的维度也就被限定了。

       前向传播时,记忆体内存储的状态信息ht在每个时刻都被刷新,而三个参数矩阵Wxh、Whh、Why和两个偏置项bh、by自始至终都是固定不变的。

       反向传播时,三个参数矩阵Wxh、Whh、Why和两个偏置项bh、by由梯度下降法更新。

 

  • 循环核按时间步展开

 将循环核按时间步展开,就是把循环核按照时间轴t方向展开,如下图:

        

         每个时刻记忆体状态信息ht被刷新,记忆体周围的参数矩阵和两个偏置项固定不变,我们训练优化的就是这些参数矩阵。训练完成后,使用效果最好的参数矩阵执行前向传播,然后输出预测结果。

        由上图可以看出,循环神经网络就是借助循环核实现时间特征提取后把提取到的信息送入全连接网络,从而实现连续数据的预测。

 

  • 循环计算层:向输出方法生长

       在RNN中,每个循环核构成一层循环计算层,循环计算层的层数是向输出方向增长的。如下图

                     

左边的网络中有一个循环核,构成了一层循环计算层;中间的网络有两个循环核,构成了两层循环计算层;右边的网络有3个循环核,构成了三个循环计算层。

 

原始RNN的问题:

     RNN面临的较大的问题是无法解决长跨度依赖问题,即后面节点相对于跨度很大的前面时间节点的信息感知能力太弱。

如下图:左上角的句子中sky可以由较短跨度的词预测出来,而右下角句子中的French与较长跨度之前的France有关系,即长跨度依赖,比较难预测。

                           

      长跨度依赖的根本问题在于:多阶段的反向传播后会导致梯度消失、梯度爆炸。可以使用梯度截断去解决梯度爆炸问题,但无法轻易解决梯度消失问题。由此提出了LSTM。

 

  • LSTM

        为了解决RNN长期依赖问题,LSTM(Long Short Term Memory)长短记忆网络,由Hochreiter & Schmidhuber 于 1997年提出,通过门控单元很好的解决了RNN长期依赖问题。

因为LSTM使用门(gate)机制对信息的流通和损失进行控制。

                             

如上图,LSTM引入了三个门限:输入门it、遗忘门ft、输出门ot;引入表征长期记忆的细胞态Ct;引入了等待存入长期记忆的候选态Ct波浪号。

  • 三个门限都是当前时刻的输入特征Xt和上个时刻的短期记忆ht-1的函数,分别表示:

              输入门(门限):决定了多少比例的信息会被存入当前细胞态;

              遗忘门(门限):将细胞态中的信息选择性的遗忘;

              输出门(门限):将细胞态中的信息选择性的进行输出;

     三个公式中Wi、Wf、Wo是待训练参数矩阵,bi、bf、bo是待训练偏置项。σ为sigmoid激活函数,它可以使门限的范围在0到1之间。

  • 记忆体ht,表征短期记忆,是当前细胞态经过输出门得到的。
  • 候选态表示归纳出的待存入细胞态的新知识,是当前时刻的输入特征Xt和上个时刻的短期记忆ht-1的函数
  • 细胞态Ct表示长期记忆,它等于上个时刻的长期记忆Ct-1通过遗忘门的值和当前时刻归纳出的新知识Ct波浪号通过输入门的值之和。

 

 

本文标签: 第六讲