从机器学习到深度学习
傳統(tǒng)機器學習解決問題的一般思路為:
數(shù)據(jù)獲取→\to→ 預處理→\to→ 特征提取(表達)→\to→ 特征選擇→\to→ 推理、預測、識別
其中的 特征提取(表達) 部分對最終的算法準確性起著非常關(guān)鍵性的作用,而系統(tǒng)主要的計算和測試工作都消耗在這一部分。但實際中這一部分一般都是人工完成的,即人工提取特征。
手工提取特征費力且需要經(jīng)驗、專業(yè)知識和運氣,難以得到好的特征,因此思考讓計算機自動學習特征,即 深度學習。
人腦視覺機理
近幾十年以來,認知神經(jīng)科學、生物學等學科的發(fā)展促進了人工智能的發(fā)展。而關(guān)于人的視覺信息系統(tǒng):
(1)人的視覺系統(tǒng)信息處理是分級的;
(2)高層特征是低層特征的組合,而抽象層面越高,存在的可能猜測就越少,就越利于分類。
這個生理學的發(fā)現(xiàn),促成了計算機人工智能的突破性發(fā)展。
特征表達
而深度學習,則是讓機器自動學習良好特征的過程,參考人的視覺分層處理系統(tǒng),即深度學習需要更多層來獲得更抽象的特征表達。
深度學習的基本思想
假設(shè)有一個系統(tǒng) SSS,有 n 層 (S1,S2,?,Sn)(S_1,S_2,\cdots,S_n)(S1?,S2?,?,Sn?),輸入為 III,輸出為 OOO,則可表示為:
I?S1?S2???Sn?OI\Rightarrow S_1\Rightarrow S_2 \Rightarrow\cdots\Rightarrow S_n\Rightarrow OI?S1??S2????Sn??O,
若輸出 OOO 等于輸入 III,即輸入 III 經(jīng)過這個系統(tǒng)變化之后沒有任何的信息丟失。
深度學習需要自動地學習特征,有一堆輸入 III(如一堆圖像或者文本),假設(shè)我們設(shè)計了一個系統(tǒng) SSS(有n層),通過調(diào)整系統(tǒng)中參數(shù),使它的輸出等于輸入 III,那么我們就可以自動地獲取得到輸入I的一系列層次特征,即 (S1,S2,?,Sn)(S_1,S_2,\cdots,S_n)(S1?,S2?,?,Sn?)。輸出 OOO 嚴格等于輸入 III,這個限制太嚴格,可略微放松,只要使得輸入與輸出的差別盡可能小即可。
深度學習的思想就是堆疊多個層,也就是說這一層的輸出作為下一層的輸入。通過這種方式,就可以實現(xiàn)對輸入信息的分級(hierarchical)表達。
深度學習
傳統(tǒng)的多數(shù)分類、回歸等學習方法為淺層結(jié)構(gòu)算法,其局限性在于有限樣本和計算單元情況下對復雜函數(shù)的表示能力有限,針對復雜分類問題其泛化能力受到一定制約。深度學習可通過學習一種深層非線性網(wǎng)絡(luò)結(jié)構(gòu),實現(xiàn)復雜函數(shù)逼近,表征輸入數(shù)據(jù)分布式表示,并展現(xiàn)了強大的從大樣本中集中學習數(shù)據(jù)集本質(zhì)特征的能力。而使用多層網(wǎng)絡(luò)的好處是可以通過多層疊加表示復雜函數(shù)。
深度學習的實質(zhì),是通過構(gòu)建具有很多隱層的機器學習模型和海量的訓練數(shù)據(jù),來學習更有用的特征,從而最終提升分類或預測的準確性。即利用“深度模型”這一手段來實現(xiàn)“特征學習”的目的。
深度學習與傳統(tǒng)淺層學習的不同
(1)深度學習強調(diào)模型結(jié)構(gòu)的深度,通常至少有5層、6層,甚至10多層的隱層節(jié)點;
(2)深度學習明確突出特征學習的重要性,通過逐層特征變換,將樣本在原空間的特征表示變換到一個新特征空間,使分類或預測更加容易。與人工規(guī)則構(gòu)造特征的方法相比,利用大數(shù)據(jù)學習特征,更能夠刻畫數(shù)據(jù)的豐富內(nèi)在信息。
但相較于傳統(tǒng)方法,其也存在著劣勢:
(1)比較容易過擬合,參數(shù)比較難調(diào)整,而且需要不少竅門;
(2)訓練速度比較慢,在層次比較少(小于等于3)的情況下效果并不比其它方法更優(yōu)。
深度學習與 神經(jīng)網(wǎng)絡(luò)的異同點比較:
相同點:深度學習采用了神經(jīng)網(wǎng)絡(luò)相似的分層結(jié)構(gòu),系統(tǒng)由包括輸入層、隱層(多層)、輸出層組成的多層網(wǎng)絡(luò),只有相鄰層節(jié)點之間有連接,同一層以及跨層節(jié)點之間相互無連接,每一層可以看作是一個邏輯回歸模型;這種分層結(jié)構(gòu),比較接近人類大腦的結(jié)構(gòu)。
不同點:傳統(tǒng)神經(jīng)網(wǎng)絡(luò)中,采用的是反向傳播(BP)算法進行訓練。即采用迭代的算法來訓練整個網(wǎng)絡(luò),隨機設(shè)定初值,計算當前網(wǎng)絡(luò)的輸出,然后根據(jù)當前計算的輸出值和實際的標記值之間的差去改變前面各層的參數(shù),直到收斂(整體是一個梯度下降法)。但深度學習整體上是一個layer-wise的訓練機制。避免層數(shù)多時殘差出現(xiàn)所謂的gradient diffusion(梯度擴散)。
BP算法作為傳統(tǒng)訓練多層網(wǎng)絡(luò)的典型算法,實際上對僅含幾層網(wǎng)絡(luò),該訓練方法就已經(jīng)很不理想。其對深度網(wǎng)絡(luò)的訓練存在一些問題:(1)梯度越來越稀疏:從頂層越往下,誤差校正信號越來越小;(2)收斂到局部最小值:尤其是從遠離最優(yōu)區(qū)域開始的時候(隨機值初始化會導致這種情況的發(fā)生);(3)只能用有標簽的數(shù)據(jù)來訓練:但大部分數(shù)據(jù)是沒標簽的,而大腦可以從沒有標簽的數(shù)據(jù)中學習。
對于深層模型的訓練,通常采用BP算法來更新網(wǎng)絡(luò)參數(shù)。但是需要對網(wǎng)絡(luò)參數(shù)進行很小心的初始化,以免網(wǎng)絡(luò)陷入局部最小點。
深度學習的具體模型及方法
1.自動編碼器( AutoEncoder )
2.稀疏自動編碼器( Sparse AutoEncoder )
3.降噪自動編碼器( Denoising AutoEncoders )
4.受限波爾茲曼機( RBM,Restricted Boltzmann Machine )
5.深度信念網(wǎng)絡(luò)( Deep Belief Networks )
6.卷積神經(jīng)網(wǎng)絡(luò)( Convolutional Neural Networks )
7.生成對抗網(wǎng)絡(luò)( GAN )
總結(jié)
以上是生活随笔為你收集整理的从机器学习到深度学习的全部內(nèi)容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: 营业执照生成_电子营业执照如何获取?
- 下一篇: 软件工程大一至大四课程