循環神經網路(Recurrent Neural Network,RNN)是一種用於處理序列數據的神經網路架構。
它能夠在序列的演進方向進行遞歸,其所有節點(循環單元)按鏈式連線。RNN的設計目的是為了捕捉序列數據中的時序信息,如文本、語音、時間序列等。RNN的基本結構包括循環單元,它有一個輸入、一個輸出以及一個隱藏狀態。在處理序列數據時,RNN可以利用歷史信息,通過循環連線方式影響當前時刻的輸出和隱藏狀態。
在訓練RNN時,通常使用反向傳播算法和梯度下降算法。然而,由於RNN面臨長期依賴問題,如梯度消失和梯度爆炸,已經發展出了如長短期記憶網路(LSTM)和門控循環單元(GRU)等變體來改進這些問題。
LSTM和GRU通過引入「門」的結構來讓信息有選擇性地影響神經網路中每個時刻的狀態,從而更有效地處理長期依賴問題。
RNN在自然語言處理(NLP)、語音識別、機器翻譯、時間序列分析等領域有廣泛套用。