為 AI 從業者/研究生/研究員專門定制的全網唯一高端 AI 訓練營
872
2025-04-02
3.3循環神經網絡
反饋網絡在其網絡架構中包含循環,允許它們處理時序數據。在許多應用(例如圖像的字幕生成)中我們希望進行預測,使得它與先前生成的輸出(例如,標題中已生成的字)一致。為實現此目的,網絡以類似的方式處理輸入序列中的每個元素(同時考慮先前的計算狀態)。 因此,它也稱為RNN。
由于RNN以依賴于先前計算狀態的方式處理信息,因此它們提供了“記住”先前狀態的機制。 存儲機制通常有效地僅記住先前由網絡處理的短時信息。下面,我們概述RNN的架構細節。
3.3.1基礎架構
簡單的RNN架構如圖3.3所示。如上所述,它包含一個反饋回路,其工作可以通過隨時間展開循環網絡來顯示(如圖3.3b所示)。展開版本的RNN非常類似于3.2節中描述的前饋神經網絡。 因此,我們可以將RNN理解為一個簡單的多層神經網絡,其中信息流隨時間發生,不同的層代表不同時刻的計算輸出。RNN對序列進行操作,因此輸入以及每個時刻的輸出也會變化。
圖3.3RNN架構。a)具有反饋回路的簡單循環網絡。b)在不同時間步展開的循環架構
下面將重點介紹RNN架構的主要功能。
可變長度輸入:RNN可以對可變長度的輸入(例如,具有可變幀長度的視頻、具有不同數量的單詞的句子、具有可變數量的點的3D點云)進行操作。展開的RNN結構的長度取決于輸入序列的長度,例如,對于由12個單詞組成的句子,在展開的RNN架構中將總共有12層。在圖3.3中,在每個時刻t,對網絡的輸入由變量xt表示。
隱藏狀態:RNN在內部保存先前計算的存儲,該隱藏狀態由ht表示??梢詫⒃摖顟B理解為展開的RNN結構中的前一層的輸入。在序列處理開始時,用0或隨機向量初始化它。 在每個時間步,通過考慮其先前值和當前輸入來更新該狀態:
其中,f(·)是非線性激活函數。權重矩陣B稱為轉移矩陣,因為它影響隱藏狀態隨時間的變化。
可變長度輸出:每個時間步的RNN輸出用yt表示。RNN能夠產生可變長度輸出,例如,將一種語言的句子翻譯成另一種語言,其中輸出序列長度可以與輸入序列長度不同。這是可能的,因為RNN在進行預測時會考慮隱藏狀態。隱藏狀態模擬先前處理的序列的聯合概率,其可用于預測新輸出。例如,在句子中給出一些起始單詞,RNN可以預測句子中的下一個可能的單詞,其中句子的特殊結尾符號用于表示每個句子的結尾。在這種情況下,所有可能的單詞(包括句子結尾符號)都包含在進行預測的字典中。
其中,f(·)是激活函數,例如柔性最大傳遞函數(softmax,見4.2.4節)。
共享參數:在展開RNN結構中,鏈接輸入、隱藏狀態和輸出的參數(分別由A、B和C表示)在所有層之間共享。 這就是整個架構可以使用循環來表示它的遞歸架構的原因。由于RNN中的參數是共享的,因此可調參數的總數遠小于MLP,MLP網絡中的每個層需要學習一組單獨的參數。這樣可以有效地訓練和測試反饋網絡。
基于上述的RNN架構的描述,可以注意到網絡的隱藏狀態確實提供了存儲機制,但是當我們想要記住序列中的長時關系時它是沒有效果的。因此,RNN僅提供短時記憶并且難以“記住”(幾步之外)通過它處理的舊信息。為了克服這一限制,文獻中引入了改進版本的循環網絡,其中包括長短時記憶網絡(LSTM) [Hochreiter and Schmidhuber,1997]、門控遞歸單元(GRU)[Cho et al.,2014]、雙向RNN(BRNN)[Graves and Schmidhuber,2005]和神經圖靈機(NTM)[Graves et al.,2014]。但是,所有這些網絡架構及其功能的詳細信息都超出了本書的范圍,本書主要關注前饋架構(特別是CNN)。
卷積神經網絡 神經網絡
版權聲明:本文內容由網絡用戶投稿,版權歸原作者所有,本站不擁有其著作權,亦不承擔相應法律責任。如果您發現本站中有涉嫌抄襲或描述失實的內容,請聯系我們jiasou666@gmail.com 處理,核實后本網站將在24小時內刪除侵權內容。
版權聲明:本文內容由網絡用戶投稿,版權歸原作者所有,本站不擁有其著作權,亦不承擔相應法律責任。如果您發現本站中有涉嫌抄襲或描述失實的內容,請聯系我們jiasou666@gmail.com 處理,核實后本網站將在24小時內刪除侵權內容。