深度学习方法介绍
1 循环神经网络(RNN)
循环神经网络(RNN)是一种专门用于处理序列数据的神经网络。其隐藏状态 $h_t$ 的计算公式为:
$h_t = f(Ux_t + Wh_{t - 1} + b)$
其中,$b$ 是偏置向量,$U$ 和 $W$ 分别是用于调节输入 $x_t$ 和前一个隐藏状态 $h_{t - 1}$ 的权重矩阵,$f()$ 表示非线性激活函数,如 $tanh$、ReLU 或 Leaky ReLU。
时间步 $t$ 的输出 $o_t$ 基于 $h_t$ 和相应的权重矩阵 $V$ 计算得出:
$o_t = g(Vh_t)$
这里,$g()$ 是用于分类任务的 softmax 函数。与多层感知机(MLP)在每一层使用不同参数不同,RNN 在时间上共享参数($W$、$U$、$V$)。
从理论上讲,RNN 可以捕捉任意长度的依赖关系。这一特性使得 RNN 在自然语言处理和视频分析等序列数据普遍存在的应用中取得了优异的成果。然而,在训练阶段的误差反向传播过程中,RNN 可能会遇到梯度消失问题,这使得它在实践中难以捕捉长期依赖关系。
1.1 RNN 结构
下面是 RNN 的抽象结构:
graph LR
classDef process fill:#E5F6FF,stroke:#73A6FF,stroke-width:2px;
x1(x<sub>t-1</sub>):::process --> h1(h<sub>t-1</sub>)
超级会员免费看
订阅专栏 解锁全文

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



