深度学习-入门教程

【原理】RNN循环神经网络是什么

作者 : 老饼 发表日期 : 2023-04-07 17:24:03 更新日期 : 2025-05-16 11:55:49
本站原创文章,转载请说明来自《老饼讲解-深度学习》www.bbbdata.com



RNN循环神经网络的基础模型是最简单的RNN模型,也是最具代表意义和拓展性的RNN神经网络

本文讲解RNN循环神经网络的基础模型,包括它的时序结构、计算公式,并从两种角度解读RNN的设计目的

通过本文,可以了解RNN神经网络的基础模型是什么,模型如何循环计算,以及如何形象理解RNN的意义




    01. RNN基础模型     




本节介绍基础RNN循环神经网络的结构与计算公式,从本节可以了解RNN模型是什么





      RNN神经网络-基础结构     


Jordan和Elman是较早的循环神经网络(Recurrent Neural Network,RNN)
在它们之后,又提出了许多不同的RNN,例如LSTM,GRU等等,但它们基本都是以Elman为基础
 因此,Elman就成为了RNN的基础模型,更一般地,在不特指时,RNN指的就是Elman神经网络

 RNN神经网络-基础结构
RNN主要用于序列数据,因此RNN每一个时刻的输入都引入了前一时刻的数据作为变量
RNN神经网络的拓扑图一般以时序形式来展示
 一个包含3个时刻的RNN神经网络(即Elman神经网络)的拓扑结构图如下:
 
  
可以看到,RNN每个时刻都相当于一个三层的MLP,只是隐层同时接受了上一时刻的隐层作为延迟输入
因此,一个RNN模型共有三个权重和两个阈值:
👉RNN的权重:隐层权重W、D与输出权重      
👉RNN的阈值:隐层阈值B与输出层阈值     
每个时刻先计算当前时刻的隐层与输出,并保留隐层的值,作为下一时刻的延迟输入





      基础RNN模型的计算公式      


        RNN神经网络在t时刻的输出的计算公式如下:
          
                             
           其中:  
       
:隐层的激活函数,一般取为tanh或ReLu函数
 
:网络(实时)输入层到隐层的权重    
              
:网络延迟输入(即上一时刻的隐层)到隐层的权重   
 
:网络隐层的阈值                  
 
:网络隐层到输出层的权重       
 
:网络隐层到输出层的阈值        
 
按上述公式循环计算,就可以得到每一时刻的输出
关于延迟输入的初始值
    
由于第一个时刻并没有"上一时刻",所以第一个时刻的延迟输入需要自行初始化,
一般将初始时刻的延迟输入初始化为0,








    02.如何理解RNN循环神经网络的意义   





本节讲解如何理解RNN循环神经网络,进一步加深对RNN的理解





     RNN循环神经网络的两种理解     


如上所述,RNN在t时刻接收、上一时刻的隐层作为实时、延时输入,用于预测t时刻的输出
  为什么RNN要设计成这样呢?一般可以从以下两方面理解RNN模型的意义
 理解角度一:从输入信息的角度理解RNN 
 由RNN的提出初衷(参见Elman神经网络),RNN的意义如下:
 

 由于是预测序列,所以RNN在预测时,不仅要参考当前输入,还需要参考上一时刻的输出信息     
      而上一时刻的信息不直接使用输出 ,而是用"生成"的隐节点,这样能使信息更加原始          
 这种理解是相对原始、相对直接的,它直指RNN每时刻所考虑的输入因素 
 理解角度二:从隐信息的角度理解RNN
 随着RNN的发展,人们又产生了如下的方式去理解RNN模型的意义:
 
 
如图所示,RNN可以理解为,它假设有一组可构成的隐信息(以隐节点来表示)   
先初始化隐信息,然后每一个时刻,都用当前时刻的输入信息来更新隐节点
  由于每个时刻都用输入来更新隐节点,因此隐节点承载了过去所有时刻的信息,再用隐节点预测
 这样一来,
的计算公式也就代表着隐节点的更新规则  
 
的权重的意义就可以解释为"最新信息与历史信息相结合时的权重"








好了,以上就是RNN循环神经网络的结构以及意义了~










 End 




图标 评论
添加评论