2

最近我偶然发现了this article,我在想,从上述的循环神经网络和简单的马尔可夫链得到的结果会有什么不同。为什么我们应该使用RNN而不是马尔可夫模型?

我真的不明白在RNN中引擎盖下发生的线性代数,但是你似乎基本上只是设计了一个超级复杂的方法来为下一个字母将基于什么做统计模型前面的字母,这些在马尔可夫链中非常简单。

为什么RNNs很有趣?仅仅因为它们是一种更一般化的解决方案,或者是有什么事情我缺少了吗?

回答

2

马尔可夫链假设马尔可夫属性,它是“无记忆的”。下一个符号的概率是基于k个先前的符号计算的。在实践中,k被限制为低值(比如3-5),因为转换矩阵呈指数增长。因此,由隐马尔可夫模型生成的句子非常不一致。

另一方面,RNN(例如具有LSTM单元)不受马尔可夫属性的限制。他们丰富的内部状态使他们能够追踪远距离依赖。

Karpathy的博客帖子列出了由RNN字符按字符生成的C源代码。该模型令人印象深刻地捕捉了诸如开放和关闭括号之类的依赖关系。

相关问题