这是我参与2022首次更文挑战的第13天,活动详情查看:2022首次更文挑战
更多可以看这里:草履虫都能看懂的 白话解析《动手学深度学习》专栏(juejin.cn)
还在更新中…………
这一节写的是深度循环神经网络,有的也称之为堆叠循环神经网络(Stacked Recurrent Neural Network,SRNN),即把多个循环网络堆叠起来。堆叠循环神经网络具体可以看邱锡鹏老师的《神经网络与深度学习》。
之前学神经网络的时候我们知道单层神经网络就是只有一个输入层和一个输出层,多层感知机才会有隐藏层。
其实RNN也可以有多个隐藏状态。
之前我们讨论的RNN只有一个隐藏状态,长这样:

多个隐状态的深度循环神经网络长下边这样,是1991年被提出的深度RNN(Recurrent Multi-Layer Perceptron,RMLP)。

模型一目了然就不再赘述了,看不懂图上吗,模型的建议回去复习RNN。
公式可以简写为:
Ht1=f1(Ht−11,Xt)...Htj=fj(Ht−1j,Htj−1)...Ot=g(HtL)
解析:
-
f和g都是对应的函数计算,在这里仅表示映射关系。
-
Ht(1)=ϕl(XtWxh(1)+Ht−1(l)Whh(1)+bh(1))
第一层就是和普通的RNN一样的计算。每一时间步的隐状态都由本时间步的输入和上一时间步的隐状态所决定。
-
Ht(j)=ϕl(Ht(j−1)Wxh(j)+Ht−1(j)Whh(j)+bh(j))
中间层无非就是把输入X换成H。之前是用输入作来计算,现在深层的隐状态用浅层的隐状态计算。
另外,用门控循环单元或长短期记忆网络的隐藏状态来代替上边的隐藏状态进行计算,可以很容易地得到深度门控循环神经网络。