Leo Yeh's Blog

SAS 深度學習 (3)

教學目標

初步了解 SAS 深度學習中遞歸神經網路的基本概念。

重點概念

首先遞歸神經網路 (RNN) 主要是用於建立序列資料的框架,在某些情況下回應變數可能為連續,並且按照時間序列中的索引變數的順序進行記錄觀察,並且針對目前觀察進行預測,如今遞歸神經網路已被廣泛和成功地用於時間序列預測、語音分析和文字分析。而遞歸神經網路被稱為循環,主要是因為其對於序列的每個元素執行相同的任務,每個元素的輸出取決於其前面元素的計算,而序列資料是許多應用程式的基礎,該序列資料主要由一系列標記組成,其中標記是對應於特定時間或序列索引的數字向量,像是假設一個序列由溫度,氣壓,濕度和降水量度組成,則每小時在特定的地理位置。在這種情況下,標記將是四個浮點數的向量,表示每小時的這些測量。

接著原始遞歸神經網路在架構上非常簡單,但是對於長序列來說可能很難訓練,原始遞歸神經網路主要有兩種常見的類型,分別為 LSTM 和 GRU,在 SAS 深度學習操作中主要支持所有三種遞歸神經網路模型的類型,分別為 RNN,LSTM,GRU),而我們主要會使用遞歸神經網路進行以下應用程序的相關應用,分別為:

  1. 預測時間序列:輸入為數值序列資料的應用程式,輸出為單個數值或目標值。
  2. 自動語音識別:輸入是數值序列資料的應用程序,輸出是輸入序列的標籤。
  3. 文本情感分析:輸入是文本資料的應用程式,輸出是單個數值或目標值。

再來建立遞歸神經網路模型主要可以描述為多對多的網路,也就是有多個輸入和多個輸出,並且按順序記錄的目標值,而另一種的遞歸神經網路為多對一的網路,不論是多對多或多對一的網路,其中主要皆有四種圖層類型,分別為:

  1. 輸入層 (必要)
  2. 遞歸層 (必要)
  3. 完全連接層 (非必要)
  4. 輸出層 (必要)

此外在遞歸神經網路模型中的資訊除了設定單向流動之外,當前和過去的資訊確定當前隱藏單元與目標的關係,更能夠設定以雙向流動,在確定當前隱藏單元時考慮過去,當前和未來資訊與目標的關係。此外權重是遞歸神經網路常見的功能,主要為在兩個圖層之間的連接方式,輸入給定序列的變數或使用權重向量,以利將時間間隔組合在對應的隱藏單元中,像是間隔時間的應用就很常見,每層中的資訊和共同權重組合,將有助於產生對於目標當前值的預測。

最後基本遞歸神經網路的框架可能會遇到問題,當產生資料包含具有相當長記憶的元件時,此外為了學習這些元件將會有數學挑戰性,反向傳播的過程涉及到評估損失函數的導數或梯度相對於每個中的權重值,而對於遞歸神經網路中較長的儲存過程,這些梯度必須在很多階段傳播或間隔,這可能會導致梯度形式的優化過程出現問題發生消失或爆炸,此時我們就會使用 LSTM 和 GRU 來解決基本遞歸神經網路的框架所面臨的問題,其中 LSTM 明確地設計用於學習長期存在各種各樣問題的依賴關係,如今被廣泛使用。

相關資源

⬅️ Go back