經常性的神經網絡(RNN)是一種在蘋果Siri和Google的語音搜索等應用程序中使用的強大類型人工神經網絡(ANN)。它們通過內部記憶保留過去輸入的獨特能力使它們非常適合諸如股票價格預測,文本生成,轉錄和機器翻譯等任務。與輸入和輸出是獨立的傳統神經網絡不同,RNN輸出取決於序列中的先前元素。此外,RNN在跨網絡層共享參數,從而在梯度下降期間優化了重量和偏差調整。
上圖說明了基本的RNN。在股票價格預測方案中,使用[45、56、45、49、50,...]之類的數據,每個輸入(x0至XT)都包含了過去的值。例如,X0為45,X1為56,這些值有助於預測下一個序列元素。
在RNN中,信息通過循環循環,使輸出成為當前輸入和先前輸入的函數。
輸入層(x)處理初始輸入,將其傳遞到中間層(a),其中包含具有激活功能,權重和偏見的多個隱藏圖層。這些參數在隱藏的層上共享,創建一個單個循環圖層,而不是多個不同的層。 RNNS通過時間(BPTT)而不是傳統的反向傳播來計算梯度。由於共享參數,BPTT在每個時間步長匯總錯誤。
與具有單個輸入和輸出的FeedForward網絡不同,RNN提供的輸入和輸出長度具有靈活性。這種適應性使RNN可以處理各種任務,包括音樂生成,情感分析和機器翻譯。存在四種主要類型:
卷積神經網絡(CNN)是饋電網絡處理空間數據(如圖像),通常在計算機視覺中使用。簡單的神經網絡與圖像像素依賴性抗爭,而CNN則憑藉其卷積,恢復,匯總和完全連接的層在這一領域中表現出色。
關鍵差異:
簡單的RNN面臨與梯度有關的兩個主要挑戰:
解決方案包括減少隱藏層或使用LSTM和GRU等高級體系結構。
簡單的RNN遭受短期內存限制。 LSTM和GRU通過在長時間內保留信息來解決此問題。
本節詳細介紹了一個使用LSTM和GRU預測萬事達卡股價的項目。該代碼利用Pandas,Numpy,Matplotlib,Scikit-Learn和TensorFlow等庫。
(此處省略了原始輸入中的詳細代碼示例。
MinMaxScaler
進行擴展,然後重塑模型輸入。混合CNN-RNN網絡越來越多地用於需要空間和時間理解的任務。本教程提供了對LSTM和GRU等高級體系結構提供的RNN,其局限性和解決方案的基本理解。該項目證明了LSTM和GRU在股票價格預測中的應用,在此特定情況下強調了GRU的出色表現。完整的項目可在Datacamp Workspace上找到。
切記替換https://www.php.cn/link/cc6a6632b380f3f6a1c54b1222cd96c2
和https://www.php.cn/link/8708107b2ff5de15d0244471ae041fdb
假定圖像URL是正確且可訪問的。
以上是經常性神經網絡教程(RNN)的詳細內容。更多資訊請關注PHP中文網其他相關文章!