《人工智能技術基礎》課件 第4章 循環(huán)神經網絡_第1頁
《人工智能技術基礎》課件 第4章 循環(huán)神經網絡_第2頁
《人工智能技術基礎》課件 第4章 循環(huán)神經網絡_第3頁
《人工智能技術基礎》課件 第4章 循環(huán)神經網絡_第4頁
《人工智能技術基礎》課件 第4章 循環(huán)神經網絡_第5頁
已閱讀5頁,還剩27頁未讀, 繼續(xù)免費閱讀

下載本文檔

版權說明:本文檔由用戶提供并上傳,收益歸屬內容提供方,若內容存在侵權,請進行舉報或認領

文檔簡介

人工智能技術基礎循環(huán)神經網絡第四章

循環(huán)神經網絡(RecurrentNeuralNetwork,RNN)是一類處理序列數據的人工神經網絡。相較于卷積神經網絡關注的是數據中的局部特征,循環(huán)神經網絡關注的是序列數據中按照序列順序的前后依賴關系。它將先前數據的計算結果與之后的數據一同計算產生新的結果,如此循環(huán)往復。正是因為循環(huán)網絡對于不同時間步的數據不是同時計算的,因而可以處理可變長度的序列數據,大大擴大了應用范圍。4循環(huán)神經網絡簡介1.了解RNN的基本知識和形式化的數學模型表示;2.掌握循環(huán)神經網絡的訓練方法;3.掌握標準RNN的前向計算和時間反向傳播計算過程;4.掌握幾種流行的RNN變體結構;5.了解RNN的應用結構。學習目標4循環(huán)神經網絡目錄Contents4.1循環(huán)神經網絡的基本結構循環(huán)神經網絡的訓練方法循環(huán)神經網絡拓展模型循環(huán)神經網絡的應用結構小結4.24.34.44.501循環(huán)神經網絡的基本結構4.1循環(huán)神經網絡的基本結構1990年,JeffreyElman將多層前向神經網絡隱層的輸出引回到輸入層作為聯系單元與原輸入層單元并列與隱層神經元相連接,構成描述動態(tài)系統(tǒng)狀態(tài)的神經網絡模型,當時被稱為Elman網,也被稱為循環(huán)神經網絡(RNN),主要用于動態(tài)系統(tǒng)建模解決復雜系統(tǒng)預測預報問題。1997年JürgenSchmidhuber將RNN中的簡單常規(guī)神經元替換成具有更多連接權值的復雜記憶單元,提出了長短期記憶(LongShort-TermMemory,LSTM)模型,使RNN的能力大為提高。2003年YoshuaBengio把RNN用于解決傳統(tǒng)語言處理模型的“維度詛咒(CurseofDimensionality)”問題,使其在自然語言處理中開始應用。2012年卷積神經網絡在物體分類識別上的成功,使RNN返回研究人員的視野,已在機器翻譯、語音識別和個性化推薦等眾多領域效果顯著,成為解決與時序相關聯問題的主要深度神經網絡模型。4.1循環(huán)神經網絡的基本結構RNN物理結構圖RNN按時序展開結構圖4.1循環(huán)神經網絡的基本結構從RNN按時序展開的結構可以看到,RNN在每一時刻都有外部輸入,反饋形成的環(huán)(回)路展開后,上一時刻隱層的輸出與本時刻的外部輸入同時送入本時刻的隱層,展開的網絡深度與輸入的時序數據的長度一致,數據越長,網絡越深,因此RNN本質上也是深度前向神經網絡。RNN按時序展開結構不同于常規(guī)前向神經網絡,其各隱層的神經元數量是相同的,且網絡各層中的輸入到隱層的連接權、隱層到隱層的反饋連接權和隱層到輸出層的連接權是全網絡共享不變的。需要注意的是RNN沒有強制要求輸入序列與輸出序列的長度必須相等。RNN的數學模型如下:4.1循環(huán)神經網絡的基本結構RNN中隱層神經元激活函數通常采用tanh函數,輸出神經元的激活函數則依據所解決的問題確定,如果是二分類問題則使用Sigmoid函數,如果是多分類問題則使用Softmax函數。RNN計算單元02循環(huán)神經網絡的訓練方法4.2循環(huán)神經網絡的訓練方法

RNN可以使用誤差反向傳播算法的思想進行訓練。訓練RNN的算法為通過時間反向傳播BPTT(BackPropagationThroughTime,BPTT)算法,它和傳統(tǒng)的反向傳播算法BP有類似之處,它們的核心任務都是利用反向傳播調整參數,從而使得損失函數最小化。通過時間反向傳播算法,也包含前向計算和反向計算兩個步驟。4.2循環(huán)神經網絡的訓練方法標準結構RNN的前向傳播過程,如下圖所示,為了有效區(qū)分不同類型的連接權,分別用U、W、V代表輸入權、反饋權和輸出權。圖中各個符號的含義:x是輸入,h是隱層節(jié)點,o為輸出,L為損失函數,y為訓練集的標簽。這些元素右上角帶的t代表t時刻的狀態(tài),其中需要注意的是,因為單元h在t時刻的表現不僅由此刻的輸入決定,還受t時刻之前時刻的影響。U、W、V是權值,同一類型的連接權值相同。4.2.1循環(huán)神經網絡的前向輸出流程RNN的前向輸出流程4.2循環(huán)神經網絡的訓練方法BPTT算法是常用的訓練RNN的方法,其實本質還是BP算法,只不過RNN處理的是時間序列數據,所以要基于時間反向傳播,故叫隨時間反向傳播。BPTT的中心思想和BP算法相同,沿著需要優(yōu)化參數的負梯度方向不斷尋找更優(yōu)的點直至收斂。因此,BPTT算法還是BP算法,本質上還是梯度下降,那么求各個參數的梯度便成了此算法的核心。需要尋優(yōu)的參數有三個,分別是U、W、V。與BP算法不同的是,三個參數的尋優(yōu)過程需要追溯之前的歷史數據。4.2.2循環(huán)神經網絡的訓練方法——隨時間反向傳播4.2循環(huán)神經網絡的訓練方法在梯度累乘過程中,如果取Sigmoid函數作為激活函數的話,那么必然是一堆小數在做乘法,結果就是越乘越小。隨著時間序列的不斷深入,小數的累乘就會導致梯度越來越小直到接近于0,這就是“梯度消失”現象。梯度消失就意味消失那一層的參數再也不更新,那么那一層隱層就變成了單純的映射層,毫無意義了,所以在深層神經網絡中,有時候多增加層的神經元數量可能會比多加層數即深度更好。RNN的特點就是能“追根溯源”利用歷史數據,歷史數據越長“梯度消失”越嚴重,因此解決“梯度消失”越是非常必要的。ReLU函數可以解決循環(huán)神經網絡中的梯度消失問題。4.2.3循環(huán)神經網絡中梯度消失和爆炸問題及解決方法1.梯度消失的原因與解決辦法4.2循環(huán)神經網絡的訓練方法4.2.3循環(huán)神經網絡中梯度消失和爆炸問題及解決方法1.梯度消失的原因與解決辦法Sigmoid函數及其導數圖tanh函數及其導數圖ReLU函數及其導數圖4.2循環(huán)神經網絡的訓練方法使用ReLU解決了RNN的“梯度消失”問題,但也帶來了另一個問題—“梯度爆炸”問題。一旦激活函數的導數恒為1,由于網絡權W的取值無約束,連乘很容易使損失函數對連接權的偏導數越來越大(時序越長,RNN展開結構的隱層越多,乘積越大),導致“梯度爆炸”現象的發(fā)生。深度前向神經網絡的激活函數采用ReLU同樣存在“梯度爆炸”問題?!疤荻缺ā眴栴}的解決比較簡單,只需要給損失函數對三組連接權的梯度的絕對值設定合適的閾值,限制其最大值就可以解決這個問題。對于“梯度消失”和“梯度爆炸”,通過采取將網絡初始權值設為接近0的非常小的數值,對網絡的輸入值做正則化或歸一化處理和對網絡隱層輸出做逐層正則化(LN)處理等措施,也可在網絡訓練過程中有效減少這兩種現象的發(fā)生,提高網絡的訓練效率。4.2.3循環(huán)神經網絡中梯度消失和爆炸問題及解決方法2.梯度爆炸的原因與解決辦法03循環(huán)神經網絡拓展模型4.3循環(huán)神經網絡拓展模型簡單循環(huán)網絡是RNN的一種特殊情況,如圖所示,SRNN是一個三層網絡,與傳統(tǒng)RNN網絡結構相比,SRNN只是隱層神經元自身有自反饋,這個反饋并不連接到其它隱層神經元,相當于只在隱層增加了上下文信息。SRNN在20世紀90年代被稱為對角回歸神經網絡。圖中I1-In為網絡的輸入,Y1-Yn為網絡的隱層,M1-Mn為上下文單元。從圖中可以看出Y1-Yn與M1-Mn為一一對應關系,即上下文單元節(jié)點與隱層中節(jié)點的連接是固定的,而且相應的權值也是固定的。4.3.1簡單循環(huán)網絡SRNN基本結構4.3循環(huán)神經網絡拓展模型在循環(huán)神經網絡的輸入和輸出目標之間添加與輸入時序長度相同的暫存單元,存儲所有隱層的輸出信息,并增加一個具有反饋連接的隱層,該隱層按輸入時序相反的方向順序接收信息,即首先接受時序輸入的最后一個信息,再接受倒數第二個信息,最后接受第一個信息,進而將兩個信息流動方向相反的隱層輸出同時送入網絡的輸出層神經元中。按上述思想構造的循環(huán)神經網絡被稱為雙向循環(huán)神經網絡(Bi-directionalRecurrentNeuralNetwork,BRNN)。4.3.2雙向循環(huán)網絡BRNN雙向網絡基本結構4.3循環(huán)神經網絡拓展模型1997年JürgenSchmidhuber提出的長短期記憶(LongShort-TermMemory,LSTM)模型,將RNN中的簡單MP神經元替換成具有更多連接權值的復雜記憶單元,使其記憶能力和處理復雜系統(tǒng)問題的能力大大提高。LSTM是RNN的一種變體,它通過精妙的門控制將RNN中隱層的狀態(tài)信息(可以看做長期記憶)和當前時刻的輸入信息(可以看作短期記憶)結合起來,有效地提高了RNN解決復雜問題的能力。4.3.3長短期記憶網絡長短期記憶網絡基本結構4.3循環(huán)神經網絡拓展模型LSTM的關鍵就是細胞狀態(tài),水平線在圖上方貫穿運行。細胞狀態(tài)類似于傳送帶,直接在整個鏈上運行,只有一些少量的線性交互,信息在上面流傳保持不變會很容易。LSTM擁有三個門,來保護和控制細胞狀態(tài),分別為遺忘門、輸入門、輸出門。4.3.3長短期記憶網絡遺忘門輸入門輸出門4.3循環(huán)神經網絡拓展模型門控循環(huán)單元(GatedRecurrentUnit,GRU)網絡是這些LSTM變體中影響最大的變體。它只有兩個門,分別為更新門和重置門,它將遺忘門和輸入門合成了一個單一的更新門。更新門用于控制前一時刻的狀態(tài)信息被帶入到當前狀態(tài)中的程度,更新門的值越大說明前一時刻的狀態(tài)信息帶入越多。重置門用于控制忽略前一時刻的狀態(tài)信息的程度,重置門的值越小說明忽略得越多。4.3.4門控循環(huán)單元網絡GRU網絡基本結構04循環(huán)神經網絡的應用結構循環(huán)神經網絡本身的特性使其特別適合處理時序數據,根據實際應用場景的需要,RNN有四種常用的按時序展開結構:同步的序列到序列結構、序列分類結構、向量到序列結構、異步的序列到序列的模式。它們是針對不同類型的輸入輸出分別設計的。4.4循環(huán)神經網絡的應用結構N到N結構又稱為變換器(Transducer),最經典的RNN結構要求輸入序列和輸出序列的長度相同。如圖所示,損失函數L為每一時刻隱層節(jié)點的輸出o(t-l)與相應時刻的期望輸出y(t)序列的差異;當前時刻t的隱層節(jié)點h(t)輸入為上一時刻的隱層h(t-l)輸出和當前時刻的序列輸入x(t),W為連接權重。雖然這種結構要求輸入輸出序列長度相同,但是輸入和輸出序列的長度是可變的,這也正是RNN在處理序列數據時相對于CNN的優(yōu)勢。4.4循環(huán)神經網絡的應用結構4.4.1同步的序列到序列結構(N到N)N到N的結構N到N結構的典型應用如:計算視頻中每一幀的分類標簽、詞性標注、訓練語言模型使用之前的詞預測下一個詞等。N到1結構又稱為接受器(Acceptor),輸入x是一個時間序列,輸出o是一個單獨的值而不是時間序列,最后一個時間步的隱層節(jié)點輸出用于表示整個輸入序列x的特征,也可以用最后全部時間步的隱層節(jié)點輸出的某個函數值fo來表示序列x的特征。N到1結構通常用來處理序列分類問題,如一段語音、一段文字的類別,句子的情感分析,視頻序列的類別判斷等。4.4循環(huán)神經網絡的應用結構4.4.2序列分類結構(N到1)N到1的結構1到N結構的網絡輸入為固定長度的向量,而非上文中的按照時間展開的向量序列。常用的1到N結構中,有一種結構只在序列開始進行輸入,而每一個時間步都有輸出。另一種為在隱層的每一個時間步都將x作為輸入。圖中當前時間步的期望輸出也作為下一時間步的隱層節(jié)點輸入,是該結構的另一種變體。1到N結構常用于圖像理解。4.4循環(huán)神經網絡的應用結構4.4.3向量到序列結構(1到N)1到N結構首步輸入1到N結構每步輸入N到M的結構又叫編碼-譯碼(Encoder-Decoder)模型,也可稱之為Seq2Seq模型。N到N結構的RNN要求輸入和輸出序列長度相同,編碼-譯碼模型則不受此約束限制。用一個編碼網絡將輸入的序列編碼為一個上下文向量c。然后,用一個譯碼網絡對c進行譯碼,將其變成輸出序列。N到M結構實質上使用了2個RNN,編碼器是一個N到1展開結構的RNN,譯碼器是一個1到M的

溫馨提示

  • 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請下載最新的WinRAR軟件解壓。
  • 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯系上傳者。文件的所有權益歸上傳用戶所有。
  • 3. 本站RAR壓縮包中若帶圖紙,網頁內容里面會有圖紙預覽,若沒有圖紙預覽就沒有圖紙。
  • 4. 未經權益所有人同意不得將文件中的內容挪作商業(yè)或盈利用途。
  • 5. 人人文庫網僅提供信息存儲空間,僅對用戶上傳內容的表現方式做保護處理,對用戶上傳分享的文檔內容本身不做任何修改或編輯,并不能對任何下載內容負責。
  • 6. 下載文件中如有侵權或不適當內容,請與我們聯系,我們立即糾正。
  • 7. 本站不保證下載資源的準確性、安全性和完整性, 同時也不承擔用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。

評論

0/150

提交評論