【深度学习笔记】6_9 深度循环神经网络deep-rnn

注:本文为《动手学深度学习》开源内容,部分标注了个人理解,仅为个人学习记录,无抄袭搬运意图

6.9 深度循环神经网络

本章到目前为止介绍的循环神经网络只有一个单向的隐藏层,在深度学习应用里,我们通常会用到含有多个隐藏层的循环神经网络,也称作深度循环神经网络。图6.11演示了一个有 L L L个隐藏层的深度循环神经网络,每个隐藏状态不断传递至当前层的下一时间步和当前时间步的下一层。


图6.11 深度循环神经网络的架构

具体来说,在时间步 t t t里,设小批量输入 X t ∈ R n × d \boldsymbol{X}_t \in \mathbb{R}^{n \times d} Xt∈Rn×d(样本数为 n n n,输入个数为 d d d),第 ℓ \ell ℓ隐藏层( ℓ = 1 , ... , L \ell=1,\ldots,L ℓ=1,...,L)的隐藏状态为 H t ( ℓ ) ∈ R n × h \boldsymbol{H}_t^{(\ell)} \in \mathbb{R}^{n \times h} Ht(ℓ)∈Rn×h(隐藏单元个数为 h h h),输出层变量为 O t ∈ R n × q \boldsymbol{O}_t \in \mathbb{R}^{n \times q} Ot∈Rn×q(输出个数为 q q q),且隐藏层的激活函数为 ϕ \phi ϕ。第1隐藏层的隐藏状态和之前的计算一样:

H t ( 1 ) = ϕ ( X t W x h ( 1 ) + H t − 1 ( 1 ) W h h ( 1 ) + b h ( 1 ) ) , \boldsymbol{H}t^{(1)} = \phi(\boldsymbol{X}t \boldsymbol{W}{xh}^{(1)} + \boldsymbol{H}{t-1}^{(1)} \boldsymbol{W}_{hh}^{(1)} + \boldsymbol{b}_h^{(1)}), Ht(1)=ϕ(XtWxh(1)+Ht−1(1)Whh(1)+bh(1)),

其中权重 W x h ( 1 ) ∈ R d × h \boldsymbol{W}{xh}^{(1)} \in \mathbb{R}^{d \times h} Wxh(1)∈Rd×h、 W h h ( 1 ) ∈ R h × h \boldsymbol{W}{hh}^{(1)} \in \mathbb{R}^{h \times h} Whh(1)∈Rh×h和偏差 b h ( 1 ) ∈ R 1 × h \boldsymbol{b}_h^{(1)} \in \mathbb{R}^{1 \times h} bh(1)∈R1×h分别为第1隐藏层的模型参数。

当 1 < ℓ ≤ L 1 < \ell \leq L 1<ℓ≤L时,第 ℓ \ell ℓ隐藏层的隐藏状态的表达式为

H t ( ℓ ) = ϕ ( H t ( ℓ − 1 ) W x h ( ℓ ) + H t − 1 ( ℓ ) W h h ( ℓ ) + b h ( ℓ ) ) , \boldsymbol{H}t^{(\ell)} = \phi(\boldsymbol{H}t^{(\ell-1)} \boldsymbol{W}{xh}^{(\ell)} + \boldsymbol{H}{t-1}^{(\ell)} \boldsymbol{W}_{hh}^{(\ell)} + \boldsymbol{b}_h^{(\ell)}), Ht(ℓ)=ϕ(Ht(ℓ−1)Wxh(ℓ)+Ht−1(ℓ)Whh(ℓ)+bh(ℓ)),

其中权重 W x h ( ℓ ) ∈ R h × h \boldsymbol{W}{xh}^{(\ell)} \in \mathbb{R}^{h \times h} Wxh(ℓ)∈Rh×h、 W h h ( ℓ ) ∈ R h × h \boldsymbol{W}{hh}^{(\ell)} \in \mathbb{R}^{h \times h} Whh(ℓ)∈Rh×h和偏差 b h ( ℓ ) ∈ R 1 × h \boldsymbol{b}_h^{(\ell)} \in \mathbb{R}^{1 \times h} bh(ℓ)∈R1×h分别为第 ℓ \ell ℓ隐藏层的模型参数。

最终,输出层的输出只需基于第 L L L隐藏层的隐藏状态:

O t = H t ( L ) W h q + b q , \boldsymbol{O}_t = \boldsymbol{H}t^{(L)} \boldsymbol{W}{hq} + \boldsymbol{b}_q, Ot=Ht(L)Whq+bq,

其中权重 W h q ∈ R h × q \boldsymbol{W}_{hq} \in \mathbb{R}^{h \times q} Whq∈Rh×q和偏差 b q ∈ R 1 × q \boldsymbol{b}_q \in \mathbb{R}^{1 \times q} bq∈R1×q为输出层的模型参数。

同多层感知机一样,隐藏层个数 L L L和隐藏单元个数 h h h都是超参数。此外,如果将隐藏状态的计算换成门控循环单元或者长短期记忆的计算,我们可以得到深度门控循环神经网络。

小结

  • 在深度循环神经网络中,隐藏状态的信息不断传递至当前层的下一时间步和当前时间步的下一层。

注:本节与原书基本相同,原书传送门

相关推荐
天飓11 分钟前
基于OpenCV的自制Python访客识别程序
人工智能·python·opencv
檀越剑指大厂13 分钟前
开源AI大模型工作流神器Flowise本地部署与远程访问
人工智能·开源
声网16 分钟前
「人眼视觉不再是视频消费的唯一形式」丨智能编解码和 AI 视频生成专场回顾@RTE2024
人工智能·音视频
newxtc25 分钟前
【AiPPT-注册/登录安全分析报告-无验证方式导致安全隐患】
人工智能·安全·ai写作·极验·行为验证
技术仔QAQ40 分钟前
【tokenization分词】WordPiece, Byte-Pair Encoding(BPE), Byte-level BPE(BBPE)的原理和代码
人工智能·python·gpt·语言模型·自然语言处理·开源·nlp
陌上阳光1 小时前
动手学深度学习70 BERT微调
人工智能·深度学习·bert
正义的彬彬侠2 小时前
sklearn.datasets中make_classification函数
人工智能·python·机器学习·分类·sklearn
ctrey_2 小时前
2024-11-13 学习人工智能的Day26 sklearn(2)
人工智能·学习·sklearn
安静的_显眼包O_o2 小时前
from sklearn.preprocessing import Imputer.处理缺失数据的工具
人工智能·python·sklearn
安静的_显眼包O_o2 小时前
from sklearn.feature_selection import VarianceThreshold.移除低方差的特征来减少数据集中的特征数量
人工智能·python·sklearn