我们为什么要使用RNN而不是Markov模型?

Jus*_*ers 5 artificial-intelligence markov-chains neural-network recurrent-neural-network

最近我偶然发现了这篇文章,我想知道你会从一个递归神经网络得到的结果与上面描述的结果之间的区别,以及一个简单的马尔可夫链.

我并不真正理解在RNN中发生的线性代数,但似乎你基本上只是设计一种超级复杂的方法,根据之前的字母为下一个字母制作统计模型,马尔可夫链中非常简单的事情.

为什么RNN很有趣?是因为它们是一个更普遍的解决方案,还是我发现了一些我不知道的事情?

小智 6

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

另一方面,RNN(例如,使用LSTM单位)不受马尔可夫属性的约束.他们丰富的内部状态使他们能够跟踪远距离的依赖关系.

Karpathy的博客文章列出了由RNN角色逐字符生成的C源代码.该模型令人印象深刻地捕获了诸如开始和结束括号之类的依赖关系.