????這些年深度學習太火了,你肯定疑惑深度學習網(wǎng)絡(luò)看起來無比強大,但為什么直到這十多年才火熱起來呢?從技術(shù)上來說,深度學習并不是一個特別高深,特別新穎的技術(shù),很多是“舊瓶裝新酒”。但在此之前,由于計算資源缺乏和數(shù)據(jù)的缺失,使得嚴重依賴于“算力”和“數(shù)據(jù)”的深度學習技術(shù)難以實用化。而現(xiàn)在芯片技術(shù)快速發(fā)展,具備了暴力計算的可能;各種數(shù)據(jù)似乎隨手可得,學習資源也不再是瓶頸。當這些限制性的天花板被一個一個被打開后,深度學習終于迎來了他的春天?,F(xiàn)在,你別嫌棄它“好傻好暴力”,它就是“很強很實用”。
深度學習的核心就是"深度" ,從實現(xiàn)上深度學習神經(jīng)網(wǎng)絡(luò)就是一種包括多個隱含層的多層感知機,它通過組合低層特征,形成更為抽象的高層表示,用以描述被識別對象的高級屬性類別或特征,深度學習的“深”就是指層數(shù)多。我們把這四周一起學習的內(nèi)容串一下,你能清晰的看到從上個世紀中“感知機”一步步發(fā)展到現(xiàn)在的“深度學習網(wǎng)絡(luò)”,Deep learning幾經(jīng)起伏,走過了這條由“淺”變“深”之路。 ? ? ? ? ?
下面我們就一起來回顧一下。 1、機器學習和深度學習是兩兄弟么? 劃重點:學習的核心是改善性能,深度學習是機器學習的一個分支,它的發(fā)展幾經(jīng)起伏。近十年伴隨著算法成熟、數(shù)據(jù)爆炸,算力俱增,深度學習走入舞臺中心。 (1)西蒙教授(Herbert Simon)是1975年圖靈獎獲得者、1978年諾貝爾經(jīng)濟學獎獲得者,他給學習下的定義是“學習的核心目的就是改善性能”。 (2)機器學習(Machine Learning)是人工智能(Artificial Intelligence)的一個分支,深度學習(Deep Learning)是機器學習中的一個子集,或者說,機器學習是實現(xiàn)人工智能的一種方法,而深度學習僅僅是實現(xiàn)機器學習的一種技術(shù)。 (3)上個世紀50年代至今,從1958年感知機實現(xiàn),到BP神經(jīng)網(wǎng)絡(luò)的出現(xiàn),再到2006年傳奇的辛頓(Geoffrey Hinton)及其學生掀起深度學習的第三次浪潮,幾經(jīng)起伏后深度學習終于走上前臺。而在此之后,伴隨著數(shù)據(jù)量的爆炸式增長與計算能力的與日俱增,深度學習得到了進一步的發(fā)展。
2、機器學習就是找到一個“好用的”函數(shù)? 劃重點:研究機器學習的過程是尋找有效算法的過程,算法是由一系列函數(shù)組成的,“好算法”的基石是“好的函數(shù)”。 (1)我們可以這樣理解機器學習“從數(shù)據(jù)中學習,形成有效經(jīng)驗,提升執(zhí)行任務(wù)/工作的表現(xiàn)”,因此對于研究機器學習就是不斷找尋更有效算法,而算法的基石是一個個函數(shù),臺灣大學李宏毅博士這樣定義“機器學習在形式上可近似等同在數(shù)據(jù)對象中通過統(tǒng)計或推理的方法,尋找一個有關(guān)特定輸入和預期輸出的功能函數(shù)f”。 (2)如何找到好用的函數(shù)呢?這個程包括建模、評估、優(yōu)化散步?!敖!笔钦乙幌盗械暮瘮?shù)來實現(xiàn)預期的功能,“評估”是制定每個環(huán)節(jié)的評價標準,“優(yōu)化”是調(diào)試到性能最佳的函數(shù)。
3、學好數(shù)理化,走遍天下都不怕? 劃重點:理解機器學必備的數(shù)學基礎(chǔ)知識包括線性代數(shù)、微積分、概率論等等,除了數(shù)學基礎(chǔ)以外,編程能力和英文內(nèi)功也很重要。 (1)理解機器學習必備的數(shù)學基礎(chǔ)知識包括線性代數(shù)、微積分、概率論、最優(yōu)化理論等等,我們需要把數(shù)學知識點串聯(lián)到自己的知識體系中,再以數(shù)學思維去理解人工智能的工具和行為。 (2)機器學習涉及到非常廣泛的知識域,要學習的東西太多就很容易讓人發(fā)慌,打好基礎(chǔ)尤為關(guān)鍵,總結(jié)起來就是“數(shù)學是基礎(chǔ),編程是手段,英文是內(nèi)功”。
4、機器學習中的函數(shù)(1)- 激活函數(shù)和感知機 劃重點:機器學習研究的突破始于仿生學,基于“M-P神經(jīng)元模型”實現(xiàn)了感知機,感知機中激活函數(shù)根據(jù)不同應用要求不斷演進。但感知機難以實現(xiàn)“異或”邏輯操作,成為致命短板。 (1)機器學習研究的突破始于仿生學,模仿大腦神經(jīng)元的最早實例是20世紀40年代提出的“M-P神經(jīng)元模型”,提出者是神經(jīng)生理學家麥克洛克(Warren McCulloch)和數(shù)學家皮茨(Walter Pitts),論文首次實現(xiàn)了用一個簡單電路(也就是未來大名鼎鼎的感知機)來模擬大腦神經(jīng)元的行為。 (2)M-P神經(jīng)元模型中,神經(jīng)元接收來自n個其他神經(jīng)元傳遞過來的輸入信號,這些信號的表達通常通過神經(jīng)元之間連接的權(quán)重Weight大小來表示,神經(jīng)元將接收到的輸入值按照某種權(quán)重疊加起來,匯集了所有其他外聯(lián)神經(jīng)元的輸入,并將其作為一個結(jié)果輸出。但這種輸出并非直接輸出,而是與當前神經(jīng)元的閾值θ進行比較,然后通過激活函數(shù)f(Activation Function)向外表達輸出,y即為最終輸出。激活函數(shù)不斷變化,包括Sigmoid、Tanh 、ReLU、Softmax等等,根據(jù)不同需求各顯神通。 (3)感知機是由心理學教授羅森布拉特(Frank Rosenblatt)在1957年提出的一種人工神經(jīng)網(wǎng)絡(luò),是形式最簡單的前饋式人工神經(jīng)網(wǎng)絡(luò),是一種二元線性分類器,難以實現(xiàn)常見的“異或”邏輯操作,1972年明斯基出版了《感知機:計算幾何簡介》一書中點明了這個問題,機器學習研究進入漫長寒冬。什么技術(shù)進步幫助機器學習走出這個寒冬呢?
5、機器學習中的函數(shù)(2)- 多層前饋網(wǎng)絡(luò)巧解“異或”問題,損失函數(shù)上場優(yōu)化網(wǎng)絡(luò)性能? 劃重點:前饋神經(jīng)網(wǎng)絡(luò)由單層前饋變成多層前饋后,能力升級,可以解決“異或”問題。多層神經(jīng)網(wǎng)絡(luò)利用損失函數(shù)計算調(diào)節(jié)網(wǎng)絡(luò)中參數(shù),但面對越來越復雜的網(wǎng)絡(luò)高效尋找參數(shù)是一個很大挑戰(zhàn)。 (1)多層前饋網(wǎng)絡(luò)(Multi-layer Feedforward NeuralNetworks)誕生了,在輸出層與輸入層之間的再增加多層神經(jīng)元,即增加“隱含層(hidden layer),大大提升網(wǎng)絡(luò)能力,升級后可以解決“異或”問題。 (2)機器學習的應用中,多層神經(jīng)網(wǎng)絡(luò)學習的本質(zhì)就是利用損失函數(shù)來調(diào)節(jié)網(wǎng)絡(luò)中的權(quán)重,然后根據(jù)網(wǎng)絡(luò)輸出與預期輸出之間的差值,采用迭代的算法,改變前面各層的參數(shù),直至網(wǎng)絡(luò)收斂穩(wěn)定。 (3)網(wǎng)絡(luò)層數(shù)增加,變得更加復雜了,遇到的問題變成如何從眾多網(wǎng)絡(luò)參數(shù)中找到最佳參數(shù),包括神經(jīng)元之間的連接權(quán)值和偏置等。簡單粗暴的方法當然就是枚舉所有可能的權(quán)值,然后優(yōu)中選優(yōu),但對于稍微復雜的網(wǎng)絡(luò),這種策略的計算量是天文數(shù)字,根本不可行。如何高效地找到這些能讓損失函數(shù)達到極小值的參數(shù)呢?
6、機器學習中的函數(shù)(3) - "梯度下降"走捷徑,"BP算法"提效率? 劃重點:基于梯度下降策略的BP算法提出,能高效地找到復雜網(wǎng)絡(luò)中損失函數(shù)的極小值,但是BP算法本身的缺點又限制了神經(jīng)網(wǎng)絡(luò)“變深變強”,神經(jīng)網(wǎng)絡(luò)研究慢慢走入低潮。 (1)為了高效地找到復雜網(wǎng)絡(luò)中損失函數(shù)的極小值,沃伯斯(Paul Werbos)提出了誤差反向傳播(error BackPropagation)BP算法,大神辛頓(Geoffrey Hinton)積極推動BP算法應用。 (2)BP算法其實是一個雙向算法,正向傳播信號,輸出分類信息;反向傳播誤差,調(diào)整網(wǎng)絡(luò)權(quán)值 。BP算法基于梯度下降(gradient descent)策略,梯度下降法是一種常用的最優(yōu)化問題求解方法,BP算法以目標的負梯度方向?qū)?shù)進行調(diào)整,采用“鏈式法則”求解復合函數(shù)的導數(shù),獲得梯度值作為調(diào)整依據(jù)。 (3)BP算法的缺點也有很多,在神經(jīng)網(wǎng)絡(luò)的層數(shù)更多時,很容易陷入局部最優(yōu)解,亦容易過擬合,同時它也只能應用于一個全連接的網(wǎng)絡(luò)。在上個世紀最后10年,他的這個缺陷在某種程度上又把神經(jīng)網(wǎng)絡(luò)研究送到了一個新的低潮期,什么技術(shù)進步幫助機器學習走出這個寒冬呢?
7、機器學習中的函數(shù)(4) - 全連接限制發(fā)展,卷積網(wǎng)絡(luò)閃亮登場 劃重點:引入卷積核進行特征提取,再通過池化層進一步降低數(shù)據(jù)規(guī)模,神經(jīng)網(wǎng)絡(luò)經(jīng)過改良后,具備了“由淺變深”的能力,卷積神經(jīng)網(wǎng)絡(luò)即將出場。 (1)BP算法的種種缺陷使它終歸只能適用于“淺層”網(wǎng)絡(luò),當這種全連接結(jié)構(gòu)的網(wǎng)絡(luò)“變深”后,海量的連接權(quán)值難以訓練,并且多而雜的信息獲取和處理方式使它很難提取到有用的特征,特征歸納能力差,這種“淺層”網(wǎng)絡(luò)難堪大用了,解決這個問題需要引入有“高效的執(zhí)行特征抽取”能力的網(wǎng)絡(luò)。 (2)應用卷積進行特征提取是卷積神經(jīng)網(wǎng)絡(luò)中的第一步,在楊立昆(Yann LeCun)提出的經(jīng)典LeNet-5神經(jīng)網(wǎng)絡(luò)中,先用卷積核完成特征提取,卷積之后再通過池化層(又稱亞采樣層)降低數(shù)據(jù)規(guī)模,進一步完善特征提取和數(shù)據(jù)整理的工作,這樣進入全連接層的數(shù)據(jù)品質(zhì)大大提高,不再是那種“魚龍混雜”的海量數(shù)據(jù)了,而是經(jīng)過反復提純過的優(yōu)質(zhì)數(shù)據(jù)了。這么好的工具我們怎么樣放到神經(jīng)網(wǎng)絡(luò)里?我們的主角卷積神經(jīng)網(wǎng)絡(luò)(Convolutional NeuralNetwork,CNN)要出現(xiàn)了。
8、機器學習中的函數(shù)(5) - “算法、算力,數(shù)據(jù)”已齊備,深度學習走入舞臺中心 劃重點:卷積神經(jīng)網(wǎng)絡(luò)通過技術(shù)創(chuàng)新成功的應用在了機器視覺領(lǐng)域,推動深度學習進入繁榮期,結(jié)合不同類型的應用,RNN、GAN等網(wǎng)絡(luò)也各顯神威。 (1)典型的卷積神經(jīng)網(wǎng)絡(luò)通常由若干個卷積層(Convolutional Layer)、激活層(Activation Layer)、池化層(Pooling Layer)及全連接層(Fully Connected Layer)組成,各個層各司其職,卷積層從數(shù)據(jù)中提取有用的特征;激活層在網(wǎng)絡(luò)中引入非線性,通過彎曲或扭曲映射,來實現(xiàn)表征能力的提升;池化層通過采樣減少特征維度,并保持這些特征具有某種程度上的尺度變化不變性;在全連接層實施對象的分類預測。 (2)2012年,辛頓(Hinton)和他的博士生(Alex Krizhevsky)等提出了AlexNet ,一舉拿下當時ImageNet比賽的冠軍。Alexnet強化了典型CNN的架構(gòu),應用到更深更寬的網(wǎng)絡(luò)中,還首次在CNN中成功應用了ReLU、Dropout等技術(shù)。由于它的出現(xiàn),人們更加相信深度學習可以被應用于機器視覺領(lǐng)域,點燃了大家對深度學習的熱情,深度學習很快進入了繁榮期。 (3)卷積神經(jīng)網(wǎng)絡(luò)是實現(xiàn)深度學習的重要方法之一,但它也不是能包攬所有應用的,我們把卷積神經(jīng)網(wǎng)絡(luò)(CNN,Convolutional Neural Network)稱作破譯圖像的神器,把循環(huán)神經(jīng)網(wǎng)絡(luò)( RNN,Recurrent Neural Network)定義洞悉語言的內(nèi)涵的好工具,我們引入生成對抗網(wǎng)絡(luò)(GAN, Generative Adversarial Network),提升網(wǎng)絡(luò)性能??傊?,結(jié)合實際應用深度學習的技術(shù)還是在快速發(fā)展之中。
我們分享這些知識也僅僅是深度學習這個龐大的知識域中很小的一部分,比如過擬合、Relu函數(shù),超參數(shù),對抗網(wǎng)絡(luò)等等有趣的話題我們還沒有機會和大家一起學習。不過大家千萬不要被知識內(nèi)容的龐雜嚇到了,就像我們這四周的學習過程一樣,先把主干建立起來,當你有一個體系化、成脈絡(luò)的知識主干后,再不斷添磚加瓦,逐步修正,你一定能修建出你自己的知識教堂來
編輯:黃飛
?
評論
查看更多