1. 程式人生 > >臺灣大學深度學習課程 學習筆記 Lecture 5-1: Gated RNN(LSTM與GRU介紹)

臺灣大學深度學習課程 學習筆記 Lecture 5-1: Gated RNN(LSTM與GRU介紹)

Review

RNN

假設現在有3個sequence表示為 x1x2x3,設定的初始化向量 h0 ;將 x1h0放入function f 中,得到 y1h1h1是和h0 維度一樣的;把 x2h1 放入與之前一樣的 f 中,得到結果y2h2;繼續直到完成全部的sequence
RNN結構

Deep RNN

上面說的方法只有一個隱藏層,RNN當然也可以是多個隱藏層的Deep RNN。如下圖,輸出的 y1 結果可以和另一個初始化的向量 b0 放到另一個function f2 中,得到 c1b1 ,然後繼續……
deep RNN

Bidirectional RNN 雙向

首先從 x

1x3 正向跑出一個結果 a1,a2,a3
正向
然後再從 x3x1 反向跑出一個結果c1,c2,c3
反向
最後將結果 a1,a2,a3c1,c2,c3 對應地放入新function f3 中,得到最終的結果 y1,y2,y3
正反結合

基本單元

詳細看一下RNN中的具體重複模組中的計算方法,首先得到 h=σ(Whh+Wix) ,再計算得到 y=σ(Woh) 。如果 y 是輸出層,需要經過softmax計算。其中引數 Wh,Wi,Wo 是迴圈中共用的。
以上沒有考慮bias
naive

LSTM

長短期記憶(Long Short-Term Memory, LSTM)是一種時間遞迴神經網路(RNN),論文首次發表於1997年。由於獨特的設計結構,LSTM適合於處理和預測時間序列中間隔和延遲非常長的重要事件。
LSTM的表現通常比時間遞迴神經網路及隱馬爾科夫模型(HMM)更好。 ——

維基百科

之前講過RNN的一個侷限性,在RNN迴圈中,往往前面的word對後面word影響很小,但有時前面的word對後面的word卻起著比較重要的作用。
比如I grew up in France... I speak fluent FrenchFranceFrench相距較遠,但關係卻很近。這裡就引入了LSTM。

其實LSTM的整體框架結構與普通的RNN很相似,只不過具體到每個單元上時,結構稍微複雜一些(假設一個單元就是迴圈中的一個神經網路結構)。

首先的區別,LSTM將RNN中的 h 分成了兩部分,chc 變化的慢, h 變化的快。
LSTM

然後,LSTM每個單元由四個不同的 z

經過不同的計算組合而成 。
如下圖,將 xtht1 兩個向量進行合併,得到一個新的向量。然後與對應的權重相乘後,使用 tanh 當做啟用函式,進行非線性轉換,最終得到 z
同樣的方法處理 zf,zi,zo,分別對應input gateforget gateoutput gate

需要注意的是 zf,zi,zo 使用的啟用函式是 sigmoid ,與第一個不同。
z

為了更好的理解上面的內容,引入一段話:

LSTM最核心的部分是cell state,即圖中的 ct

相關推薦

臺灣大學深度學習課程 學習筆記 Lecture 5-1: Gated RNNLSTMGRU介紹

Review RNN 假設現在有3個sequence表示為 x1、x2、x3,設定的初始化向量 h0 ;將 x1 與h0放入function f 中,得到 y1 與 h1,h1是和h0 維度一樣的;把 x2 與 h1 放入與之前一樣的 f 中

深度學習自然語言處理(7)_斯坦福cs224d 語言模型,RNNLSTMGRU

說明:本文為斯坦福大學CS224d課程的中文版內容筆記,已得到斯坦福大學課程@Richard Socher教授的授權翻譯與發表 1.語言模型 語言模型用於對特定序列的一系列詞彙的出現概率進行計算。一個長度為m的詞彙序列{w1,…,wm}的聯合概率被表示為

寫給程式設計師的機器學習入門 (五) - 遞迴模型 RNNLSTM GRU

## 遞迴模型的應用場景 在前面的文章中我們看到的多層線性模型能處理的輸入數量是固定的,如果一個模型能接收兩個輸入那麼你就不能給它傳一個或者三個。而有時候我們需要根據數量不一定的輸入來預測輸出,例如文字就是數量不一定的輸入,“這部片非常好看” 有 7 個字,“這部片很無聊” 有 6 個字,如果我們想根據文字

臺灣大學深度學習課程 學習筆記 lecture3-1 Recurrent Neural Network (RNN)

Recurrent Neural Network (RNN)迴圈神經網路常被用到的領域是Language Modeling,下面就從Language Modeling方法的發展,引入RNN。 Language Modeling 多個word組成一句話

神經網路深度學習課程學習筆記第二章

第二章 神經網路基礎 自學Andrew Ng老師的神經網路公開課,作一些筆記,老師講的非常詳細,通俗易懂,感覺不需要做第一章的筆記,所以沒有 2.1 二分分類 什麼是二分分類問題,用影象中是否有小貓的例子來說明,影象的顏色畫素數值是演算法的輸入,是否有小貓

機器學習基石筆記-Lecture 5-7 VC dimension

func contain containe attach 一個數 實的 man 分享 alt 為了引出VC維做了很長的鋪墊。。VC維:用來描述假設空間的表達能力。 第四節講到對有限的假設空間,只要N足夠大,不管A如何選g,訓練數據如何選取,g的訓練錯誤率和真實的錯誤率都

【C語言】Coursera課程《計算機程式設計》臺灣大學劉邦鋒——Week4課堂筆記

三次 編譯 scan parameter pass 命令 是把 dex float Coursera課程 《計算機程式設計》臺灣大學 劉邦鋒 Week4 Functions 4-1 System Function 函數主要分為兩大類系統定義函數與使用者定義函數,例如prin

吳恩達深度學習課程學習總結

本文章主要總結吳恩達DeepLearning課程中所提到的一些機器學習策略 1、啟用函式 Sigmoid函式 tanh函式 ReLU函式 2、權重初始化 全零初始化的弊端:若權重初始化為0,則在訓練過程中,每個隱含層之間存在對稱性,即在訓練過程中,每個隱含層的求導等

AI-005: 吳恩達教授Andrew Ng的機器學習課程學習筆記15-20

本文是學習Andrew Ng的機器學習系列教程的學習筆記。教學視訊地址: 本文中的白色背景視訊截圖來自Andrew Ng的視訊腳程, 思維導圖為原創總結。 多變數的線性迴歸: 15. Linear Regression with multiple variables

AI-004: 吳恩達教授Andrew Ng的機器學習課程學習筆記1-14

本文是學習Andrew Ng的機器學習系列教程的學習筆記。教學視訊地址: 本文中的白色背景視訊截圖來自Andrew Ng的視訊腳程, 思維導圖為原創總結。 ML基礎介紹,單變數的線性迴歸: Introduce ML: grew out of work in A

AI-009: 吳恩達教授Andrew Ng的機器學習課程學習筆記38-47

本文是學習Andrew Ng的機器學習系列教程的學習筆記。教學視訊地址: 38. Neural Networks - Representation - Non-linear hypotheses Why neural networks? Simple linear

AI-008: 吳恩達教授Andrew Ng的機器學習課程學習筆記34-37

本文是學習Andrew Ng的機器學習系列教程的學習筆記。教學視訊地址: 正則化來解決過擬合問題: 34. Regularization - the problem of overfitting What’s overfitting? 過擬合就是我們的假設函式與樣本

AI-007: 吳恩達教授Andrew Ng的機器學習課程學習筆記27-33

本文是學習Andrew Ng的機器學習系列教程的學習筆記。教學視訊地址: 分類問題思維導圖: 27. Logistic Regression - Classification Example: It is not good to use linear regr

AI-014: 吳恩達教授Andrew Ng的機器學習課程學習筆記49

本文是學習Andrew Ng的機器學習系列教程的學習筆記。教學視訊地址: 49. Machine learning system design: prioritizing what to work on: spam classification example 以建立

Coursera吳恩達機器學習課程 總結筆記及作業程式碼——第5周神經網路續

Neural Networks:Learning 上週的課程學習了神經網路正向傳播演算法,這周的課程主要在於神經網路的反向更新過程。 1.1 Cost function 我們先回憶一下邏輯迴歸的價值函式 J(θ)=1m[∑mi=1y(i)log(hθ

Coursera吳恩達機器學習課程 總結筆記及作業程式碼——第1,2周

Linear’regression 發現這個教程是最入門的一個教程了,老師講的很好,也很通俗,每堂課後面還有程式設計作業,全程用matlab程式設計,只需要填寫核心程式碼,很適合自學。 1.1 Model representation 起始給出了

Coursera吳恩達機器學習課程 總結筆記及作業程式碼——第6周有關機器學習的小建議

1.1 Deciding what to try next 當你除錯你的學習演算法時,當面對測試集你的演算法效果不佳時,你會怎麼做呢? 獲得更多的訓練樣本? 嘗試更少的特徵? 嘗試獲取附加的特徵? 嘗試增加多項式的特徵? 嘗試增加λ? 嘗試減小λ?

RNN LSTMGRU深度學習模型學習筆記

RNN(Recurrent Neural Network), LSTM(Long Short-Term Memory)與GRU(Gated Recurrent Unit)都是自然語言處理領域常見的深度學習模型。本文是一個關於這些模型的筆記,依次簡單介紹了RNN,

[javase學習筆記]-6.5 類類型參數匿名對象

需要 public num trac article 我們 品牌 類類型 color 這一節我們來說說類類型參數和匿名對象. 我們繼續用之前的小汽車類吧 class Car { int num;//這是輪胎數屬性 String color;//這是顏色屬性

Python學習筆記__4.4章 裝飾器添加額外功能

編程語言 Python # 這是學習廖雪峰老師python教程的學習筆記1、概覽裝飾器可以幫助我們為已經存在的對象添加額外的功能裝飾器本質上是一個Python函數,它可以讓其他函數在不需要做任何代碼變動的前提下增加額外功能,裝飾器的返回值也是一個函數對象。裝飾器經常用於有切面需求的場景,比如:插入日誌