最近我偶然发现了this article,我想知道你会从一个递归神经网络得到的结果与上面描述的结果之间的区别,以及一个简单的马尔可夫链。
我真的不明白在RNN中发生的线性代数,但似乎你基本上只是设计一种超级复杂的方法来制作下一个字母将基于什么的统计模型。以前的字母,在马尔可夫链中非常简单的东西。
为什么RNN很有趣?是因为它们是一个更普遍的解决方案,还是我发现了一些我不知道的事情?
答案 0 :(得分:6)
马尔可夫链假定马尔科夫属性,它是无记忆的"。基于k个先前符号计算下一个符号的概率。实际上,k被限制为低值(比如说3-5),因为转换矩阵呈指数增长。因此,隐马尔可夫模型生成的句子非常不一致。
另一方面,RNN(例如LSTM单位)不受马尔可夫属性的约束。他们丰富的内部状态使他们能够跟踪远距离的依赖关系。
Karpathy的博客文章列出了由RNN角色逐字符生成的C源代码。该模型令人印象深刻地捕获了诸如左右括号之类的依赖关系。