成人免费xxxxx在线视频软件_久久精品久久久_亚洲国产精品久久久_天天色天天色_亚洲人成一区_欧美一级欧美三级在线观看

LSTM、GRU與神經圖靈機:詳解深度學習最熱門的循環神經網絡

移動開發 深度學習
循環神經網絡是當前深度學習熱潮中最重要和最核心的技術之一。近日,Jason Brownlee 通過一篇長文對循環神經網絡進行了系統的介紹。

循環神經網絡(RNN/recurrent neural network)是一類人工神經網絡,其可以通過為網絡添加額外的權重來在網絡圖(network graph)中創建循環,以便維持一個內部狀態。

為神經網絡添加狀態的好處是它們將能在序列預測問題中明確地學習和利用背景信息(context),這類問題包括帶有順序或時間組件的問題。

在這篇文章中,你將踏上了解用于深度學習的循環神經網絡的旅程。

在讀完這篇文章后,你將了解:

  • 用于深度學習的***循環神經網絡的工作方式,其中包括 LSTM、GRU 和 NTM。
  • *** RNN 與人工神經網絡中更廣泛的循環(recurrence)研究的相關性。
  • RNN 研究如何在一系列高難度問題上實現了當前***的表現。

注意,我們并不會覆蓋每一種可能的循環神經網絡,而是會重點關注幾種用于深度學習的循環神經網絡(LSTM、GRU 和 NTM)以及用于理解它們的背景。

那就讓我們開始吧!

概述

我們首先會設置循環神經網絡領域的場景;然后,我們將深入了解用于深度學習的 LSTM、GRU 和 NTM;之后我們會花點時間介紹一些與用于深度學習的 RNN 相關的高級主題。

  • 循環神經網絡
  • 完全循環網絡(Fully Recurrent Networks)
  • 遞歸神經網絡(Recursive Neural Networks)
  • 神經歷史壓縮器(Neural History Compressor)
  • 長短期記憶網絡(LSTM)
  • 門控循環單元(GRU)神經網絡
  • 神經圖靈機(NTM)

循環神經網絡

首先讓我們設置場景。

人們普遍認為循環(recurrence)是給網絡拓撲結構提供一個記憶(memory)。

一種更好的看法是訓練集包含一種樣本——其帶有一組用于循環訓練樣本的輸入。這是「傳統的慣例」,比如傳統的多層感知器

X(i) -> y(i)

但是該訓練樣本得到了來自之前的樣本的一組輸入的補充。這是「非傳統的」,比如循環神經網絡

[X(i-1), X(i)] -> y(i)

和所有的前饋網絡范式一樣,問題的關鍵是如何將輸入層連接到輸出層(包括反饋激活),然后訓練該結構使其收斂。

現在,讓我們來看看幾種不同的循環神經網絡,首先從非常簡單的概念開始

完全循環網絡

多層感知器的分類結構得到了保留,但該架構中的每個元素與其它每個元素之間都有一個加權的連接,并且還有一個與其自身的反饋連接。

并不是所有這些連接都會被訓練,而且其誤差導數的極端非線性意味著傳統的反向傳播無法起效,因此只能使用通過時間的反向傳播(Backpropagation Through Time)方法或隨機梯度下降(SGD)。

  • 另外,可參閱 Bill Willson 的張量積網絡(Tensor Product Networks):http://www.cse.unsw.edu.au/~billw/cs9444/tensor-stuff/tensor-intro-04.html

遞歸神經網絡

循環神經網絡是遞歸網絡的線性架構變體。

遞歸(recursion)可以促進分層特征空間中的分支,而且其所得到的網絡架構可以在訓練進行中模擬它。

其訓練是通過子梯度方法(sub-gradient methods)使用隨機梯度實現的。

R. Socher 等人 2011 年的論文《Parsing Natural Scenes and Natural Language with Recursive Neural Networks》中使用 R 語言對其進行了詳細的描述,參閱:http://machinelearning.wustl.edu/mlpapers/paper_files/ICML2011Socher_125.pdf

神經歷史壓縮器

在 1991 年,Schmidhuber 首先報告了一種非常深度的學習器,其可以通過一種 RNN 層次的無監督預訓練來在數百個神經層上執行功勞分配(credit assignment)。

每個 RNN 都是無監督訓練的,可以預測下一個輸入。然后只有產生錯誤的輸入會被前饋,將新信息傳送到該層次結構中的下一個 RNN,然后以更慢的、自組織的時間尺度進行處理。

事實表明不會有信息丟失,只是會有壓縮。該 RNN stack 是數據的一個「深度生成模型(deep generative model)。這些數據可以根據其壓縮形式重建。

  • 參閱 J. Schmidhuber 等人 2014 年的論文《Deep Learning in Neural Networks: An Overview》:http://www2.econ.iastate.edu/tesfatsi/DeepLearningInNeuralNetworksOverview.JSchmidhuber2015.pdf

當誤差被反向傳播通過大型結構時,非線性導數的極限(extremity)的計算會增長,會使功勞分配(credit assignment)困難甚至是不可能,使得反向傳播失敗。

長短期記憶網絡

使用傳統的通過時間的反向傳播(BPTT)或實時循環學習(RTTL/Real Time Recurrent Learning),在時間中反向流動的誤差信號往往會爆炸(explode)或消失(vanish)

反向傳播誤差的時間演化指數式地依賴于權重的大小。權重爆炸可能會導致權重振蕩,而權重消失則可能導致學習彌合時間滯后并耗費過多時間或根本不工作。

  • LSTM 是一種全新的循環網絡架構,可用一種合適的基于梯度的學習算法進行訓練。
  • LSTM 是為克服誤差反向流動問題(error back-flow problem)而設計的。它可以學習橋接超過 1000 步的時間間隔。
  • 在有噪聲的、不可壓縮的輸入序列存在,而沒有短時間滯后能力的損失時,這是真實的。

通過一種有效的基于梯度的算法,誤差反向流動問題可以克服,因為該算法讓網絡架構可以強迫常量(因此不會有爆炸或消失)誤差流過特殊單元的內部狀態。這些單元可以減少「輸入權重沖突(Input Weight Conflict)」和「輸出權重沖突(Output Weight Conflict)」的影響。

輸入權重沖突:如果輸入是非零的,則同樣的輸入權重必須被同時用于存儲特定的輸入并忽略其它輸入,那么這就將會經常收到有沖突的權重更新信號。

這些信號將會試圖使該權重參與存儲輸入并保護該輸入。這種沖突會使學習變得困難,并且需要一個對背景更敏感的機制來通過輸入權重控制「寫入操作(write operations)」。

輸出權重沖突:只要一個單元的輸出是非零的,那么這個單元的輸出連接的權重就將吸引在序列處理過程中生成的有沖突的權重更新信號。

這些信號將試圖使正在輸出的權重參與進來,獲取存在在處理單元中信息,并且在不同的時間保護后續的單元免受正被饋送的單元的輸出的干擾。

這些沖突并不特定于長期滯后(long-term lags),并且也可以同樣影響到短期滯后(short-term lags)。值得注意的是,隨著滯后的增長,存儲的信息必須被保護起來免受干擾,尤其是在學習的高級階段。

網絡架構:不同類型的單元都可能傳遞關于網絡當前狀態的有用信息。比如說,一個輸入門(輸出門)可能會使用來自其它記憶單元(memory cell)的輸入來決定是否存儲(讀取)其記憶單元中的特定信息。

記憶單元包含門(gate)。門特定于它們調解的連接。輸入門是為了糾正輸入權重沖突,而輸出門是為了消除輸出權重沖突。

門:具體來說,為了緩解輸入和輸出權重沖突以及干擾,我們引入了一個乘法輸入門單元來保護存儲的記憶內容免受不相關輸入的干擾,還引入了一個乘法輸出門單元來保護其它單元免受存儲中當前不相關記憶內容的干擾。

LSTM 架構示例

LSTM 架構示例。這個 LSTM 網絡帶有 8 個輸入單元、4 個輸出單元和 2 個大小為 2 的記憶單元模塊。in1 是指輸入門,out1 是指輸出門,cell1 = block1 是指 block 1 的***個記憶單元。來自 1997 年的《Long Short-Term Memory》

因為處理元素的多樣性和反饋連接的,LSTM 中的連接比多層感知器的連接復雜。

記憶單元模塊:記憶單元共享同一個輸入門和同一個輸出門,構成一種名叫記憶單元模塊(memory cell block)的結構。

記憶單元模塊有利于信息存儲;就像傳統的神經網絡一樣,在單個單元內編碼一個分布式輸入可不是一件容易的事情。一個大小為 1 的記憶單元模塊就是一個簡單的記憶單元。

學習(Learning):一種考慮了由輸入和輸出門導致的修改過的、乘法動態的實時循環學習(RTRL/Real Time Recurrent Learning)的變體被用于確保通過記憶單元誤差的內部狀態反向傳播到達「記憶單元網絡輸入(memory cell net inputs)」的非衰減誤差(non-decaying error)不會在時間中被進一步反向傳播。

猜測(Guessing):這種隨機方法可以超越許多時間滯后算法。事實已經說明,之前的工作中所使用的許多長時間滯后任務可以通過簡單的隨機權重猜測得到比提出的算法更快的解決。

  • 參見 S. Hochreiter 和 J. Schmidhuber《Long-Short Term Memory》:http://dl.acm.org/citation.cfm?id=1246450

LSTM 循環神經網絡最有意思的應用出現在語言處理領域。更全面的描述可參閱 Gers 的論文 :

  • F. Gers 和 J. Schmidhuber 2001 年的論文《LSTM Recurrent Networks Learn Simple Context Free and Context Sensitive Languages》:ftp://ftp.idsia.ch/pub/juergen/L-IEEE.pdf
  • F. Gers 2001 年的博士論文《Long Short-Term Memory in Recurrent Neural Networks》:http://www.felixgers.de/papers/phd.pdf

LSTM 的局限性

LSTM 有效的截斷版本無法輕松解決類似于「強延遲的異或(strongly delayed XOR)」這樣的問題。

每個記憶單元模塊都需要一個輸入門和一個輸出門。并不一定需要其它循環方法。

在記憶單元內穿過「常量誤差傳送帶(Constant Error Carrousels)」的常量誤差流可以得到與傳統的前饋架構(會一次性獲得整個輸入串)一樣的效果。

和其它前饋方法一樣,LSTM 也有「regency」概念上的缺陷。如果需要精密的計數時間步驟,那么可能就需要額外的計數機制。

LSTM 的優點

該算法橋接長時間滯后的能力來自其架構的記憶單元中的常量誤差反向傳播。

LSTM 可以近似有噪聲的問題域、分布式表征和連續值。

LSTM 可以很好地泛化其所考慮的問題域。這是很重要的,因為有的任務無法用已有的循環網絡解決。

在問題域上對網絡參數進行微調看起來是不必要的。

在每個權重和時間步的更新復雜度方面,LSTM 基本上就等于 BPTT。

LSTM 很強大,在機器翻譯等領域實現了當前***的結果。

門控循環單元神經網絡

門控循環單元神經網絡已經在序列和時間數據上得到了成功的應用。

最適合語音識別、自然語言處理和機器翻譯。與 LSTM 一起,它們在長序列問題領域表現優良。

門控(gating)被認為是在 LSTM 主題中,涉及到一個門控網絡生成信號來控制當前輸入和之前記憶發生作用的方式,以更新當前的激活,從而更新當前的網絡狀態。

門本身是自我加權的,會在整個學習階段中根據一個算法有選擇性地更新。

門網絡會增加計算復雜度,從而會增加參數化(parameterization),進而引入額外的計算成本。

LSTM RNN 架構將簡單 RNN 的計算用作內部記憶單元(狀態)的中間候選項。門控循環單元(GRU)RNN 將 LSTM RNN 模型的門控信號減少到了 2 個。這兩個門分別被稱為更新門(update gate)和重置門(reset gate)。

GRU(和 LSTM)RNN 的門控機制和在參數化方面的簡單 RNN 一樣。對應這些門的權重也使用 BPTT 隨機梯度下降來更新,因為其要試圖最小化成本函數。

每個參數更新都將涉及到與整體網絡的狀態相關的信息。這可能會有不利影響。

門控的概念可使用三種新變體的門控機制來探索和擴展。

這三種門控變體為:GRU1(其中僅使用之前的隱藏狀態和偏置來計算每個門——、GRU2(其中僅使用之前的隱藏狀態來計算每個門—)和 GRU3(其中僅使用偏置來計算每個門)。我們可以觀察到參數顯著減少,其中 GRU3 的參數數量最小。

這三種變體和 GRU RNN 在手寫數字的 MNIST 數據庫和 IMDB 電影評論數據集上進行了基準測試。

從 MNIST 數據集生成了 2 個序列長度,而從 IMDB 數據集生成了 1 個序列長度。

這些門的主要驅動信號似乎是(循環)狀態,因為其包含關于其它信號的基本信息。

隨機梯度下降的使用隱含地攜帶了有關網絡狀態的信息。這可以解釋僅在門信號中使用偏置的相對成功,因為其自適應更新攜帶了有關網絡狀態的信息。

門控變體可使用有限的拓撲結構評估來探索門控機制。

更多信息請參閱:

  • R. Dey 和 F. M. Salem 2017 年的論文《Gate-Variants of Gated Recurrent Unit (GRU) Neural Networks》:https://arxiv.org/ftp/arxiv/papers/1701/1701.05923.pdf
  • J. Chung 等人 2014 年的論文《Empirical Evaluation of Gated Recurrent Neural Networks on Sequence Modeling》:https://pdfs.semanticscholar.org/2d9e/3f53fcdb548b0b3c4d4efb197f164fe0c381.pdf

神經圖靈機

神經圖靈機通過將神經網絡與外部記憶資源耦合而對該神經網絡的能力進行了延展——它們可以通過注意(attention)過程與外部記憶資源交互。參閱機器之心文章《神經圖靈機深度講解:從圖靈機基本概念到可微分神經計算機》。

這種組合的系統類似于圖靈機或馮·諾依曼結構,但它是端到端可微分的,使得其可以有效地使用梯度下降進行訓練。

初步的結果表明神經圖靈機可以根據輸入和輸出樣本推理得到基本的算法,比如復制、排序和聯想回憶(associative recall)。

RNN 相比于其它機器學習方法的突出之處在于其在長時間范圍內學習和執行數據的復雜轉換的能力。此外,我們都知道 RNN 是圖靈完備的,因此其有能力模擬任意程序,只要連接方式合適即可。

標準 RNN 的能力被擴展以簡化算法任務的解決方案。這種豐富性主要是通過一個巨大的可尋址的記憶實現的,所以通過類比于圖靈的通過有線存儲磁帶實現的有限狀態機(finite-state machine)的豐富性,其被命名為神經圖靈機(NTM)。

和圖靈機不同,神經圖靈機是一種可微分的計算機,可以通過梯度下降訓練,從而為學習程序提供了一種實用的機制。

神經圖靈機架構

神經圖靈機架構。NTM 架構大體上如上所示。在每一個更新循環中,控制器網絡接收一個來自外部環境的輸入并給出一個輸出作為響應。它也會通過一系列并行的讀寫頭來讀寫一個記憶矩陣(memory matrix)。虛線是 NTM 回路與外部世界的分界線。來自 2014 年的《Neural Turing Machines》

關鍵在于,該架構的每個組件都是可微分的,使其可以直接使用梯度下降進行訓練。這可以通過定義「模糊(blurry)」的讀寫操作來實現,其可以或多或少地與記憶中的所有元素進行交互(而非像普通的圖靈機或數字計算機那樣處理單個元素)。

更多信息請參閱:

  • A. Graves 等人 2014 年的《Neural Turing Machines》:https://arxiv.org/pdf/1410.5401.pdf
  • R. Greve 等人 2016 年的《Evolving Neural Turing Machines for Reward-based Learning》:http://sebastianrisi.com/wp-content/uploads/greve_gecco16.pdf

NTM 實驗

復制(copy)任務可以測試 NTM 是否可以存儲和回調長序列的任意信息。向該網絡提供一個隨機二進制向量的輸入序列,后面跟著一個分隔符。

該網絡被訓練用來復制 8 位的隨機向量序列,其中序列長度是在 1 到 20 之間隨機的。目標序列就僅僅是輸入序列的副本而已(沒有分隔符)。

重復復制任務是復制任務的擴展,即要求該網絡輸出被復制的序列給定的次數,然后給出一個序列終止標志。這個任務的主要目的是看 NTM 是否可以學習簡單的嵌套函數。

該網絡的輸入是隨機長度的隨機二進制向量序列,后面跟著一個標量值,表示我們想要的副本的數量,其出現在一個單獨的輸入信道上。

聯想記憶任務(associative recall tasks)涉及到組織間接產生的數據,即當一個數據項指向另一個項的時候。要創建一個項列表,使得查詢其中一個項時需要該網絡返回后續的項。

我們定義了一個二進制向量序列,通過分隔符對其左右進行了限制。在幾個項被傳播到該網絡中后,通過展示隨機項對該網絡進行查詢,看該網絡是否可以產生下一個項。

動態 N-gram 任務測試的是 NTM 是否可以通過使用記憶作為可覆寫的表格來快速適應新的預測分布;該網絡可以使用這個表格來持續對轉換統計保持計數,從而模擬傳統的 N-gram 模型。

考慮在二進制序列上的所有可能的 6-gram 分布的集合。每個 6-gram 分布都可以被表達成一個有 32 個數字的表格,其基于所有可能長度的 5 個二進制歷史指定了下一位(bit)為 1 的概率。通過使用當前的查找表繪制 200 個連續的位,會生成一個特定的訓練序列。該網絡對該序列進行觀察,一次一位,然后被要求預測出下一位。

優先級排序任務測試的是 NTM 的排序能力。該網絡的輸入是一個隨機二進制向量的序列,以及每個向量的一個標量優先級評分。該優先級是在 [-1, 1] 范圍內均勻分布的。目標序列是根據它們的優先級排序后的二進制向量序列。

NTM 有 LSTM 的前饋結構作為它們的組件之一。

總結

你通過這篇文章了解了用于深度學習的循環神經網絡。具體來說,你了解了:

  • 用于深度學習的***循環神經網絡的工作方式,其中包括 LSTM、GRU 和 NTM。
  • *** RNN 與人工神經網絡中更廣泛的循環(recurrence)研究的相關性。
  • RNN 研究如何在一系列高難度問題上實現了當前***的表現。

聲明:本文轉自機器之心,原文來自MachineLearningMastery,作者Jason Brownlee,譯者熊貓。

責任編輯:張子龍 來源: 機器之心
相關推薦

2022-12-14 08:25:10

2017-04-11 20:24:30

機器學習架構神經圖靈機

2018-04-08 11:20:43

深度學習

2017-04-26 14:32:24

神經網絡人工智能對杭樣本

2023-04-19 10:17:35

機器學習深度學習

2021-03-29 09:02:24

深度學習預測間隔

2016-12-27 14:24:57

課程筆記神經網絡

2023-09-03 14:17:56

深度學習人工智能

2020-08-06 10:11:13

神經網絡機器學習算法

2021-11-12 15:41:42

LSTM神經網絡人工智能

2017-12-22 08:47:41

神經網絡AND運算

2023-02-28 08:00:00

深度學習神經網絡人工智能

2018-09-13 22:22:48

深度學習神經網絡人工智能

2018-07-03 16:10:04

神經網絡生物神經網絡人工神經網絡

2020-09-09 10:20:48

GraphSAGE神經網絡人工智能

2018-12-20 11:38:37

神經元神經網絡語言

2017-09-10 07:07:32

神經網絡數據集可視化

2020-05-27 11:10:54

KerasLSTM神經網絡

2018-07-29 06:46:07

神經網絡RNN循環神經網絡

2022-10-19 07:42:41

圖像識別神經網絡
點贊
收藏

51CTO技術棧公眾號

主站蜘蛛池模板: 久草欧美 | 国产精品亚洲综合 | www.精品国产 | 一呦二呦三呦国产精品 | 一级a爱片性色毛片免费 | 中文字幕福利视频 | 久草精品视频 | 日韩av一区二区在线观看 | 欧美v在线观看 | 久久精品亚洲欧美日韩精品中文字幕 | 成人不卡在线 | 91精品国产综合久久香蕉麻豆 | 国产91久久精品一区二区 | 日韩不卡在线 | 伊人一区| 国产真实乱对白精彩久久小说 | 日本视频在线播放 | 国产精品欧美一区二区 | 久久青青 | 精品美女| 北条麻妃国产九九九精品小说 | 亚洲码欧美码一区二区三区 | 一区二区av | 日韩一区二区在线视频 | 亚洲欧洲日韩精品 中文字幕 | 91久久视频 | 99久久婷婷 | 精品视频一区二区三区在线观看 | 国产在线一区二区 | 综合久久久 | 日本一区二区三区四区 | 在线视频日韩 | 日韩亚洲欧美一区 | 中文字幕在线观看第一页 | 国产精品色av | 精品视频一区二区三区在线观看 | 国内精品视频在线观看 | 日韩亚洲一区二区 | 久草新在线 | 久久精品国产一区二区三区不卡 | 成人av一区 |