新聞中心

EEPW首頁 > 嵌入式系統(tǒng) > 業(yè)界動態(tài) > 深度學(xué)習(xí)(Deep Learning)算法簡介

深度學(xué)習(xí)(Deep Learning)算法簡介

作者: 時間:2016-12-28 來源:網(wǎng)絡(luò) 收藏

  深度(Depth)

本文引用地址:http://m.butianyuan.cn/article/201612/342181.htm

  從一個輸入中產(chǎn)生一個輸出所涉及的計算可以通過一個流向圖(flow graph)來表示:流向圖是一種能夠表示計算的圖,在這種圖中每一個節(jié)點表示一個基本的計算并且一個計算的值(計算的結(jié)果被應(yīng)用到這個節(jié)點的孩子節(jié)點的值)??紤]這樣一個計算集合,它可以被允許在每一個節(jié)點和可能的圖結(jié)構(gòu)中,并定義了一個函數(shù)族。輸入節(jié)點沒有孩子,輸出節(jié)點沒有父親。

  這種流向圖的一個特別屬性是深度(depth):從一個輸入到一個輸出的最長路徑的長度。

  傳統(tǒng)的前饋神經(jīng)網(wǎng)絡(luò)能夠被看做擁有等于層數(shù)的深度(比如對于輸出層為隱層數(shù)加1)。SVMs有深度2(一個對應(yīng)于核輸出或者特征空間,另一個對應(yīng)于所產(chǎn)生輸出的線性混合)。

  深度架構(gòu)的動機

  學(xué)習(xí)基于深度架構(gòu)的學(xué)習(xí)算法的主要動機是:

  不充分的深度是有害的;

  大腦有一個深度架構(gòu);

  認(rèn)知過程是深度的;

  不充分的深度是有害的

  在許多情形中深度2就足夠(比如logical gates, formal [threshold] neurons, sigmoid-neurons, Radial Basis Function [RBF] units like in SVMs)表示任何一個帶有給定目標(biāo)精度的函數(shù)。但是其代價是:圖中所需要的節(jié)點數(shù)(比如計算和參數(shù)數(shù)量)可能變的非常大。理論結(jié)果證實那些事實上所需要的節(jié)點數(shù)隨著輸入的大小指數(shù)增長的函數(shù)族是存在的。這一點已經(jīng)在logical gates, formal [threshold] neurons 和rbf單元中得到證實。在后者中Hastad說明了但深度是d時,函數(shù)族可以被有效地(緊地)使用O(n)個節(jié)點(對于n個輸入)來表示,但是如果深度被限制為d-1,則需要指數(shù)數(shù)量的節(jié)點數(shù)O(2^n)。

  我們可以將深度架構(gòu)看做一種因子分解。大部分隨機選擇的函數(shù)不能被有效地表示,無論是用深地或者淺的架構(gòu)。但是許多能夠有效地被深度架構(gòu)表示的卻不能被用淺的架構(gòu)高效表示(see the polynomials example in the Bengio survey paper)。一個緊的和深度的表示的存在意味著在潛在的可被表示的函數(shù)中存在某種結(jié)構(gòu)。如果不存在任何結(jié)構(gòu),那將不可能很好地泛化。

  大腦有一個深度架構(gòu)

  例如,視覺皮質(zhì)得到了很好的研究,并顯示出一系列的區(qū)域,在每一個這種區(qū)域中包含一個輸入的表示和從一個到另一個的信號流(這里忽略了在一些層次并行路徑上的關(guān)聯(lián),因此更復(fù)雜)。這個特征層次的每一層表示在一個不同的抽象層上的輸入,并在層次的更上層有著更多的抽象特征,他們根據(jù)低層特征定義。

  需要注意的是大腦中的表示是在中間緊密分布并且純局部:他們是稀疏的:1%的神經(jīng)元是同時活動的。給定大量的神經(jīng)元,任然有一個非常高效地(指數(shù)級高效)表示。

  認(rèn)知過程看起來是深度的

  人類層次化地組織思想和概念;

  人類首先學(xué)習(xí)簡單的概念,然后用他們?nèi)ケ硎靖橄蟮?

  工程師將任務(wù)分解成多個抽象層次去處理;

  學(xué)習(xí)/發(fā)現(xiàn)這些概念(知識工程由于沒有反省而失敗?)是很美好的。對語言可表達(dá)的概念的反省也建議我們一個稀疏的表示:僅所有可能單詞/概念中的一個小的部分是可被應(yīng)用到一個特別的輸入(一個視覺場景)。

  學(xué)習(xí)深度架構(gòu)的突破

  2006年前,嘗試訓(xùn)練深度架構(gòu)都失敗了:訓(xùn)練一個深度有監(jiān)督前饋神經(jīng)網(wǎng)絡(luò)趨向于產(chǎn)生壞的結(jié)果(同時在訓(xùn)練和測試誤差中),然后將其變淺為1(1或者2個隱層)。

  2006年的3篇論文改變了這種狀況,由Hinton的革命性的在深度信念網(wǎng)(Deep Belief Networks, DBNs)上的工作所引領(lǐng):

  Hinton, G. E., Osindero, S. and Teh, Y., A fast learning algorithm for deep belief nets .Neural Computation 18:1527-1554, 2006

  Yoshua Bengio, Pascal Lamblin, Dan Popovici and Hugo Larochelle, Greedy Layer-Wise Training of Deep Networks, in J. Platt et al. (Eds), Advances in Neural Information Processing Systems 19 (NIPS 2006), pp. 153-160, MIT Press, 2007

  Marc’Aurelio Ranzato, Christopher Poultney, Sumit Chopra and Yann LeCun Efficient Learning of Sparse Representations with an Energy-Based Model, in J. Platt et al. (Eds), Advances in Neural Information Processing Systems (NIPS 2006), MIT Press, 2007

  在這三篇論文中以下主要原理被發(fā)現(xiàn):

  表示的無監(jiān)督學(xué)習(xí)被用于(預(yù))訓(xùn)練每一層;

  在一個時間里的一個層次的無監(jiān)督訓(xùn)練,接著之前訓(xùn)練的層次。在每一層學(xué)習(xí)到的表示作為下一層的輸入;

  用無監(jiān)督訓(xùn)練來調(diào)整所有層(加上一個或者更多的用于產(chǎn)生預(yù)測的附加層);

  DBNs在每一層中利用用于表示的無監(jiān)督學(xué)習(xí)RBMs。Bengio et al paper 探討和對比了RBMs和auto-encoders(通過一個表示的瓶頸內(nèi)在層預(yù)測輸入的神經(jīng)網(wǎng)絡(luò))。Ranzato et al paper在一個convolutional架構(gòu)的上下文中使用稀疏auto-encoders(類似于稀疏編碼)。Auto-encoders和convolutional架構(gòu)將在以后的課程中講解。

  從2006年以來,大量的關(guān)于的論文被發(fā)表,一些探討了其他原理來引導(dǎo)中間表示的訓(xùn)練,查看Learning Deep Architectures for AI



關(guān)鍵詞: 深度學(xué)習(xí)

評論


相關(guān)推薦

技術(shù)專區(qū)

關(guān)閉