一、RNN基本结构

1、隐层状态sts_tst
st=σ(Uxt+Wst−1+b1)s_t=\sigma(Ux_t+Ws_{t-1}+b_1)st=σ(Uxt+Wst−1+b1) σ\sigmaσ()是激活函数,通常选用Tanh、ReLU。
2、输出状态oto_tot
ot=g(Vst+b2)o_t=g(Vs_t+b_2)ot=g(Vst+b2)ggg()是激活函数,对于分类任务通常选用sigmoidsigmoidsigmoid()。
3、Loss计算
输出状态oto_tot与目标输出yty_tyt计算Loss:
L=∑tLt=∑tLoss(ot,yt)L=\sum_{t}L_t=\sum_{t}Loss(o_t,y_t)L=t∑Lt=t∑Loss(ot,yt)LossLossLoss是损失函数,对于分类任务通常选用交叉熵损失函数。
二、RNN参数更新方式
1、首先需要明确:上述的循环重复结构,都是共享参数的,也就是说不管在什么时刻,权重矩阵UUU、WWW、VVV都是相同的。
好处:极大减少参数量+可以处理不定长序列。
2、梯度下降、反向传播过程
假设t=3t=3t=3的时刻,计算它的损失函数:
s3=σ(Ux3+Ws2+b1)o3=g(Vs3+b2)L3=12(o3−y3)2 s_3=\sigma(Ux_3+Ws_{2}+b_1) \\ o_3=g(Vs_3+b_2) \\ L_3=\frac{1}{2}(o_3-y_3)^2 s3=σ(Ux3+

最低0.47元/天 解锁文章
666

被折叠的 条评论
为什么被折叠?



