在一個的Network中會有很多的神經元,當Input進去後經過這些神經元會得到最後的Output。而LSTM則是將普通的神經元換成每個LSTM cell,雖然Input一樣,但我會每個輸入對每個cell的gate乘上不同的權重得到參數,讓每個cell可以參考更多東西得到Output。
其實LSTM和正常的Neural Network都只會有同樣數目input,只是LSTM會將input通過一些權重,得到另外三個參數輸入到三個gate中而已。
每個LSTM中都有一個memory cell,每一層都會有很多LSTM,而這些Cell就會變成vector,input Xt會分別變成給每個input用的vector: Zf, Zi, Zo, Z,在運算時依照下圖的程序就可以算出這一層所有的Output。
但這只是最簡單的LSTM,在實作時還會將上一個輸出接到下一個的輸入,當過下一個時間點的標記;還有peephole,可以將上一次操作的memory在我要input前先看它的值等。現在我們在實作時我們也不會只使用一層LSTM,當疊了很多層時就被稱為Multiple-layer。