循环神经网络

https://zh-v2.d2l.ai/chapter_recurrent-neural-networks/rnn.html

第一段,

对于一个足够强大的函数 f( (8.4.2) ),隐变量模型不是近似值。

是有typo吗,看起来应该是

对于一个足够强大的函数 f (8.4.2) ,隐变量模型不是近似值。

加了一个括号以后看起来像是(8.4.2)是f的参数

Personally, I find Fig 8.4.1. a little confusing. These three RNN neurons are actually the same neuron acted by elements in a sequence X in order. Unlike previous networks discussed, the RNN neuron takes two inputs: the data input, the hidden state (or “persistent memory”). We can also see this hidden state as a property of the RNN neuron when it starts working on a sequence. More complicated variations come later, with LSTM or GRU, but this is the very idea of attaching states to the neurons. Whereas in the past, neurons have been stateless. What a beautiful idea.

I personally prefer this Figure. This tutorial and its model setup is also very clear as to what is the nature of RNN neurons.

basic RNN neuron diagram

  1. 如果我们使用循环神经网络来预测文本序列中的下一个字符,那么任意输出所需的维度是多少?
    输出的维度应该与输入维度相同吧,因为在RNN中每一个输出由当下时间步t的输入和上一步传入的隐状态h_t-1决定

  2. 为什么循环神经网络可以基于文本序列中所有先前的词元,在某个时间步表示当前词元的条件概率?
    隐状态h_t-1存储了到时间步 t−1 的序列信息

  3. 如果你基于一个长序列进行反向传播,梯度会发生什么状况?
    如果序列比较长反向传播的时候梯度可能会出现消失或者爆炸的情况

  4. 与本节中描述的语言模型相关的问题有哪些?

在看到一个语言模型报告其perplexity是109时,我们就可以直观的理解为,平均情况下,这个语言模型预测下一个词时,其认为有109个词等可能地可以作为下一个词的合理选择。

这一节的隐变量的定义和“序列模型”一节的隐变量的定义的约定不一致啊。这一节中p(x_{t}|h_{t-1}),而“序列模型”一节中是p(x_{t}|h_{t})。相应的,隐状态的公式也是不一致的。