2

最近我偶然發現了this article,我在想,從上述的循環神經網絡和簡單的馬爾可夫鏈得到的結果會有什麼不同。爲什麼我們應該使用RNN而不是馬爾可夫模型?

我真的不明白在RNN中引擎蓋下發生的線性代數,但是你似乎基本上只是設計了一個超級複雜的方法來爲下一個字母將基於什麼做統計模型前面的字母,這些在馬爾可夫鏈中非常簡單。

爲什麼RNNs很有趣?僅僅因爲它們是一種更一般化的解決方案,或者是有什麼事情我缺少了嗎?

回答

2

馬爾可夫鏈假設馬爾可夫屬性,它是「無記憶的」。下一個符號的概率是基於k個先前的符號計算的。在實踐中,k被限制爲低值(比如3-5),因爲轉換矩陣呈指數增長。因此,由隱馬爾可夫模型生成的句子非常不一致。

另一方面,RNN(例如具有LSTM單元)不受馬爾可夫屬性的限制。他們豐富的內部狀態使他們能夠追蹤遠距離依賴。

Karpathy的博客帖子列出了由RNN字符按字符生成的C源代碼。該模型令人印象深刻地捕捉了諸如開放和關閉括號之類的依賴關係。

相關問題