Posted on Jul 30, 2018 By Keyu Zhao
要說(shuō)深度學(xué)習(xí)deep learning,就先要談到神經(jīng)網(wǎng)絡(luò),或者稱為人工神經(jīng)網(wǎng)絡(luò)artificial neural network,ANN.神經(jīng)網(wǎng)絡(luò)時(shí)一種人類由于受到生物神經(jīng)細(xì)胞結(jié)構(gòu)啟發(fā)而研究出的一種算法體系.
神經(jīng)元
在了解神經(jīng)網(wǎng)絡(luò)前,先了解它的基本組成單元–神經(jīng)元.
上圖就算是一個(gè)簡(jiǎn)單的神經(jīng)元了,它有3個(gè)輸入,分別是a1,a2,a3.
我們所使用的神經(jīng)元通常由兩個(gè)部分組成.一個(gè)是線性模型,另一個(gè)是激勵(lì)函數(shù).
我們先說(shuō)這個(gè)神經(jīng)元的線性模型. 這里的a是一個(gè)3維的向量,當(dāng)然它可以是其它維數(shù)的.我們由此建立了一個(gè)有3個(gè)
輸入項(xiàng)的神經(jīng)元f(a),展開(kāi)先為f(a1,2,a3).然后帶有一個(gè)輸出函數(shù)值output,這個(gè)output的輸出值就是函數(shù)的輸出值f(x).這個(gè)函數(shù)我們寫(xiě)作:
y=f(x)=wx+b
這種方式也是神經(jīng)元最核心部分對(duì)a所做的線性處理,其中a時(shí)一種1n的矩陣,而w是一個(gè)n1的權(quán)重矩陣,b是偏執(zhí)項(xiàng).
舉個(gè)例子,有一個(gè)房地產(chǎn)商用于對(duì)客戶質(zhì)量所用的評(píng)價(jià)函數(shù),所用的假如a矩陣元素分別為
34,20,1\.
分別代表
年齡,年收入,性別.
而w矩陣為
[0.8,2.4,10]
分別代表
[年齡權(quán)重,年收入權(quán)重,性別權(quán)重]
f(x)=34*0.8+20*2.4+1*10=85.2
這種評(píng)價(jià)體式下這位客戶獲得的評(píng)分為85.2分.這樣,在對(duì)一系列的客戶進(jìn)行評(píng)分后就可以進(jìn)行進(jìn)一步的工作了.
以上便是神經(jīng)元工作時(shí)的簡(jiǎn)單場(chǎng)景.但是這些權(quán)重又是如何得到的呢?
大多時(shí)候是又逆向的方法得到的.我們首先要有龐大的客戶樣本,然后通過(guò)數(shù)據(jù)對(duì)權(quán)重的訓(xùn)練最后得到最合適的值.
激勵(lì)函數(shù)是神經(jīng)元的重要組成部分,它在神經(jīng)元當(dāng)中緊跟在一個(gè)f(x)=wx+b函數(shù)后,用于加入一些非線性的因素,從而得到輸出z.在目前深度學(xué)習(xí)框架中,大家大多選取比較好用的哪幾種激勵(lì)函數(shù).
Loss函數(shù)
又名損失函數(shù)
在統(tǒng)計(jì)學(xué),統(tǒng)計(jì)決策理論和經(jīng)濟(jì)學(xué)中,損失函數(shù)是指一種將一個(gè)事件(在一個(gè)樣本空間中的一個(gè)元素)映射到一個(gè)表達(dá)與其事件相關(guān)的經(jīng)濟(jì)成本或機(jī)會(huì)成本的實(shí)數(shù)上的一種函數(shù)。更通俗地說(shuō),在統(tǒng)計(jì)學(xué)中損失函數(shù)是一種衡量損失和錯(cuò)誤(這種損失與“錯(cuò)誤地”估計(jì)有關(guān),如費(fèi)用或者設(shè)備的損失)程度的函數(shù)。`
在機(jī)器學(xué)習(xí)中,我的理解是衡量機(jī)器學(xué)習(xí)過(guò)程中判斷和理想值偏差的函數(shù),當(dāng)它的值足夠小時(shí),我們就大功告成了.
以這種方式的損失函數(shù)為例:
Loss=∑|w*xi+b-yi|
繼續(xù)按照上面的客戶評(píng)分舉例.
w是權(quán)重矩陣,xi為第i個(gè)客戶的數(shù)據(jù)向量,假設(shè)有n個(gè)客戶的數(shù)據(jù)用于測(cè)試,y為實(shí)際的觀測(cè)值.取絕對(duì)值的含義在于不論比實(shí)際觀測(cè)值小或者大,都是一樣的差距.Loss的值為每個(gè)數(shù)據(jù)映射后的值與實(shí)際觀測(cè)值的差的和.理論上來(lái)說(shuō),當(dāng)Loss值為0時(shí),w就是理想權(quán)重,但是這種狀況太理想化了,在實(shí)際的生活中幾乎見(jiàn)不到.但有一點(diǎn)可以肯定,Loss越小就說(shuō)明,映射關(guān)系越準(zhǔn)確.我們?cè)谟?xùn)練過(guò)程中,根據(jù)實(shí)際要求,設(shè)置不同的精度,達(dá)到精度范圍內(nèi)那便可以算作合格了.
神經(jīng)網(wǎng)絡(luò)
一旦多個(gè)神經(jīng)元首位鏈接形成了一個(gè)類似網(wǎng)絡(luò)結(jié)構(gòu)來(lái)協(xié)同工作的時(shí)候,那便可以被稱作神經(jīng)網(wǎng)絡(luò)了.神經(jīng)網(wǎng)絡(luò)沒(méi)有規(guī)定有多少層,也沒(méi)有規(guī)定每一層有多少個(gè)神經(jīng)元,全是在各個(gè)場(chǎng)景下,通過(guò)測(cè)試,最后得到的一個(gè)適用于當(dāng)前場(chǎng)景的網(wǎng)絡(luò)設(shè)計(jì).

一個(gè)神經(jīng)網(wǎng)絡(luò)通常分為這樣幾層:
輸入層(input layer),隱藏層(hidden layer).輸出層(output layer).
輸出層在整個(gè)網(wǎng)絡(luò)的最前端部分,直接接受輸入的向量,它不對(duì)數(shù)據(jù)做任何處理,因此這層不計(jì)入層數(shù).
隱藏層可以有一層,或者多層.輸出層是最后一層,它用于輸出整個(gè)網(wǎng)絡(luò)處理的值,這個(gè)值可能是一個(gè)分類向量值,也可能時(shí)一個(gè)類似線性回歸那樣產(chǎn)生的連續(xù)的值,也可能時(shí)別的復(fù)雜類型的值,根據(jù)需求不盡相同.
神經(jīng)元像圖中所示首尾相接,前一個(gè)神經(jīng)元接收數(shù)據(jù),數(shù)據(jù)經(jīng)過(guò)處理后傳遞給下一個(gè)神經(jīng)元,像這樣逐層傳遞.
深度學(xué)習(xí)
所謂深度學(xué)習(xí)(Deep Learning),指的便是基于深度神經(jīng)網(wǎng)絡(luò)的學(xué)習(xí),這個(gè)Deep指的時(shí)神經(jīng)網(wǎng)絡(luò)的深度,即層數(shù)多.