Python人工智慧深度學習RNN模型結構流程

2022-09-24 14:30:31 字數 999 閱讀 8351

目錄

rnn主要特點是,在dnn隱藏層的輸出內容會被儲存,並且可以作為輸入給到下乙個神經元。

如下圖所示,當「台北」這個詞被輸入的時候,前面的詞有可能是「離開「,有可能是」到達「,如果把上一次輸入的」離開「,所得的隱藏層內容,輸入給下一層,這樣就有可能區分開是」離開台北「,還是」到達台北「。

如果隱藏層儲存的內容並給下次使用,叫做elman network

如www.cppcns.com果最終的輸出內容給下次使用,叫做jordan network

雙向rnn:從正向輸入的內容,得到的儲存內容,以及反向輸入內容得到的儲存內容,同時輸入給模型。

long short-term memory,其實當人們說到使用rnn的時候,通常都是使用的lstm。對於lstm的每乙個單元,除了輸入的資料之外,還有另外三個「門」來控制輸入,輸出,儲存。如下圖所示,如此一來,每乙個lstm單元共有4個輸入以及1個輸出。

這些控制的門都是向量,並且輸入之後都需要進行乙個sigmoid函程式設計客棧數轉換,因此輸入和門進行計算之後,得到的輸出是位於0-1之間的資料,這樣就可以實現對輸入、輸出、儲存與否的把控ehjoikjd。而門的引數都需要由rnn學習得到。

如下圖,假如輸入的是z,經過函式轉換,得到g(z),輸入門的資料z(i),經過乙個sigmoid函式轉換,將其相乘,得到g(z) * f(z(i))

同樣的,當控制儲存數的門得到的結果是1的時候,那麼以前的資料就會和1相乘,並於前面算的結果相加,這樣就實現了對上次儲存資料的利用。是0的時候就會刪除上次的資料,實現儲存資料的格式化。

最終得到的輸出是h(c),但如果輸出門輸入z0後計算的結果是0,則該輸出就無法輸出,是1的時候才可以輸出。

lstm和dnn的區別,就是把神經元換成了lstm單元,輸入的資料乘上權重之後,來控制各個門。因此引數變成平常dnn引數的4倍。

將整個流程簡化來表示,如下。

實際中,lstm不只是乙個,它是多個組合,並且每乙個的輸出,以及儲存的內容也會新增到下一次的輸入當中。如下圖所示:

以上便是lstm的整體結構。

python深度學習 人工智慧雜記

人工智慧的簡潔定義如下 努力將通常由人類完成的智力任務自動化。早期的西洋棋程式僅包含程式設計師精心編寫的硬編碼規則,並不屬於機器學習。在相當長的時間內,許多專家相信,只要程式設計師精 心編寫足夠多的明確規則來處理知識,就可以實現與人類水平相當的人工智慧。這一方法被稱為符號主義人工智慧 symboli...

python人工智慧深度學習演算法優化

目錄 隨機梯度下降 隨機梯度下降和其他的梯度下降主要區別,在於sgd每次只使用乙個資料樣本,去計算損失函式,求梯度,更新引數。這種方法的計算速度快,但是下降的速度慢,可能會在最低處兩邊 停留在區域性最優。sgm with momentum 動量梯度下降 動量梯度下降,在進行引數hxzvoufkv更新...

人工智慧,機器學習,深度學習

所謂人工智慧,通俗地講是指由人工製造出來的系統所表現出來的智慧型 機器學習簡單來講就是通過演算法,使機器能從大量歷史資料中學習規律,從而對新的樣本做出智慧型識別或對未來做 機器學習是基於概率統計 矩陣或圖模型而得出的分析結論 機器學習是人工智慧的乙個分支 深度學習是機器學習的乙個新領域 監督學習 邏...