為什么Deeper更好,我們神經(jīng)網(wǎng)絡(luò)層數(shù)多,因?yàn)閰?shù)多,當(dāng)然也表現(xiàn)得更好

我們比較胖短型和深瘦型,哪個(gè)有優(yōu)勢呢,我們需要在相同的參數(shù)量下進(jìn)行比較

我們比較2種形狀,當(dāng)高瘦型是5*2K個(gè)神經(jīng)元時(shí),矮胖相同的參數(shù)量要1*3772個(gè)神經(jīng)元,其準(zhǔn)確率比左側(cè)低,下一行類似,我們甚至可以把矮胖型的神經(jīng)元增加到1*16K個(gè),但是準(zhǔn)確率還不如2*2K的左側(cè),所以我們增加參數(shù)時(shí)要把參數(shù)盡可能的增加到深度上而不是廣度上。

我們可以把深度學(xué)習(xí)類比成模組化過程,比如我們建立函數(shù)并不需要重復(fù)寫函數(shù)內(nèi)容,可以通過層級,讓高層函數(shù)調(diào)用底層函數(shù)結(jié)果

假設(shè)我們要分類實(shí)現(xiàn)判斷是不是長發(fā),是否是男女,的4種情況分類,我們的長發(fā)男樣本數(shù)量比較小,所以矮胖的第二個(gè)判斷長發(fā)男的分類器就比較弱

我們就可以先訓(xùn)練比較強(qiáng)的分類器,長發(fā)和短發(fā)數(shù)據(jù)都比較多,容易分類,男性和女性的數(shù)據(jù)也比較多,也可以實(shí)現(xiàn)分類

于是我們就可以根據(jù)基本分類器的輸出組合實(shí)現(xiàn)細(xì)分類器,就可以使用較少的數(shù)據(jù)實(shí)現(xiàn)分類

所以我們就能把神經(jīng)網(wǎng)絡(luò)的每一層想象成一個(gè)分類器,下一層依據(jù)上一層分類的模組進(jìn)行進(jìn)一步細(xì)分,具體怎么實(shí)現(xiàn)模組化,是程序不斷迭代學(xué)習(xí)到的。課上老師解釋道,往往很多人認(rèn)為AI就是DeepData,就要大數(shù)據(jù),事實(shí)上用DeepLearning卻是在減少使用訓(xùn)練數(shù)據(jù)的,如果我們有全世界所有樣本的數(shù)據(jù),那么我們還做什么深度學(xué)習(xí)呢,正是因?yàn)槲覀兪掷锏臄?shù)據(jù)量不夠,所以才進(jìn)行DeepLearning

我們都知道深度學(xué)習(xí)可以做語言識別,具體是怎么做呢,我們先將聲音分成不同的phoneme(音標(biāo)),比如u的音在不同位置發(fā)音效果就不一樣,我們就用到了tri-phone,將其前后的音聯(lián)合起來

我們將一段對話按時(shí)間單元拆分成若干組,每組根據(jù)不同時(shí)間點(diǎn)的頻率形成一組向量,根據(jù)向量我們可以決定他的狀態(tài),根據(jù)狀態(tài)再決定其發(fā)音,根據(jù)發(fā)音決定是否有同音異意等等。

我們傳統(tǒng)的語音識別時(shí)根據(jù)GMM,分辨每段屬于哪個(gè)Phoneme,如果一共30個(gè)Phoneme,3個(gè)分叉就需要30**3=27000個(gè),參數(shù)就太多了

我們的不同的phoneme可能經(jīng)過相同的屬性處理,但是在經(jīng)典非深度學(xué)習(xí)的過程中是假設(shè)他們是獨(dú)立的

但實(shí)際上,這些發(fā)音往往是有聯(lián)系的,以舌頭的不同位置和不同口型,我們把各種母音列出如下關(guān)系,有舌頭距離嘴的遠(yuǎn)近和口型的大小

我們用深度學(xué)習(xí)DNN就可以將每一個(gè)Phoneme屬于不同state打的幾率算出來,而且所有的state只用同一個(gè)DNN就能訓(xùn)練出來,不用不同state訓(xùn)練不同的網(wǎng)絡(luò)

我們將語音識別的隱層輸出投影到2維上,就可以大致發(fā)現(xiàn)原因分布的位置大致和舌頭相關(guān)分布位置一致

有人說過如果神經(jīng)元足夠多,我們使用一層隱層就可以實(shí)現(xiàn)任何分類功能,的確似乎是這樣,但是這種方法是相當(dāng)沒有效率的

有EE背景的同學(xué),可以把邏輯電路和神經(jīng)網(wǎng)絡(luò)聯(lián)系起來,我們都知道用2層邏輯層理論上可以實(shí)現(xiàn)任何邏輯功能,但是用更多層邏輯門往往能使函數(shù)簡化,神經(jīng)網(wǎng)絡(luò)也是一樣,相同功能需要更少的神經(jīng)元,也可以使用更少的數(shù)據(jù)來完成功能

我們以下圖為例,為了識別圖中紅色和藍(lán)色區(qū)域,我們使用1個(gè)隱層和3個(gè)隱層,為了參數(shù)量一致,我們控制了神經(jīng)元個(gè)數(shù),當(dāng)我們使用100000個(gè)樣本時(shí),1層隱層的也有一定的效果,但我們使用20000個(gè)數(shù)據(jù)時(shí),1層的崩壞的就比較嚴(yán)重了,而3層的還比右側(cè)有些崩壞,類似于逐級的,總體效果比1層好

我們可以用DNN做End-to-end Learning,就是比較復(fù)雜的學(xué)習(xí)過程,例如語言識別,我們建立模型就相當(dāng)于建立一條生產(chǎn)線,每層做固定的事情,當(dāng)我們確定好模型,函數(shù)就應(yīng)該自己學(xué)好

我們經(jīng)典的語音識別是將聲音-DFT-spectrogram-Filter bank-log-DCT-MFCC-GMM-輸出,而經(jīng)過深度學(xué)習(xí),我們完全可以模擬GMM的功能(GMM是信號處理函數(shù)計(jì)算的近乎頂點(diǎn)),甚至從DCT開始都加入到深度學(xué)習(xí)去實(shí)現(xiàn),到現(xiàn)在已經(jīng)有從Filter bank來實(shí)現(xiàn),我們發(fā)現(xiàn)定制足夠的深度,計(jì)算機(jī)自己就能實(shí)現(xiàn)每個(gè)單元的功能。
圖像識別過去也有比較經(jīng)典的算法,得出分類識別結(jié)果,但是現(xiàn)在我們已經(jīng)可以通過深度學(xué)習(xí)實(shí)現(xiàn)

對于復(fù)雜的任務(wù),比如比較像的狗和熊,我們要正確分類,而2個(gè)看上去不一樣的都是火車,如果神經(jīng)網(wǎng)絡(luò)層數(shù)不夠,可能不會識別出來

還是語音識別的例子,我們錄了不同人的不同聲音,相同顏色是同一個(gè)人說的話,左下即這個(gè)輸入,我們投影到2維,看上去好像很沒有規(guī)律,在第一層隱層,我們看上去也沒有得到比較明顯的分別

我們再觀察第8層隱層的時(shí)候就會發(fā)現(xiàn),不同人說的相同的話就會比較重疊的放置在一起了,經(jīng)過了8層打的轉(zhuǎn)換,不同人的相同的話就會被識別出來

我們類比手寫數(shù)字,輸入4,9是比較重疊的,經(jīng)過幾層的隱層,分開的就越明顯

我們可以讀下這個(gè)哥們的文章,深度學(xué)習(xí)到底需要用深層嗎,文章舉例了他用一層隱層模擬三層的功能,當(dāng)標(biāo)簽設(shè)置不直接設(shè)置目標(biāo)標(biāo)簽時(shí),可以使訓(xùn)練結(jié)果好,但是如果用目標(biāo)標(biāo)簽訓(xùn)練就是不行,不過他最后的結(jié)果還是需要深層神經(jīng)網(wǎng)絡(luò)= =
