text: 迴圈神經網路是神經網路的一種。單純的RNN因為無法處理隨著遞迴，權重指數級爆炸或梯度消失問題，難以捕捉長期時間關聯；而結合不同的LSTM可以很好解決這個問題。時間迴圈神經網路可以描述動態時間行為，因為和前饋神經網路接受較特定結構的輸入不同，RNN將狀態在自身網路中迴圈傳遞，因此可以接受更廣泛的時間序列結構輸入。手寫識別是最早成功利用RNN的研究結果。歷史.遞迴神經網路是基於大衛·魯梅爾哈特1986年的工作。1982年，約翰·霍普菲爾德發現了Hopfield神經網路——一種特殊的RNN。1993年，一個神經歷史壓縮器系統解決了一個“非常深度學習”的任務，這個任務在RNN展開之後有1000多個後續層。LSTM.Hochreiter和Schmidhuber於1997年提出了長短期記憶(LSTM)網路，並在多個應用領域創造了精確度記錄。大約在2007年，LSTM開始革新語音識別領域，在某些語音應用中勝過傳統模型。2009年，一個由 訓練的LSTM網路贏得了多項連筆手寫識別競賽，成為第一個贏得模式識別競賽的RNN。2014年，百度在不使用任何傳統語音處理方法的情況下，使用經過CTC訓練的RNNs打破了Switchboard Hub5'00 語音識別基準。LSTM還改進了大詞彙量語音識別和文字到語音合成並在谷歌安卓系統中使用。據報道，2015年，谷歌語音識別透過接受過CTC訓練的LSTM(谷歌語音搜尋使用的)實現了49%的引用量的大幅提升。LSTM打破了改進機器翻譯、語言建模和多語言處理的記錄。 LSTM 結合卷積神經網路改進了影象自動標註 。迴圈神經網路.編碼器.迴圈神經網路將輸入序列formula_1編碼為一個固定長度的隱藏狀態formula_2，這裡有：其中，計算隱藏狀態的方程formula_8是一個非線性方程，可以是簡單的Logistic方程。 而有了隱藏狀態序列，就可以對下一個出現的詞語進行預測：這裡的非線性方程formula_16可以是一個複雜的前饋神經網路，也可以是簡單的非線性方程。給出的機率可以用監督學習的方法最佳化內部引數來給出翻譯，也可以訓練後用來給可能的備選詞語，用計算其第j個備選詞formula_17出現在下一位置的機率，給它們排序。排序後用於其它翻譯系統，可以提升翻譯質量。解碼器.更復雜的情況下迴圈神經網路還可以結合編碼器作為解碼器的資訊解碼為人類可識別的資訊。也就是上述例子中的formula_18過程，當中非線性模型formula_19就是作為輸出的迴圈神經網路。只是在解碼過程中，隱藏狀態因為是解碼器的引數，所以為了發揮時間序列的特性，需要對formula_20繼續進行迭代：雙向讀取.用兩個迴圈神經網路雙向讀取一個序列可以使人工智慧獲得“注意力”。簡單的做法是將一個句子分別從兩個方向編碼為兩個隱藏狀態，然後將兩個formula_2拼接在一起作為隱藏狀態。 這種方法能提高模型表現的原因之一可能是因為不同方向的讀取在輸入和輸出之間創造了更多短期依賴關係，從而被RNN中的LSTM單元可以意外達到提高表現的效果。架構.RNN 有很多不同的變種完全迴圈.基本的 RNN 是由組織成的連續的層的網路。給定層中的每個節點都透過(單向)連線連線到下一個連續層中的每個其他節點。每個節點(神經元)都有一個時變的實值啟用。每個連線(突觸)都有一個可修改的實值。節點要麼是輸入節點(從網路外部接收資料)，要麼是輸出節點(產生結果)，要麼是隱藏節點(在從輸入到輸出的過程中修改資料)。對於離散時間設定中的監督學習，實值輸入向量序列到達輸入節點，一次一個向量。在任何給定的時間步長，每個非輸入單元將其當前啟用(結果)計算為與其連線的所有單元的啟用的加權和的非線性函式。可以在特定的時間步長為某些輸出單元提供主管給定的目標啟用。例如，如果輸入序列是對應於口語數字的語音訊號，則在序列末尾的最終目標輸出可以是對該數字進行分類的標籤。在強化學習環境中，沒有教師提供目標訊號。相反，適應度函式或獎勵函式偶爾用於評估RNN的效能，它透過影響輸出單元來影響其輸入流，輸出單元和一個可以影響環境的執行器相連。這可以被用來玩一個遊戲，在這個遊戲中，進度是用贏得的點數來衡量的。每個序列產生一個誤差，作為所有目標訊號與網路計算的相應啟用的偏差之和。對於大量序列的訓練集，總誤差是所有單個序列誤差的總和。Elman 網路和 Jordan 網路.Elman網路是一個三層網路(在圖中水平排列為x、y和z)，添加了一組上下文單元(在圖中為u)。中間(隱藏)層連線到這些權重為1的上下文單元。在每個時間步，輸入被向前反饋，並且學習規則被應用。固定的反向連線在上下文單元中儲存隱藏單元的先前值的副本(因為它們在應用學習規則之前在連線上傳播)。因此，網路可以保持某種狀態，允許它執行諸如序列預測之類的任務，這些任務超出了標準多層感知器的能力。Jordan網路類似於Elman網路。上下文單元是從輸出層而不是隱藏層饋送的。Jordan網路中的上下文單元也稱為狀態層。他們與自己有著經常性的聯絡。Elman和Jordan網路也被稱為“簡單迴圈網路”。formula_29formula_30變數和函式雙向迴圈神經網路.雙向迴圈神經網路基於元素的前向和後向的上下文，使用有限序列來預測或標記序列的每個元素。該方法是透過連線兩個 RNN 的輸出來完成的：一個從左到右處理序列，另一個從右到左處理序列。BRNN的輸出是對目標訊號的預測。該技術已被證明在與 LSTM RNN 結合使用時特別有用。
metadata.dataset: erhwenkuo/wikipedia-zhtw
metadata.title: 迴圈神經網路
metadata.url: https://zh.wikipedia.org/wiki?curid=4339690