Recurrent Neural Network(1):Architecture

本文介绍了循环神经网络(RNN)的基本概念及其工作原理,包括如何通过引入时间维度来处理序列数据。此外还探讨了RNN的不同模式,并解释了其参数共享的特点。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

Recurrent Neural Network是在单个神经元上,除了输入与输出外,添加了一条Recurrent回路。也就是说,节点当前的状态将会影响其未来的状态。下式可以表征此关系:

st= f(st-1, xt, θ)

 

如下图左侧,将前一时刻神经元的输出状态s,作为下一时刻的一个输入值,加权并入输入U中。这一操作使得,某一时刻神经元的输出状态s,依赖于之前各个时刻的状态st-1,st-2,...,st-n.从而,我们可以说该Recurrent path为神经网络引入了一个新的维度: time dimension.

在上图右侧,我们看到将该neuron在time dimension上展开后的形式,xt是时间序列各个时间点的输入,st是各个时间点上产生的输出状态,而ot则是各个时间点上该神经元的输出。而在该结构中,参数共有3个:U,W,V,分别是input weight, state weight, and output weight。和CNN一样,RNN同样有parameter sharing的思想,即在时间维度上,共享这三个parameters.

 

输出状态st的计算公式为:

其中f是activation function,可以使sigmoid, tanh, relu等等。而在输出端,如果我们使用Softmax去预测各个输出值的概率,则:

 

RNN有很多种变体,所有包含循环回路的神经网络都可以归为RNN。概括地说,某一时刻的状态st,是之前所有时刻输入xt,...,x1的一种有损压缩(Lossy Summary)。

下面是三种不同类型的RNN patterns:

 

Pattern 1: Hidden unit存在recurrent connections,每一个时间t上都有输出,每个时刻都有输出o,期望值y和Loss function

 

Pattern 2: Hidden Unit存在recurrent connections,读取完整个序列后,最后产生一个输出o,根据期望值y计算Loss function

 

Pattern 3: Output Unit对Hidden Unit有Recurrent Connection,每个时刻都有输出o,期望值y和Loss function

 

转载于:https://www.cnblogs.com/rhyswang/p/9091534.html

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值