機器學(xué)習(xí)有監(jiān)督學(xué)習(xí)、無監(jiān)督學(xué)習(xí)、半監(jiān)督學(xué)習(xí)、主動學(xué)習(xí)、強化學(xué)習(xí)這5種學(xué)習(xí)方式;而根據(jù)所學(xué)知識(或模型)結(jié)構(gòu)不同,可以使用諸如神經(jīng)網(wǎng)絡(luò)、決策樹、規(guī)則、貝葉斯網(wǎng)絡(luò)等方法去構(gòu)建學(xué)習(xí)算法;深度學(xué)習(xí)目前可以說是一種基于神經(jīng)網(wǎng)絡(luò)的學(xué)習(xí)方法。而目前人工智能這么火爆,很大程度上歸功于深度學(xué)習(xí)等機器學(xué)習(xí)算法的成功應(yīng)用,如阿爾法狗、沃森、翻譯機、人臉識別、無人車等。本篇聊聊深度學(xué)習(xí)。
“學(xué)習(xí)”倆字,就足以讓人們感受到機器的智能水平了。再加上“深度”倆字,原力君感覺鉆進了無邊無際的宇宙世界而不能自拔。這兩句話,只是為了表明我對深度學(xué)習(xí)這個名字的態(tài)度:它太唬人了!
深度學(xué)習(xí)的目的,是要得到樣本數(shù)據(jù)中輸入輸出數(shù)據(jù)之間的關(guān)系。這個關(guān)系實際上是一個函數(shù),在實際工程中常用“模型”倆字來表示這個函數(shù)。為什么?因為一般人不知道函數(shù),函數(shù)是有數(shù)學(xué)定義的;而一般人也不知道模型,但是模型可以讓人聽上去似懂非懂;而對理工科的同志來說,“函數(shù)”倆字表達的更清楚一些。實際中,深度學(xué)習(xí)常用來學(xué)習(xí)如何根據(jù)采集的數(shù)據(jù)來識別某一個物體,那這個“函數(shù)”在一定程度上就表征了這個物體的特性,因此大家也就常常用“模型”倆字來描述深度學(xué)習(xí)得到的函數(shù)關(guān)系。模型,包含了兩層含義:一是說模型實際上是一個函數(shù)關(guān)系,二是說這個函數(shù)是用來表征物體特性的。
深度學(xué)習(xí)可以看作是一種更高級的函數(shù)擬合方法
仔細回想一下我們高中學(xué)過的線性回歸方程,假設(shè)我們得到了一組關(guān)于施化肥量和水稻產(chǎn)量的數(shù)據(jù):
施化肥量
|
15
|
20
|
25
|
30
|
35
|
40
|
45
|
水稻產(chǎn)量
|
330
|
345
|
365
|
405
|
445
|
450
|
455
|
這組數(shù)據(jù)繪制成二維平面圖之后,是一系列的散點。但是,我們可以使用一條直線去擬合施化肥量和水稻產(chǎn)量之間的關(guān)系。通常來說,直線方程可以表示為y=ax+b。在本例中,y代指水稻產(chǎn)量,x代指施化肥量,而a和b兩個參數(shù)用來表征施化肥量和水稻產(chǎn)量之間的數(shù)學(xué)關(guān)系。
上面剛剛講到,深度學(xué)習(xí)最終的目的是得到一個模型來表征樣本數(shù)據(jù)所描述的系統(tǒng),是不是感覺跟線性回歸問題很相似?
在實際工程中,我們的研究對象可能比較復(fù)雜,很難用一個線性方程來表示其模型。值得高興的是,研究者已經(jīng)證明了一個事實:神經(jīng)網(wǎng)絡(luò)可以用來表征任何形式的函數(shù)。因此,深度學(xué)習(xí)通常使用神經(jīng)網(wǎng)絡(luò)來表征研究對象的模型。
有了神經(jīng)網(wǎng)絡(luò),深度學(xué)習(xí)要做的就是使用已有的樣本數(shù)據(jù),利用合適的優(yōu)化方法,去尋找能夠最好的描述研究對象特性的神經(jīng)網(wǎng)絡(luò)參數(shù)。一旦得到了最優(yōu)的參數(shù),神經(jīng)網(wǎng)絡(luò)就可以定型,我們就可以在實際應(yīng)用中使用這個已定型的神經(jīng)網(wǎng)絡(luò)來判斷采集的數(shù)據(jù)是否屬于我們的研究對象。當(dāng)然,與線性回歸相比,深度學(xué)習(xí)的過程非常復(fù)雜。
人工神經(jīng)網(wǎng)絡(luò)、激活函數(shù)、代價函數(shù)、梯度下降、反向傳播是深度學(xué)習(xí)的幾個關(guān)鍵點
人工神經(jīng)網(wǎng)絡(luò)是深度學(xué)習(xí)的基礎(chǔ),深度學(xué)習(xí)的結(jié)果通常是用神經(jīng)網(wǎng)絡(luò)的形式表示的。與人的大腦神經(jīng)網(wǎng)絡(luò)類似,人工神經(jīng)網(wǎng)絡(luò)的基礎(chǔ)是人工神經(jīng)元。單個神經(jīng)元很簡單,但是非常多個神經(jīng)元串聯(lián)并聯(lián)組合在一起之后,就會量變引起質(zhì)變,生成一種復(fù)雜神經(jīng)網(wǎng)絡(luò)。
激活函數(shù)是神經(jīng)網(wǎng)絡(luò)中每個神經(jīng)元的輸入輸出函數(shù)。為了利用深度學(xué)習(xí)得到最優(yōu)神經(jīng)網(wǎng)絡(luò)參數(shù),激活函數(shù)必須是連續(xù)的。
代價函數(shù)是指給定輸入數(shù)據(jù),神經(jīng)網(wǎng)絡(luò)的輸出與樣本數(shù)據(jù)中真實的輸出數(shù)據(jù)偏差,通常用的是殘差平方和來表示,也有其他的表示方法,此處不表。
梯度下降法,是一種常見的原理比較簡單的優(yōu)化求解算法。深度學(xué)習(xí)過程中,算法也是利用代價函數(shù)的變化來計算梯度(變化率,為正則變大,為負則變小)。我們的目的當(dāng)然是讓代價函數(shù)越來越小,也就是讓其梯度一直為負,這就是梯度下降的意思。
反向傳播,可以看作是一種近似計算神經(jīng)網(wǎng)絡(luò)代價函數(shù)對網(wǎng)絡(luò)參數(shù)梯度的方法。由于神經(jīng)網(wǎng)絡(luò)結(jié)構(gòu)的復(fù)雜性,我們沒法用一般的方法去計算其梯度,而反向傳播法提供了一種可行的方法。之所以叫反向傳播,是因為它采用了一種從網(wǎng)絡(luò)的最后一層開始計算梯度,逐步往前面一層推進,因此而得名。
神經(jīng)網(wǎng)絡(luò)結(jié)構(gòu)不同產(chǎn)生不同的深度學(xué)習(xí)方法
不同的神經(jīng)網(wǎng)絡(luò)結(jié)構(gòu),會產(chǎn)生不用的深度學(xué)習(xí)方法,但是其基本思路大同小異。常見的神經(jīng)網(wǎng)絡(luò)結(jié)構(gòu)有:多層感知機、DNN深度神經(jīng)網(wǎng)絡(luò)、CNN卷積神經(jīng)網(wǎng)絡(luò)、RNN遞歸神經(jīng)網(wǎng)絡(luò)等。但是不管使用什么樣的網(wǎng)絡(luò)結(jié)構(gòu),神經(jīng)網(wǎng)絡(luò)最終是用來表征模型函數(shù)的,學(xué)習(xí)的過程都是通過微調(diào)參數(shù)觀察輸出來得到最優(yōu)參數(shù)的。
一句話總結(jié):深度學(xué)習(xí)可以看作是一種更高級的函數(shù)擬合方法;人工神經(jīng)網(wǎng)絡(luò)、激活函數(shù)、代價函數(shù)、梯度下降、反向傳播是深度學(xué)習(xí)的幾個關(guān)鍵點;常見的深度學(xué)習(xí)神經(jīng)網(wǎng)絡(luò)結(jié)構(gòu)有多層感知機、DNN、CNN、RNN等。
聯(lián)系:highspeedlogic
QQ :1224848052
微信:HuangL1121
郵箱:1224848052@qq.com
網(wǎng)站:http://www.mat7lab.com/
網(wǎng)站:http://www.hslogic.com/
微信掃一掃: