RM新时代网站-首页

0
  • 聊天消息
  • 系統(tǒng)消息
  • 評論與回復(fù)
登錄后你可以
  • 下載海量資料
  • 學(xué)習(xí)在線課程
  • 觀看技術(shù)視頻
  • 寫文章/發(fā)帖/加入社區(qū)
會員中心
創(chuàng)作中心

完善資料讓更多小伙伴認識你,還能領(lǐng)取20積分哦,立即完善>

3天內(nèi)不再提示

淺論深度學(xué)習(xí)為何要“deep”下

ss ? 來源:網(wǎng)絡(luò)整理 ? 作者:工程師譚軍 ? 2018-10-07 15:21 ? 次閱讀
深度學(xué)習(xí)的概念源于人工神經(jīng)網(wǎng)絡(luò)的研究。含多隱層的多層感知器就是一種深度學(xué)習(xí)結(jié)構(gòu)。深度學(xué)習(xí)通過組合低層特征形成更加抽象的高層表示屬性類別或特征,以發(fā)現(xiàn)數(shù)據(jù)的分布式特征表示。
深度學(xué)習(xí)的概念由Hinton等人于2006年提出?;谏疃戎眯?a target="_blank">網(wǎng)絡(luò)(DBN)提出非監(jiān)督貪心逐層訓(xùn)練算法,為解決深層結(jié)構(gòu)相關(guān)的優(yōu)化難題帶來希望,隨后提出多層自動編碼器深層結(jié)構(gòu)。此外Lecun等人提出的卷積神經(jīng)網(wǎng)絡(luò)是第一個真正多層結(jié)構(gòu)學(xué)習(xí)算法,它利用空間相對關(guān)系減少參數(shù)數(shù)目以提高訓(xùn)練性能。 [1]
深度學(xué)習(xí)是機器學(xué)習(xí)中一種基于對數(shù)據(jù)進行表征學(xué)習(xí)的方法。觀測值(例如一幅圖像)可以使用多種方式來表示,如每個像素強度值的向量,或者更抽象地表示成一系列邊、特定形狀的區(qū)域等。而使用某些特定的表示方法更容易從實例中學(xué)習(xí)任務(wù)(例如,人臉識別或面部表情識別)。深度學(xué)習(xí)的好處是用非監(jiān)督式或半監(jiān)督式的特征學(xué)習(xí)和分層特征提取高效算法來替代手工獲取特征。
深度學(xué)習(xí)是機器學(xué)習(xí)研究中的一個新的領(lǐng)域,其動機在于建立、模擬人腦進行分析學(xué)習(xí)的神經(jīng)網(wǎng)絡(luò),它模仿人腦的機制來解釋數(shù)據(jù),例如圖像,聲音和文本。 [2]
同機器學(xué)習(xí)方法一樣,深度機器學(xué)習(xí)方法也有監(jiān)督學(xué)習(xí)與無監(jiān)督學(xué)習(xí)之分.不同的學(xué)習(xí)框架下建立的學(xué)習(xí)模型很是不同.例如,卷積神經(jīng)網(wǎng)絡(luò)(Convolutional neural networks,簡稱CNNs)就是一種深度的監(jiān)督學(xué)習(xí)下的機器學(xué)習(xí)模型,而深度置信網(wǎng)(Deep Belief Nets,簡稱DBNs)就是一種無監(jiān)督學(xué)習(xí)下的機器學(xué)習(xí)模型。
假設(shè)我們有一個系統(tǒng)S,它有n層(S1,…Sn),它的輸入是I,輸出是O,形象地表示為: I =》S1=》S2=》…。.=》Sn =》 O,如果輸出O等于輸入I,即輸入I經(jīng)過這個系統(tǒng)變化之后沒有任何的信息損失,設(shè)處理a信息得到b,再對b處理得到c,那么可以證明:a和c的互信息不會超過a和b的互信息。這表明信息處理不會增加信息,大部分處理會丟失信息。保持了不變,這意味著輸入I經(jīng)過每一層Si都沒有任何的信息損失,即在任何一層Si,它都是原有信息(即輸入I)的另外一種表示?,F(xiàn)在回到主題Deep Learning,需要自動地學(xué)習(xí)特征,假設(shè)我們有一堆輸入I(如一堆圖像或者文本),假設(shè)設(shè)計了一個系統(tǒng)S(有n層),通過調(diào)整系統(tǒng)中參數(shù),使得它的輸出仍然是輸入I,那么就可以自動地獲取得到輸入I的一系列層次特征,即S1,…, Sn。 [3]
對于深度學(xué)習(xí)來說,其思想就是對堆疊多個層,也就是說這一層的輸出作為下一層的輸入。通過這種方式,就可以實現(xiàn)對輸入信息進行分級表達了。 [3]
另外,前面是假設(shè)輸出嚴格地等于輸入,這個限制太嚴格,可以略微地放松這個限制,例如只要使得輸入與輸出的差別盡可能地小即可,這個放松會導(dǎo)致另外一類不同的Deep Learning方法。上述就是Deep Learning的基本思想。 [3]
把學(xué)習(xí)結(jié)構(gòu)看作一個網(wǎng)絡(luò),則深度學(xué)習(xí)的核心思路如下:
①無監(jiān)督學(xué)習(xí)用于每一層網(wǎng)絡(luò)的pre-train;
②每次用無監(jiān)督學(xué)習(xí)只訓(xùn)練一層,將其訓(xùn)練結(jié)果作為其高一層的輸入;
③用自頂而下的監(jiān)督算法去調(diào)整所有層
主要技術(shù)
線性代數(shù)、概率和信息論
欠擬合、過擬合、正則化
最大似然估計和貝葉斯統(tǒng)計
隨機梯度下降
監(jiān)督學(xué)習(xí)和無監(jiān)督學(xué)習(xí)
深度前饋網(wǎng)絡(luò)、代價函數(shù)和反向傳播
正則化、稀疏編碼和dropout
自適應(yīng)學(xué)習(xí)算法
卷積神經(jīng)網(wǎng)絡(luò)
循環(huán)神經(jīng)網(wǎng)絡(luò)
遞歸神經(jīng)網(wǎng)絡(luò)
深度神經(jīng)網(wǎng)絡(luò)和深度堆疊網(wǎng)絡(luò)
LSTM長短時記憶
主成分分析
正則自動編碼器
表征學(xué)習(xí)
蒙特卡洛
受限波茲曼機
深度置信網(wǎng)絡(luò)
softmax回歸、決策樹和聚類算法
KNN和SVM
生成對抗網(wǎng)絡(luò)和有向生成網(wǎng)絡(luò)
機器視覺和圖像識別
自然語言處理
語音識別和機器翻譯
有限馬爾科夫
動態(tài)規(guī)劃
梯度策略算法
增強學(xué)習(xí)(Q-learning)
轉(zhuǎn)折點
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 LayerWise 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)于深度學(xué)習(xí)的論文被發(fā)表。

深層學(xué)習(xí)開啟了人工智能的新時代。不論任何行業(yè)都害怕錯過這一時代浪潮,因而大批資金和人才爭相涌入。但深層學(xué)習(xí)卻以“黑箱”而聞名,不僅調(diào)參難,訓(xùn)練難,“新型”網(wǎng)絡(luò)結(jié)構(gòu)的論文又如雨后春筍般地涌現(xiàn),使得對所有結(jié)構(gòu)的掌握變成了不現(xiàn)實。我們?nèi)鄙僖粋€對深層學(xué)習(xí)合理的認識。

神經(jīng)網(wǎng)絡(luò)并不缺少新結(jié)構(gòu),但缺少一個該領(lǐng)域的

很多人在做神經(jīng)網(wǎng)絡(luò)的實驗時會發(fā)現(xiàn)調(diào)節(jié)某些方式和結(jié)構(gòu)會產(chǎn)生意想不到的結(jié)果。但就我個人而言,這些發(fā)現(xiàn)并不會讓我感到滿足。我更關(guān)心這些新發(fā)現(xiàn)到底告訴我們了什么,造成這些現(xiàn)象的背后原因是什么。我會更想要將新的網(wǎng)絡(luò)結(jié)構(gòu)歸納到已有的體系當中。這也是我更多思考“為何深層學(xué)習(xí)有效”的原因。下面便是目前YJango關(guān)于這方面的見解。

深層神經(jīng)網(wǎng)絡(luò)相比一般的統(tǒng)計學(xué)習(xí)擁有從數(shù)學(xué)的嚴謹中不會得出的關(guān)于物理世界的先驗知識(非貝葉斯先驗)。該內(nèi)容也在Bengio大神的論文和演講中多次強調(diào)。大神也在Bay Area Deep Learning School 2016的Founda’ons and Challenges of Deep Learning pdf(這里也有視頻,需翻墻)中提到的distributed representations和compositionality兩點就是神經(jīng)網(wǎng)絡(luò)和深層神經(jīng)網(wǎng)絡(luò)高效的原因(若有時間,強烈建議看完演講再看該文)。雖然與大神的思考起點可能不同,但結(jié)論完全一致(看到Bengio大神的視頻時特別興奮)。下面就是結(jié)合例子分析:

1. 為什么神經(jīng)網(wǎng)絡(luò)高效

2. 學(xué)習(xí)的本質(zhì)是什么

3. 為什么深層神經(jīng)網(wǎng)絡(luò)比淺層神經(jīng)網(wǎng)絡(luò)更高效

4. 神經(jīng)網(wǎng)絡(luò)在什么問題上不具備優(yōu)勢

其他推薦讀物

Bengio Y. Learning deep architectures for AI[J]。 Foundations and trends? in Machine Learning, 2009, 2(1): 1-127.

Brahma P P, Wu D, She Y. Why Deep Learning Works: A Manifold Disentanglement Perspective[J]。 2015.

Lin H W, Tegmark M. Why does deep and cheap learning work so well?[J]。 arXiv preprint arXiv:1608.08225, 2016.

Bengio Y, Courville A, Vincent P. Representation learning: A review and new perspectives[J]。 IEEE transactions on pattern analysis and machine intelligence, 2013, 35(8): 1798-1828.

Deep Learning textbook by Ian Goodfellow and Yoshua Bengio and Aaron Courville

YJango的整個思考流程都圍繞減熵二字進行。之前在《熵與生命》和《生物學(xué)習(xí)》中討論過,生物要做的是降低環(huán)境的熵,將不確定狀態(tài)變?yōu)榇_定狀態(tài)。通常機器學(xué)習(xí)是優(yōu)化損失函數(shù),并用概率來衡量模型優(yōu)劣。然而概率正是由于無法確定狀態(tài)才不得不用的衡量手段。生物真正想要的是沒有絲毫不確定性。

深層神經(jīng)網(wǎng)絡(luò)在自然問題上更具優(yōu)勢,因為它和生物學(xué)習(xí)一樣,是找回使熵增加的“物理關(guān)系”(知識,并非完全一樣),將變體()轉(zhuǎn)化回因素()附帶物理關(guān)系的形式,從源頭消除熵(假設(shè)每個因素只有兩種可能狀態(tài))。這樣所有狀態(tài)間的關(guān)系可以被確定,要么肯定發(fā)生,要么絕不發(fā)生,也就無需用概率來衡量。因此下面定義的學(xué)習(xí)目標并非單純降低損失函數(shù),而從確定關(guān)系的角度考慮。一個完美訓(xùn)練好的模型就是兩個狀態(tài)空間內(nèi)所有可能取值間的關(guān)系都被確定的模型。

學(xué)習(xí)目標:是確定(determine)兩個狀態(tài)空間內(nèi)所有可能取值之間的關(guān)系,使得熵盡可能最低。

注:對熵不了解的朋友可以簡單記住,事件的狀態(tài)越確定,熵越小。如絕不發(fā)生(概率0)或肯定發(fā)生(概率為1)的事件熵小。而50%可能性事件的熵反而大。

為舉例說明,下面就一起考慮用神經(jīng)網(wǎng)絡(luò)學(xué)習(xí)以下兩個集合的不同關(guān)聯(lián)(OR gate和 XOR gate)??纯措S著網(wǎng)絡(luò)結(jié)構(gòu)和關(guān)聯(lián)的改變,會產(chǎn)生什么不同情況。尤其是最后網(wǎng)絡(luò)變深時與淺層神經(jīng)網(wǎng)絡(luò)的區(qū)別。

注:選擇這種XOR這種簡單關(guān)聯(lián)的初衷是輸入和輸出空間狀態(tài)的個數(shù)有限,易于分析變體個數(shù)和熵增的關(guān)系。

注:用“變體(variation)”是指同一類事物的不同形態(tài),比如10張狗的圖片,雖然外貌各異,但都是狗。

問題描述:集合有4個狀態(tài),集合有2個狀態(tài)。0和1只是用于表示不同狀態(tài)的符號,也可以用0,1,2,3表示。狀態(tài)也并不一定表示數(shù)字,可以表示任何物理意義。

方式1:記憶

隨機變量:可能取值是

隨機變量:可能取值是

注:隨機變量(大寫)是將事件投射到實數(shù)的函數(shù)。用對應(yīng)的實數(shù)表示事件。而小寫字母表示對應(yīng)該實數(shù)的事件發(fā)生了,是一個具體實例。

網(wǎng)絡(luò)結(jié)構(gòu):暫且不規(guī)定要學(xué)習(xí)的關(guān)聯(lián)是OR還是XOR,先建立一個沒有隱藏層,僅有一個輸入節(jié)點,一個輸出節(jié)點的神經(jīng)網(wǎng)絡(luò)。

表達式:, 表示sigmoid函數(shù)。

說明:下圖右側(cè)中的虛線表示的既不是神經(jīng)網(wǎng)絡(luò)的鏈接,也不是函數(shù)中的映射,而是兩個空間中,所有可能值之間的關(guān)系(relation)。學(xué)習(xí)的目的是確定這些狀態(tài)的關(guān)系。比如當輸入00時,模型要嘗試告訴我們00到1的概率為0,00到0的概率為1,這樣熵才會為零。

關(guān)系圖:左側(cè)是網(wǎng)絡(luò)結(jié)構(gòu),右側(cè)是狀態(tài)關(guān)系圖。輸入和輸出空間之間共有8個關(guān)系(非箭頭虛線表示關(guān)系)。除非這8個關(guān)系對模型來說都是相同的,否則用表示時的熵就會增加。(無法照顧到8個關(guān)系,若完美擬合一個關(guān)系,其余的關(guān)系就不準確)

注:這里YJango是用表示的縮寫。

數(shù)據(jù)量:極端假設(shè),若用查找表來表示關(guān)系:需要用8個不同的數(shù)據(jù)來記住想要擬合的。

方式2:手工特征

特征:空間的4個狀態(tài)是由兩個0或1的狀態(tài)共同組成。我們可以觀察出來(計算機并不能),我們利用這種知識把中的狀態(tài)分解開(disentangle)。分解成兩個獨立的子隨機變量和。也就是用二維向量表示輸入。

網(wǎng)絡(luò)結(jié)構(gòu):由于分成了二維特征,這次網(wǎng)絡(luò)結(jié)構(gòu)的輸入需改成兩個節(jié)點。下圖中的上半部分是,利用人工知識將隨機變量無損轉(zhuǎn)變?yōu)楹偷墓餐磉_(representation)。這時和一起形成網(wǎng)絡(luò)輸入。

注:旁邊的黑線(實線表示確定關(guān)系)并非是真正的神經(jīng)網(wǎng)絡(luò)結(jié)構(gòu),只是方便理解,可以簡單想象成神經(jīng)網(wǎng)絡(luò)轉(zhuǎn)變的。

表達式:

注:方便起見,寫成了矩陣的表達形式,其中是標量,而=,=

關(guān)系圖:由于固定,只考慮下半部分的關(guān)系。因為這時用了兩條線和來共同對應(yīng)關(guān)系。原本需要擬合的8個關(guān)系,現(xiàn)在變成了4個(兩個節(jié)點平攤)。同樣,除非右圖的4條紅色關(guān)系線對來說相同,并且4條綠色關(guān)系線對來說也相同,否則用和表示時,一定會造成熵增加。

注:下圖中左側(cè)是網(wǎng)絡(luò)結(jié)構(gòu)圖。右側(cè)關(guān)系圖中,接觸的圓圈表示同一個節(jié)點的不同變體。分開的、并標注為不同顏色的圓圈表示不同節(jié)點,左右兩圖連線的顏色相互對應(yīng),如紅色的需要表示右側(cè)的4條紅色關(guān)系線。

關(guān)聯(lián)1:下面和YJango確定想要學(xué)習(xí)的關(guān)聯(lián)(函數(shù))。如果想學(xué)習(xí)的關(guān)聯(lián)是只取或者的值,那么該結(jié)構(gòu)可以輕松用兩條線和來表達這4個關(guān)系(讓其中一條線的權(quán)重為0,另一條為1)。

關(guān)聯(lián)2:如果想學(xué)習(xí)的關(guān)聯(lián)是或門,真值表和實際訓(xùn)練完的預(yù)測值對照如下。很接近,但有誤差。不過若要是分類的話,可以找到0.5這個超平面來分割。大于0.5的就是1,小于0.5的就是0,可以完美分開。

注:第一列是輸入,第二列是真實想要學(xué)習(xí)的輸出,第三列是訓(xùn)練后的網(wǎng)絡(luò)預(yù)測值。

關(guān)聯(lián)3:如果想學(xué)習(xí)的關(guān)聯(lián)是異或門(XOR),真值表和實際訓(xùn)練完的預(yù)測值對照如下。由于4條關(guān)系線無法用單個表達,該網(wǎng)絡(luò)結(jié)構(gòu)連XOR關(guān)聯(lián)的分類都無法分開。

數(shù)據(jù)量:學(xué)習(xí)這種關(guān)聯(lián)至少需4個不同的來擬合。其中每個數(shù)據(jù)可以用于確定2條關(guān)系線。

方式3:加入隱藏層

網(wǎng)絡(luò)結(jié)構(gòu)1:現(xiàn)在直接把和作為輸入(用表示),不考慮。并且在網(wǎng)絡(luò)結(jié)構(gòu)中加入一個擁有2個節(jié)點(node)隱藏層(用表示)。

表達式:

關(guān)系圖1:乍一看感覺關(guān)系更難確定了。原來還是只有8條關(guān)系線,現(xiàn)在又多了16條。但實際上所需要的數(shù)據(jù)量絲毫沒有改變。因為以下兩條先驗知識的成立。

注:下圖最右側(cè)是表示:當一個樣本進入網(wǎng)絡(luò)后,能對學(xué)習(xí)哪些關(guān)系線起到作用。

1. 并行::和:的學(xué)習(xí)完全是獨立并行。這就是神經(jīng)網(wǎng)絡(luò)的兩條固有先驗知識中的:并行:網(wǎng)絡(luò)可以同時確定和的關(guān)聯(lián)。也是Bengio大神所指的distributed representation。

注:有效的前提是所要學(xué)習(xí)的狀態(tài)空間的關(guān)聯(lián)是可以被拆分成并行的因素(factor)。

注::就沒有并行一說,因為是一個節(jié)點擁有兩個變體,而不是兩個獨立的因素。但是也可以把拆開表示為one-hot-vector。這就是為什么分類時并非用一維向量表示狀態(tài)。更驗證了YJango在機器學(xué)習(xí)中對學(xué)習(xí)定義:學(xué)習(xí)是將變體拆成因素附帶關(guān)系的過程。

迭代:第二個先驗知識是:在學(xué)習(xí):的同時,:和:也可以被學(xué)習(xí)。這就是神經(jīng)網(wǎng)絡(luò)的兩條固有先驗知識中的:迭代:網(wǎng)絡(luò)可以在確定上一級的同時確定下一級的所有內(nèi)容。也是Bengio大神所指的compositionality。

注:有效的前提是所要學(xué)習(xí)的空間的關(guān)聯(lián)是由上一級迭代形成的。所幸的是,我們所生活的世界幾乎都符合這個前提(有特殊反例)。

關(guān)聯(lián):如果想學(xué)習(xí)的關(guān)聯(lián)是異或門(XOR),真值表和實際訓(xùn)練完的預(yù)測值對照如下。

和:期初若用兩條網(wǎng)絡(luò)連接表示的16個關(guān)系可能,那么熵會很高。但用兩條線表示的8個關(guān)系,模型的熵可以降到很低。下圖中的輸出值對應(yīng)紅色數(shù)字。對應(yīng)輸出值是由藍色數(shù)字表達。

:這時再看的關(guān)系,完全就是線性的。光靠觀察就能得出的一個表達。

數(shù)據(jù)量:如關(guān)系圖1中最右側(cè)圖所示,一個輸入會被關(guān)聯(lián)到。而這個數(shù)據(jù)可用于學(xué)習(xí)個關(guān)系。也就是說網(wǎng)絡(luò)變深并不需要更多數(shù)據(jù)。

模型的熵與用一條所要擬合的關(guān)系數(shù)量有關(guān)。也就是說,

變體(variation)越少,擬合難度越低,熵越低。

網(wǎng)絡(luò)結(jié)構(gòu)2:既然這樣,有4個變體,這次把節(jié)點增加到4。

關(guān)系圖2:與網(wǎng)絡(luò)結(jié)構(gòu)1不同,增加到4個節(jié)點后,每個節(jié)點都可以完全沒有變體,只取一個值。想法很合理,但實際訓(xùn)練時,模型不按照該方式工作。

注:太多顏色容易眼花。這里不再用顏色標注不同線之間的對應(yīng)關(guān)系,但對應(yīng)關(guān)系依然存在。

問題:因為會出現(xiàn)右圖的情況:只有兩個節(jié)點在工作(線的粗細表示權(quán)重大?。:偷墓?jié)點在濫竽充數(shù)。這就跟只有兩個節(jié)點時沒有太大別。原因是神經(jīng)網(wǎng)絡(luò)的權(quán)重的初始化是隨機的,數(shù)據(jù)的輸入順序也是隨機的。這些隨機性使得權(quán)重更新的方向無法確定。

討論:網(wǎng)絡(luò)既然選擇這種方式來更新權(quán)重,是否一定程度上說明,用較少的節(jié)點就可以表示該關(guān)聯(lián)?并不是,原因在于日常生活中的關(guān)聯(lián),我們無法獲得所有變體的數(shù)據(jù)。所得數(shù)據(jù)往往是很小的一部分。較少的節(jié)點可以表示這一小部分數(shù)據(jù)的關(guān)聯(lián),但卻無法涵蓋所有變體情況。造成實際應(yīng)用時效果不理想。

緩解:緩解的方式有L2正則化(L2 regularization):將每層權(quán)重矩陣的平方和作為懲罰。

表達式:,是懲罰的強弱,可以調(diào)節(jié)。除以2是為了求導(dǎo)方便(與后邊的平方抵消)。

意義:當同一層的權(quán)重有個別值過高時,平方和就會增加。而模型在訓(xùn)練中會降低該懲罰。產(chǎn)生的作用是使所有權(quán)重平攤?cè)蝿?wù),讓都有值。以這樣的方式來使每個節(jié)點都工作,從而消除變體,可以緩解過擬合(overfitting)。

例如:

具有一個隱藏層的神經(jīng)網(wǎng)絡(luò)可以模擬任何函數(shù),最糟的情況需要個節(jié)點。

也叫Universal Approximation Theorem。但最糟的情況是輸入空間有多少個變體,就需要多少個節(jié)點。表示獨立因素的變體個數(shù),表示獨立因素的個數(shù)。上述的例子中最糟的情況需要個隱藏節(jié)點。而代價也是需要個不同數(shù)據(jù)才可以完美擬合。

使用條件:淺層神經(jīng)網(wǎng)絡(luò)可以分開幾乎所有自然界的關(guān)聯(lián)。因為神經(jīng)網(wǎng)絡(luò)最初就是由于可移動的生物需要預(yù)測未來事件所進化而來的。所學(xué)習(xí)的關(guān)聯(lián)是過去狀態(tài)到未來狀態(tài)。如下圖,物理中的力也可以分離成兩個獨立的分力來研究。

但有一種不適用的情況:非函數(shù)。

實例:函數(shù)的定義是:每個輸入值對應(yīng)唯一輸出值的對應(yīng)關(guān)系。為什么這么定義函數(shù)?對應(yīng)兩個以上的輸出值在數(shù)學(xué)上完全可以。但是在宏觀的世界發(fā)展中卻不常見。如下圖:

時間順流:不管從哪個起點開始,相同的一個狀態(tài)(不是維度)可以獨立發(fā)展到多個不同狀態(tài)(如氧原子可演變成氧分子和臭氧分子)。也就熱力學(xué)第二定律的自發(fā)性熵增:原始狀態(tài)通過物理關(guān)系,形成更多變體。

時間倒流:宏觀自然界中難以找到兩個以上的不同狀態(tài)共同收回到一個狀態(tài)的例子(如氧分子和臭氧分子無法合并成氧原子)。如果這個可以實現(xiàn),熵就會自發(fā)性減少。也就不需要生物來消耗能量減熵。我們的房間會向整齊的狀態(tài)發(fā)展。但這違背熱力學(xué)第二定律。至少在我們的宏觀世界中,這種現(xiàn)象不常見。所以進化而來的神經(jīng)網(wǎng)絡(luò)可以擬合任何函數(shù),但在非函數(shù)上就沒有什么優(yōu)勢。畢竟生物的預(yù)測是從過去狀態(tài)到未來狀態(tài)。也說明神經(jīng)網(wǎng)絡(luò)并不違背無免費午餐定理。

實例:XOR門的輸入空間和輸出空間若互換位置,則神經(jīng)網(wǎng)絡(luò)擬合出來的可能性就非常低(并非絕對無法擬合)。

4:繼續(xù)加深

淺層神經(jīng)網(wǎng)絡(luò)可以模擬任何函數(shù),但數(shù)據(jù)量的代價是無法接受的。深層解決了這個問題。相比淺層神經(jīng)網(wǎng)絡(luò),深層神經(jīng)網(wǎng)絡(luò)可以用更少的數(shù)據(jù)量來學(xué)到更好的擬合。上面的例子很特殊。因為,,比較不出來。下面YJango就換一個例子,并比較深層神經(jīng)網(wǎng)絡(luò)和淺層神經(jīng)網(wǎng)絡(luò)的區(qū)別。

問題描述:空間有8個可能狀態(tài),空間有2個可能狀態(tài):

網(wǎng)絡(luò)結(jié)構(gòu):

淺層神經(jīng)網(wǎng)絡(luò):8節(jié)點隱藏層

深層神經(jīng)網(wǎng)絡(luò):2節(jié)點隱藏層 3節(jié)點隱藏層

深淺對比:

淺層神經(jīng)網(wǎng)絡(luò):假如說輸入3和輸出0對應(yīng)。數(shù)據(jù)只能用于學(xué)習(xí)一個節(jié)點(如)前后的兩條關(guān)系線。完美學(xué)習(xí)該關(guān)聯(lián)需要所有8個變體。然而當變體數(shù)為10^10時,我們不可能獲得10^10個不同變體的數(shù)據(jù),也失去了學(xué)習(xí)的意義。畢竟我們是要預(yù)測沒見過的數(shù)據(jù)。所以與其說這是學(xué)習(xí),不如說這是強行記憶。好比一個學(xué)生做了100冊練習(xí)題,做過的題會解,遇到新題仍然不會。他不是學(xué)會了做題,而是記住了怎么特定的題。

深層神經(jīng)網(wǎng)絡(luò):如果只觀察輸入和輸出,看起來同樣需要8個不同的訓(xùn)練數(shù)據(jù)。但不同之間有共用部分。比如說,在確定3和0關(guān)系時,也同時對所有共用連接的其他變體進行確定。這樣就使得原本需要8個不同數(shù)據(jù)才能訓(xùn)練好的關(guān)聯(lián)變成只需要3,4不同數(shù)據(jù)個就可以訓(xùn)練好。(下圖關(guān)系線的粗細并非表示權(quán)重絕對值,而是共用度)

深層的前提:使用淺層神經(jīng)網(wǎng)絡(luò)好比是用解,需要2個不同數(shù)據(jù)。而深層神經(jīng)網(wǎng)絡(luò)好比用解,只需要一個數(shù)據(jù)。無免費午餐定理告訴我們,優(yōu)化算法在一個任務(wù)上優(yōu)秀,就一定會在其他任務(wù)上有缺陷,深層同樣滿足該定理。如果用去解實際上有的,或者去解實際為的關(guān)聯(lián)時,搜索效果只會更差。所以深層的前提是:空間中的元素可以由迭代發(fā)展而來的。換句話說中的所有變體,都有共用根源(root)。

我們的物理世界:幸運的是,我們的物理世界幾乎都滿足迭代的先驗知識。

實例:比如進化。不同動物都是變體,雖然大家現(xiàn)在的狀態(tài)各異,但在過去都有共同的祖先。

實例:又如細胞分裂。八卦中的8個變體是由四象中4個變體的基礎(chǔ)上發(fā)展而來,而四象又是由太極的2個變體演變而來。很難不回想起“無極生太極,太極生兩儀,兩儀生四象,四象生八卦”。(向中國古人致敬,雖然不知道他們的原意)

學(xué)習(xí)的過程是因素間的關(guān)系的拆分,關(guān)系的拆分是信息的回卷,信息的回卷是變體的消除,變體的消除是不確定性的縮減。

自然界兩個固有的先驗知識:

并行:新狀態(tài)是由若干舊狀態(tài)并行組合形成。

迭代:新狀態(tài)由已形成的狀態(tài)再次迭代形成。

為何深層學(xué)習(xí):深層學(xué)習(xí)比淺層學(xué)習(xí)在解決結(jié)構(gòu)問題上可用更少的數(shù)據(jù)學(xué)習(xí)到更好的關(guān)聯(lián)。

隨后的三篇文章正是用tensorflow實現(xiàn)上述討論的內(nèi)容,以此作為零基礎(chǔ)實現(xiàn)深層學(xué)習(xí)的起點。

* TensorFlow基本用法

* 代碼演示LV1

* 代碼演示LV2

最后總結(jié)一下開篇的問題:

1. 為什么神經(jīng)網(wǎng)絡(luò)高效:并行的先驗知識使得模型可用線性級數(shù)量的樣本學(xué)習(xí)指數(shù)級數(shù)量的變體

2. 學(xué)習(xí)的本質(zhì)是什么:將變體拆分成因素和知識(Disentangle Factors of Variation)

* 稀疏表達:一個矩陣被拆分成了稀疏表達和字典。

* one hot vector:將因素用不同維度分開,避免彼此糾纏。

3. 為什么深層神經(jīng)網(wǎng)絡(luò)比淺層神經(jīng)網(wǎng)絡(luò)更高效:迭代組成的先驗知識使得樣本可用于幫助訓(xùn)練其他共用同樣底層結(jié)構(gòu)的樣本。

4. 神經(jīng)網(wǎng)絡(luò)在什么問題上不具備優(yōu)勢:不滿足并行與迭代先驗的任務(wù)

* 非函數(shù):需要想辦法將問題轉(zhuǎn)化。

* 非迭代:該層狀態(tài)不是由上層狀態(tài)構(gòu)成的任務(wù)(如:很深的CNN因為有max pooling,信息會逐漸丟失。而residual network再次使得迭代的先驗滿足)

到此我們討論完了神經(jīng)網(wǎng)絡(luò)最基礎(chǔ)的,也是最重要的知識。在實際應(yīng)用中仍會遇到很多問題(尤其是神經(jīng)網(wǎng)絡(luò)對noise的克服更加巧妙)。隨后YJango會再和大家一起分析過深后會產(chǎn)生什么效果,并一步步引出設(shè)計神經(jīng)網(wǎng)絡(luò)的本質(zhì)。


聲明:本文內(nèi)容及配圖由入駐作者撰寫或者入駐合作網(wǎng)站授權(quán)轉(zhuǎn)載。文章觀點僅代表作者本人,不代表電子發(fā)燒友網(wǎng)立場。文章及其配圖僅供工程師學(xué)習(xí)之用,如有內(nèi)容侵權(quán)或者其他違規(guī)問題,請聯(lián)系本站處理。 舉報投訴
  • 人工智能
    +關(guān)注

    關(guān)注

    1791

    文章

    47183

    瀏覽量

    238246
  • 深度學(xué)習(xí)
    +關(guān)注

    關(guān)注

    73

    文章

    5500

    瀏覽量

    121111
收藏 人收藏

    評論

    相關(guān)推薦

    探討機器學(xué)習(xí)深度學(xué)習(xí)基本概念與運算過程

    人工智慧隸屬于大範疇,包含了機器學(xué)習(xí)(Machine Learning) 與深度學(xué)習(xí)Deep Learning)。如下圖所示,我們最興趣的深度
    的頭像 發(fā)表于 12-18 15:45 ?4295次閱讀
    探討機器<b class='flag-5'>學(xué)習(xí)</b>與<b class='flag-5'>深度</b><b class='flag-5'>學(xué)習(xí)</b>基本概念與運算過程

    NVIDIA火熱招聘深度學(xué)習(xí) (Deep Learning) 達人

    在此附上NVIDIA深度學(xué)習(xí)亞太區(qū)相關(guān)職位的招聘信息,有意向或想查看詳細工作說明的朋友歡迎發(fā)送英文簡歷或來信至 allelin@nvidia.com Wechat :hrallenlin 目前熱招
    發(fā)表于 08-25 17:04

    人工智能深度學(xué)習(xí)發(fā)展迅速,智能科技公司都已經(jīng)涉足人工智能產(chǎn)品的研發(fā)!

    深度學(xué)習(xí)Deep Learning)核心技術(shù)開發(fā)與應(yīng)用1,Deep Learning—循環(huán)神經(jīng)網(wǎng)絡(luò)2,Deep Learning—CNN
    發(fā)表于 09-05 10:22

    基于Wide&Deep的預(yù)測

    基于深度學(xué)習(xí)模型Wide&Deep的推薦
    發(fā)表于 08-19 12:23

    鄢志杰談深度學(xué)習(xí)基于問題來選擇工具

    鄢志杰將在12月11日下午的深度學(xué)習(xí)分論壇進行題為Deep Learning 助力客服小二:數(shù)據(jù)技術(shù)及機器學(xué)習(xí)在客服中心的應(yīng)用的主題演講,分享基于DNN、CNN、RNN(LSTM)及其
    發(fā)表于 10-13 17:01 ?0次下載

    谷歌為何深度學(xué)習(xí)感興趣?

    深度學(xué)習(xí)是當前最熱門的人工智能領(lǐng)域。傳統(tǒng)計算機盡管速度很快,但缺乏智能性。這些計算機無法從以往的錯誤中學(xué)習(xí),在執(zhí)行某項任務(wù)時必須獲得精確指令。 深度
    發(fā)表于 02-12 07:27 ?1158次閱讀

    淺論學(xué)習(xí)深度學(xué)習(xí)的四個步驟

    深度學(xué)習(xí)的概念源于人工神經(jīng)網(wǎng)絡(luò)的研究。含多隱層的多層感知器就是一種深度學(xué)習(xí)結(jié)構(gòu)。深度學(xué)習(xí)通過組合
    的頭像 發(fā)表于 10-07 15:19 ?1.2w次閱讀

    一份深度學(xué)習(xí)學(xué)習(xí)筆記資料合集

    學(xué)習(xí)?!?在這 5 堂課中,學(xué)生將可以學(xué)習(xí)深度學(xué)習(xí)的基礎(chǔ),學(xué)會構(gòu)建神經(jīng)網(wǎng)絡(luò),并用在包括吳恩達本人在內(nèi)的多位業(yè)界頂尖專家指導(dǎo)創(chuàng)建自己的機器
    發(fā)表于 09-01 08:00 ?5次下載
    一份<b class='flag-5'>深度</b><b class='flag-5'>學(xué)習(xí)</b>的<b class='flag-5'>學(xué)習(xí)</b>筆記資料合集

    《自動化學(xué)報》—多Agent深度強化學(xué)習(xí)綜述

    多Agent 深度強化學(xué)習(xí)綜述 來源:《自動化學(xué)報》,作者梁星星等 摘 ?近年來,深度強化學(xué)習(xí)(Dee
    發(fā)表于 01-18 10:08 ?1617次閱讀
    《自動化學(xué)報》—多Agent<b class='flag-5'>深度</b>強化<b class='flag-5'>學(xué)習(xí)</b>綜述

    什么是深度學(xué)習(xí)Deep Learning)?深度學(xué)習(xí)的工作原理詳解

    ? 本文將帶您了解深度學(xué)習(xí)的工作原理與相關(guān)案例。 什么是深度學(xué)習(xí)? 深度學(xué)習(xí)是機器
    的頭像 發(fā)表于 04-01 10:34 ?1.1w次閱讀

    四個理由告訴你,為何學(xué)習(xí)FPGA

    為什么學(xué)習(xí)FPGA?前景好?薪酬高?沒有所謂的中年危機?國家政策大力扶持?為國家技術(shù)發(fā)展貢獻力量?……每個人選擇一門技術(shù)都有其中的理由,學(xué)習(xí)FPGA,可以是上面的任何一個理由,可以是其他理由
    的頭像 發(fā)表于 12-23 09:55 ?1322次閱讀

    深度學(xué)習(xí)較著名軟件框架、庫

    深度學(xué)習(xí)(DL, Deep Learning)是機器學(xué)習(xí)(ML, Machine Learning)領(lǐng)域中一個新的研究方向,它被引入機器學(xué)習(xí)
    發(fā)表于 02-22 10:23 ?410次閱讀
    <b class='flag-5'>深度</b><b class='flag-5'>學(xué)習(xí)</b>較著名軟件框架、庫

    深度學(xué)習(xí)遇上TDA4

     深度學(xué)習(xí)是機器學(xué)習(xí)的一個子集,常用于自然語言處理,計算機視覺等領(lǐng)域,與眾不同之處在于,DL(Deep Learning )算法可以自動從圖像、視頻或文本等數(shù)據(jù)中
    的頭像 發(fā)表于 03-15 10:09 ?1294次閱讀
    當<b class='flag-5'>深度</b><b class='flag-5'>學(xué)習(xí)</b>遇上TDA4

    深度學(xué)習(xí)的定義和特點 深度學(xué)習(xí)典型模型介紹

    深度學(xué)習(xí)Deep Learning)是一種基于人工神經(jīng)網(wǎng)絡(luò)的機器學(xué)習(xí)算法,其主要特點是模型由多個隱層組成,可以自動地學(xué)習(xí)特征,并進行預(yù)測或
    發(fā)表于 08-21 18:22 ?3291次閱讀

    深度解析深度學(xué)習(xí)的語義SLAM

    隨著深度學(xué)習(xí)技術(shù)的興起,計算機視覺的許多傳統(tǒng)領(lǐng)域都取得了突破性進展,例如目標的檢測、識別和分類等領(lǐng)域。近年來,研究人員開始在視覺SLAM算法中引入深度學(xué)習(xí)技術(shù),使得
    發(fā)表于 04-23 17:18 ?1284次閱讀
    <b class='flag-5'>深度</b>解析<b class='flag-5'>深度</b><b class='flag-5'>學(xué)習(xí)</b><b class='flag-5'>下</b>的語義SLAM
    RM新时代网站-首页