深度学习(花书)第十章

ZhuYuanxiang 2021-11-18 00:00:00
Categories: Tags:

C10. 序列建模:循环和递归网络

循环神经网络 ( Recurrent Neural Networks, RNN ) 是用于处理序列数据的神经网络,序列数据的长度既可以是固定的,也可以是变长的。

在模型的不同部分共享参数,参数共享使得模型能够扩展到不同形式的样本并进行泛化:

10.1 展开计算图

计算图是形式化一组计算结构的方式。 ( Sec 6.5.1 )

动态系统的经典形式 ( 图 10-1 ) :$\pmb{s}^{( t )}=f ( \pmb{s}^{( t-1 )};\pmb{\theta} )$

由外部信号$\pmb{x}^{( t )}$驱动的动态系统:$\pmb{s}^{( t )}=f ( \pmb{s}^{( t-1 )},\pmb{x}^{( t )};\pmb{\theta} )$

网络的隐藏单元的状态表示 ( 图 10-2 ) :$\pmb{h}^{( t )}=f ( \pmb{h}^{( t-1 )},\pmb{x}^{( t )};\pmb{\theta} ) =g^{( t )} ( \pmb{x}^{( t )},\pmb{x}^{( t-1 )},\pmb{x}^{( t-1 )},\cdots,\pmb{x}^{( 2 )},\pmb{x}^{( 1 )} )$

引入展开过程的两个主要优点:

10.2 循环神经网络

循环神经网络的重要设计模式

( 图 10-3 ) 循环神经网络的数学描述:

$$
\begin{align}
\pmb{a}^{( t )}&=\pmb{b}+\pmb{Wh}^{( t-1 )}+\pmb{Ux}^{( t )}\
\pmb{h}^{( t )}&=\tanh ( \pmb{a}^{( t )} ) \
\pmb{o}^{( t )}&=\pmb{c}+\pmb{Vh}^{( t )}\
\hat{\pmb{y}}^{( t )}&=\text{softmax} ( \pmb{o}^{( t )} ) \
\end{align}
$$

$$
\begin{aligned}
L ( {\pmb{x}^{( 1 )},\cdots,\pmb{x}^{( \tau )}},{\pmb{y}^{( 1 )},\cdots,\pmb{y}^{\tau}} )
&=\sum_t L^{( t )} \
&=-\sum_t\log p_{\text{model}} ( y^{( t )}|{\pmb{x}^{( 1 )},\cdots,\pmb{x}^{( \tau )}} )
\end{aligned}
$$

10.2.1 导师驱动过程和输出循环网络

( 图 10-4 )