国产xxxx99真实实拍_久久不雅视频_高清韩国a级特黄毛片_嗯老师别我我受不了了小说

資訊專欄INFORMATION COLUMN

機器學習研究人員需要了解的8個神經網絡架構(下)

Miracle / 583人閱讀

摘要:它是第一個能夠學習內部表示的神經網絡之一,能夠代表和解決困難的組合問題。在普通玻爾茲曼機器中,單位的隨機更新需要是連續的。

上文講述了機器學習的功能和神經網絡的概念,以及簡要介紹了感知器和卷積神經網絡,接下來繼續介紹另外6種神經網絡架構。

3.遞歸神經網絡

為了理解RNN,我們需要對序列建模進行簡要概述。將機器學習應用于序列時,我們通常希望將輸入序列轉換為位于不同域中的輸出序列; 例如,將一系列聲壓轉換成一系列的單詞。當沒有多帶帶的目標序列時,我們可以通過嘗試預測輸入序列中的下一項來獲得教學信號。目標輸出序列是提前1步的輸入序列。這似乎比試圖預測來自其他像素的圖像中的一個像素或來自圖像的其余部分的圖像的一個像素更自然。預測序列中的下一個術語模糊了有監督學習和無監督學習之間的區別。它使用專為監督學習而設計的方法,但它不需要多帶帶的教學信號。

無記憶模型是完成這項任務的標準方法。具體而言,自回歸模型可以使用延遲打拍的方法從固定數量的前一項中預測下一項,并且前饋神經網絡是使用一層或多層非線性隱藏單元的廣義自回歸模型。然而,如果我們給生成模型一些隱藏的狀態,并且如果我們給這個隱藏狀態它自己的內部動態,我們會得到一個更有趣的模型:它可以長時間地將信息存儲在隱藏狀態。如果動態是嘈雜的,它們從隱藏狀態產生輸出的方式是嘈雜的,那么我們永遠無法知道它的確切隱藏狀態。我們能做的最好的是推斷隱藏狀態矢量空間的概率分布。這種推斷只適用于2種隱藏狀態模型。

遞歸神經網絡非常強大,因為它們結合了兩個屬性:1)分布式隱藏狀態,可以讓他們有效地存儲關于過去的大量信息; 2)非線性動態,使他們能夠以復雜的方式更新隱藏狀態。有了足夠的神經元和時間,RNN可以計算任何可以通過計算機計算出來的東西。那么RNN可以展示什么樣的行為?它們可以振蕩,它們可以解決點吸引子,它們可以表現混亂。它們還可以學習如何實施許多小程序,每個程序捕獲一塊知識,并行運行,相互作用產生非常復雜的效果。

但是,RNN的計算能力使得它們很難訓練。由于梯度問題的爆發或消失,訓練RNN相當困難。當我們反復傳播多層時,梯度的大小會發生什么變化?如果權重較小,則梯度呈指數級下降。如果權重很大,則梯度會成指數增長。典型的前饋神經網絡可以應付這些指數效應,因為它們只有少數隱藏層。另一方面,在訓練長序列的RNN中,梯度可能很容易爆炸或消失 即使具有良好的初始權重,也很難檢測到當前目標輸出取決于來自多個時間步長的輸入,因此RNN難以處理遠程依賴性。

基本上有4種有效的方法來學習RNN:

長期的短期記憶:將RNN用于長期記憶值的小模塊。

Hessian自由優化:通過使用奇特的優化器來處理消失的梯度問題,該優化器可以檢測具有微小漸變但曲率更小的方向。

回聲狀態網絡:初始化輸入->隱藏和隱藏->隱藏和輸出->非常小心地隱藏連接,使隱藏狀態有一個巨大的弱耦合振蕩器的儲層,可以通過輸入選擇性地驅動這些振蕩器。

良好的動態初始化:像回聲狀態網絡一樣初始化,然后使用動量學習所有連接。

4.長期/短期記憶網絡


Hochreiter&Schmidhuber(1997)通過建立一種稱為長期的短期記憶網絡的方法解決了讓RNN長時間(如數百個時間步驟)記憶事情的問題。他們用具有乘法交互作用的邏輯單元和線性單元設計了一個記憶單元。信息在它的寫入門打開時進入單元格。只要保持門打開,信息就會保留在單元格中。通過打開讀取門可以從單元讀取信息。

閱讀草書手寫是RNN的一項自然任務。輸入是筆尖的(x,y,p)坐標序列,其中p表示筆是向上還是向下。輸出是一系列字符。Graves&Schmidhuber(2009)表明,帶有LSTM的RNN是目前閱讀草書的最佳系統。簡而言之,他們使用一系列小圖像作為輸入而不是筆畫坐標。

5.Hopfield神經網絡

非線性單元的遞歸網絡通常很難分析。它們可以以許多不同的方式表現:穩定狀態,振蕩,或遵循無法在未來預測的混沌軌跡一個Hopfield網由二進制閾值單元組成,它們之間有連續的連接。1982年,約翰·霍普菲爾德意識到,如果連接是對稱的,那么就有一個全球能量函數。整個網絡的二元構型都有能量;當二進制閾值決策規則使網絡滿足最小能量函數時。使用這種計算方法的一個簡潔的方法是將記憶作為神經網絡的能量最小值。 使用能量最小值來表示內存給出了內容可尋址的內存。一個項目只需知道其內容的一部分即可訪問。它對硬件損壞很有效。

每次我們記憶一次配置,我們都希望創造一個新的能量最小值。 但是,如果兩個附近的最小值在一個中間位置呢?這限制了Hopfield網絡的容量。那么我們如何增加Hopfield網絡的容量?物理學家們喜歡這樣一種觀點,即他們已經知道的數學可以解釋大腦是如何工作的。許多論文發表在關于Hopfield網絡及其存儲能力的物理期刊上。最終,伊麗莎白加德納發現存在一個更好的存儲規則,可以充分利用權重。她沒有試圖一次性存儲向量,而是多次循環訓練集,并使用感知器收斂過程來訓練每個單元,使其具有正確的狀態,給出該向量中所有其他單元的狀態。統計學家稱這種技術為“偽似然”。

Hopfield網絡還有另一個計算角色。 我們不用網絡來存儲記憶,而是用它來構建傳感輸入的解釋。輸入由可見單位表示,解釋由隱藏單位的狀態表示,并且解釋的缺陷由能量表示。

6.玻爾茲曼機器網絡

玻爾茲曼機是一類隨機遞歸神經網絡。它可以被看作是Hopfield網絡的隨機生成對應物。它是第一個能夠學習內部表示的神經網絡之一,能夠代表和解決困難的組合問題。

玻爾茲曼機器學習算法的學習目標是將Boltzmann機器分配給訓練集中的二進制向量的概率最大化,這等價于Boltzmann機器分配給訓練向量的對數概率之和。如果我們做了以下事情,這也等價于最大化我們可以準確獲得N個訓練案例的概率:1)讓網絡在沒有外部輸入的情況下以不同的時間穩定到它的平穩分布; 2)每次采樣一次可見向量。

2012年,Salakhutdinov和Hinton提出了玻爾茲曼機器的高效小批量學習程序。

對于正相位,首先將隱藏概率初始化為0.5,然后將可見單元上的數據向量進行鉗位,然后并行更新所有隱藏單元,直至使用平均場更新進行收斂。在網絡收斂之后,記錄PiPj為每一對連接的單元,并將其平均分配給小批量的所有數據。

對于負相:首先要保留一組幻想粒子。每個粒子都有一個全局配置的值。然后依次更新每個幻想粒子的所有單元數。對于每一個連接的單位,平均數SiSj除以所有的幻想粒子。

在普通玻爾茲曼機器中,單位的隨機更新需要是連續的。 有一種特殊的體系結構允許更有效的交替并行更新(層內沒有連接,沒有跳層連接)。這個小批量程序使玻爾茲曼機器的更新更加平行。這就是所謂的深玻爾茲曼機器(DBM),這被稱為深度玻爾茲曼機(DBM),這是一種通用的玻爾茲曼機器,有很多缺失的連接。

2014年,Salakhutdinov和Hinton為他們的模型提供了另一個更新,稱其為限制玻爾茲曼機器。它們限制了連接,從而使推理和學習變得更容易(只有一層隱藏單元,而隱藏單元之間沒有連接)。在RBM中,當可見單元被夾住時,只需一步即可達到熱平衡。

另一個有效的RBM小批量學習過程如下所示:

對于正相,首先在可見單元上夾一個數據向量。 然后計算所有可見和隱藏單元對的的確切值。為每一個連接的雙單元,平均數除以所有的幻想粒子。

7.深度信念網絡

反向傳播被認為是人工神經網絡中的標準方法,用于計算一批數據處理后每個神經元的誤差貢獻。但是,使用反向傳播存在一些主要問題。首先,它需要標記的訓練數據; 而幾乎所有的數據都沒有標簽。其次,學習時間不能很好地擴展,這意味著它在具有多個隱藏層的網絡中速度很慢。第三,它可能會陷入局部最優解,因此對于深網來說,它們遠非最佳狀態。

為了克服反向傳播的局限性,研究人員已經考慮使用無監督學習方法。這有助于保持使用梯度方法調整權重的效率和簡單性,還可以用它來對傳感輸入的結構進行建模。特別是,他們調整權重以最大化生成模型產生傳感輸入的概率。問題是我們應該學習什么樣的生成模型?它可以是像玻爾茲曼機器這樣的基于能量的模型嗎?還是由理想化的神經元組成的因果模型?還是兩者的混合?

信念網是由隨機變量組成的有向無環圖。使用信念網,我們可以觀察到一些變量,我們想要解決2個問題:1)推理的問題:推斷不被察覺的狀態變量;2)學習問題:調整變量之間的相互作用,使網絡更容易生成訓練數據。

早期的圖形模型使用專家來定義圖形結構和條件概率。到那時,這些圖形是稀疏連接的;因此,研究人員最初專注于做正確的推斷,而不是學習。對于神經網絡來說,學習是中心的,手寫的知識并不酷,因為知識來自于學習訓練數據。神經網絡的目的不是為了便于解釋,也不是為了讓推理變得簡單。然而,有神經網絡版本的信念網。

有兩類由隨機二元神經元組成的產生式神經網絡:1)基于能量的神經網絡,在此基礎上,我們利用對稱連接將二元隨機神經元連接到一個波耳茲曼機器上;2)因果關系,我們在一個有向無環圖中連接二元隨機神經元,得到一個s型信念網絡。這兩種類型的描述超出了本文的范圍。

8.深度自動編碼器

最后,我們來討論深度自動編碼器。由于以下幾個原因,它們總是看起來像是一種很好的非線性降維方法:因為它們提供了兩種方式的靈活映射。在訓練案例的數量上,學習時間是線性的(或更好的)。最終的編碼模型是相當緊湊和快速的。最終的編碼模型非常緊湊和快速。然而,利用反向傳播來優化深度自動編碼器是非常困難的。隨著初始重量較小,后向傳播梯度消失。我們現在有更好的方法來優化它們; 要么使用無監督的逐層預訓練,要么像在回聲狀態網中一樣仔細地初始化權重。

對于預訓練任務,實際上有3種不同類型的淺自動編碼器:

1.RBM是一種自動編碼器:當我們用一階對比散度訓練RBM時,它試圖使重構看起來像數據。它就像一個自動編碼器,但它是通過在隱藏層中使用二進制活動來實現的。在最大可能的訓練下,RBM不像自動編碼器。我們可以用一堆淺層的自動編碼器來代替RBM的堆疊。然而,如果淺層的自動編碼器通過對平方權重的懲罰來規范,那么預先訓練并不是有效的(對于隨后的辨別)。

2.去噪自動編碼器:通過將其許多分量設置為0(如丟失,但用于輸入),將噪聲添加到輸入向量。他們仍然需要重建這些組件,以便他們必須提取捕獲輸入之間相關性的功能。如果我們使用一堆去噪的自動編碼器,預訓練非常有效。它與RBM的預訓練一樣好或者更好。評估預訓練也更簡單,因為我們可以很容易地計算出目標函數的值。它缺少RBM的變分約束,但這只是理論上的興趣。

3.壓縮自動編碼器:另一種規范自動編碼器的方法是嘗試使隱藏單元的活動對輸入盡可能不敏感;但他們不能忽視輸入,因為他們必須重建。我們通過懲罰每個隱藏活動相對于輸入的平方梯度來實現這一點。壓縮自動編碼器在預訓練中工作良好。這些代碼往往具有這樣的特性:只有一小部分隱藏單元對輸入的變化敏感。

簡單地說,現在有許多不同的方法來對特性進行逐層預訓練。對于沒有大量標記案例的數據集,預訓練有助于后續的區分性學習。對于非常大的,標記的數據集,通過無監督的預訓練來初始化監督學習中使用的權重并不是必需的,即使是深度網絡也是如此。預培訓是初始化深網權重的第一個好方法,但現在還有其他方法。但是,如果我們讓網更大,我們將需要再次進行預訓練!

總結
神經網絡是有史以來最漂亮的編程范例之一。 在傳統的編程方法中,我們告訴計算機要做什么,將大問題分解成計算機可以輕松執行的許多小的,精確定義的任務。 相比之下,在神經網絡中,我們不告訴計算機如何解決我們的問題。 相反,它從觀測數據中學習,找出解決手頭問題的辦法。

今天,深度神經網絡和深度學習在計算機視覺,語音識別和自然語言處理等許多重要問題上取得了出色的表現。 它們正在被谷歌,微軟和Facebook等公司大規模部署。

我希望這篇文章能幫助你學習神經網絡的核心概念,包括深度學習的現代技術。你可以從我的GitHub庫中獲取Hinton"s Coursera課程所做的所有演講幻燈片,研究論文和編程作業。祝你好運學習!

文章原標題《The 8 Neural Network Architectures Machine Learning Researchers Need to Learn》

作者:Nand Kishor

詳情請閱讀原文

文章版權歸作者所有,未經允許請勿轉載,若此文章存在違規行為,您可以聯系管理員刪除。

轉載請注明本文地址:http://specialneedsforspecialkids.com/yun/11861.html

相關文章

  • 機器學習研究人員需要了解8神經網絡架構(上)

    摘要:神經網絡是一組特定的算法,對機器學習領域發生了革命性的變化。在這篇博客文章中,我想分享我認為機器學習研究人員應該熟悉的課程中的個神經網絡架構,以推進他們的工作。卷積神經網絡機器學習研究一直以來都集中在對象檢測問題上。 摘要: 本文簡要講述了8種機器學習架構,希望可以給大家帶來幫助 showImg(https://segmentfault.com/img/bV8Hby?w=1000&h=...

    DevTalking 評論0 收藏0

發表評論

0條評論

最新活動
閱讀需要支付1元查看
<