我已经开始阅读深度学习书,但我无法理解 RNN 的优势。这部分让我感到困惑:
因此,展开过程引入了两个主要优点:
- 无论序列长度如何,学习模型始终具有相同的输入大小,因为它是根据从一个状态到另一个状态的转换来指定的,而不是根据状态的可变长度历史来指定的。
- 可以在每个时间步使用具有相同参数的相同转换函数 f。
这两个因素使得学习在所有时间步长和所有序列长度上运行的单个模型 f 成为可能,而不是需要为所有可能的时间步长学习单独的模型。学习单个共享模型可以泛化到训练集中没有出现的序列长度,并且可以使用比没有参数共享所需的更少的训练示例来估计模型。
我理解第二个优势。因为计算是循环的,序列中除了当前元素之外的输入是前一个隐藏状态的输出,它与当前隐藏状态具有相同的结构,因此是共享参数。
但我不明白第一个优势。我无法将其可视化或在数学上证明它,或者至少我不知道如何。谁能帮我解决这个问题?如果有人对 RNN 与 ANN 的差异(优势)有任何补充,我将不胜感激。提前致谢!