# 10.2.4 基于上下文的RNN序列建模

> **\[success]**\
> 通常将RNN的输入称为“上下文”。

上一节描述了没有输入$x$时，关于随机变量序列$y^{(t)}$的RNN如何对应于有向图模型。 当然，如\eqn?所示的RNN包含一个输入序列$x^{(1)},x^{(2)},\cdots,x^{(\tau)}$。 一般情况下，RNN允许将图模型的观点扩展到不仅代表$y$变量的联合分布也能表示给定$x$后$y$条件分布。 如在\sec?的前馈网络情形中所讨论的，**任何代表变量$P(y;\theta)$的模型都能被解释为代表条件分布$P(y \mid \omega)$的模型，其中$\omega=\theta$**。 我们能像之前一样使用$P(y \mid \omega)$代表分布$P(y \mid x)$来扩展这样的模型，但要令$\omega$是关于$x$的函数。

> **\[warning]** $P(y \mid \omega)$和$P(y \mid x)$是什么关系？

在RNN的情况，这可以通过不同的方式来实现。 此处，我们回顾最常见和最明显的选择。

之前，我们已经讨论了将$t =1, \cdots, \tau$的向量$x^{(t)}$序列作为输入的RNN。 另一种选择是只使用单个向量$x$作为输入。 当$x$是一个固定大小的向量时，我们可以简单地将其看作产生$y$序列RNN的额外输入。 将额外输入提供到RNN的一些常见方法是：

* 在每个时刻作为一个额外输入，或
* 作为初始状态$h^{(0)}$，或 &#x20;

  > **\[warning]** 这种方法和“使用序列作为输入”有什么区别？
* 结合两种方式。

第一个也是最常用的方法如\fig?所示。 输入$x$和每个隐藏单元向量$h^{(t)}$之间的相互作用是通过新引入的权重矩阵$R$参数化的，这是只包含$y$序列的模型所没有的。

> **\[warning]** R和U有什么区别？
