- 人工智能工程化:應(yīng)用落地與中臺構(gòu)建
- 蔣彪
- 2720字
- 2020-11-21 19:20:49
1.3 深度學(xué)習(xí)的不同種類
深度學(xué)習(xí)一般可以分為三類:監(jiān)督學(xué)習(xí)、無監(jiān)督學(xué)習(xí)和強(qiáng)化學(xué)習(xí)。在本節(jié)中,我們將逐個(gè)講解。
1.3.1 監(jiān)督學(xué)習(xí)
監(jiān)督學(xué)習(xí),顧名思義就是需要人工參與,將數(shù)據(jù)預(yù)先打好標(biāo)簽后再進(jìn)行訓(xùn)練的學(xué)習(xí)方式。我們以汽車圖片的識別為例來介紹這個(gè)過程。
1.數(shù)據(jù)集的創(chuàng)建和分類
假設(shè)有許多汽車和飛機(jī)的圖片集(數(shù)據(jù)集),我們需要先人工標(biāo)識出所有圖片對應(yīng)的種類,然后進(jìn)行訓(xùn)練。為了驗(yàn)證算法的正確性和避免過擬合,我們將這些圖片分為兩部分,一部分(訓(xùn)練數(shù)據(jù))用來訓(xùn)練算法,另一部分(驗(yàn)證數(shù)據(jù))用來驗(yàn)證算法的識別準(zhǔn)確度。
從數(shù)學(xué)的角度看,我們要在深度網(wǎng)絡(luò)中找到一個(gè)合適的分類函數(shù),函數(shù)的入?yún)⑹菆D片,即一個(gè)矩陣,當(dāng)圖片是汽車時(shí)輸出1,否則輸出0。這個(gè)步驟我們叫作分類任務(wù),這里為了簡化問題,我們輸出的結(jié)果為是或否。一般來說,輸出結(jié)果也可能是一組值,例如,圖片是汽車的概率(一個(gè)0~1的值),這個(gè)過程我們稱為回歸。
2.訓(xùn)練
一個(gè)簡化的訓(xùn)練過程是給定一個(gè)輸出(一般包含多個(gè)參數(shù)),然后通過一個(gè)函數(shù)計(jì)算出一組數(shù)值,再通過一個(gè)規(guī)則得出一個(gè)輸出節(jié)點(diǎn)。整個(gè)過程從左到右逐層計(jì)算,當(dāng)遇到復(fù)雜問題時(shí)我們通常會通過添加層數(shù)來解決。
雖然得出了結(jié)果,但這個(gè)結(jié)果并不一定是正確的。因此需要將正確的結(jié)果反饋給網(wǎng)絡(luò)來進(jìn)行修正,此時(shí)可以使用一個(gè)稱為成本函數(shù)(也稱為目標(biāo)函數(shù)、效用函數(shù)或適應(yīng)度函數(shù))的函數(shù)來量化這個(gè)偏差,然后將這個(gè)偏差從右到左反向傳播給網(wǎng)絡(luò)來對參數(shù)進(jìn)行修正,這個(gè)過程稱為反向傳播。
針對每個(gè)訓(xùn)練項(xiàng)目重復(fù)訓(xùn)練動作,盡量最小化成本函數(shù),即可達(dá)到我們理想的效果。數(shù)學(xué)中有很多模型可以達(dá)到這個(gè)效果,但一般最常用的是一個(gè)稱為梯度下降的方法,下文會涉及具體的細(xì)節(jié)。
3.驗(yàn)證
當(dāng)訓(xùn)練完成后,我們需要檢驗(yàn)剛才的結(jié)果,此時(shí)會用到另一部分?jǐn)?shù)據(jù)集,即驗(yàn)證數(shù)據(jù)。根據(jù)驗(yàn)證出來的結(jié)果,我們可能需要調(diào)整剛才訓(xùn)練用的模型,如增加更多的參數(shù)、層數(shù),使成本函數(shù)的結(jié)果更有效地反向傳播等。然后重復(fù)訓(xùn)練和驗(yàn)證過程,這個(gè)過程可能會重復(fù)很多次。
4.使用
當(dāng)模型達(dá)到預(yù)期標(biāo)準(zhǔn)后,我們就可以將其部署到應(yīng)用中了。
從上述內(nèi)容可以看出,監(jiān)督學(xué)習(xí)對數(shù)據(jù)集的要求比較高,并且一般需要大量的數(shù)據(jù)集才能訓(xùn)練出一個(gè)準(zhǔn)確的模型。雖然訓(xùn)練模型的代價(jià)可能比較大,但是訓(xùn)練模型的結(jié)果是十分有價(jià)值的。例如,在醫(yī)學(xué)中識別一個(gè)腫瘤是良性的還是惡性的就是一個(gè)很有價(jià)值的預(yù)測,我們?yōu)榇烁冻龅拇鷥r(jià)是值得的。
1.3.2 無監(jiān)督學(xué)習(xí)
無監(jiān)督學(xué)習(xí)不需要人為地為數(shù)據(jù)加上標(biāo)簽,但可以產(chǎn)生預(yù)期結(jié)果。無監(jiān)督學(xué)習(xí)能自動分析數(shù)據(jù)嘗試找出其中的模式,因此相較于監(jiān)督學(xué)習(xí),無監(jiān)督學(xué)習(xí)具有更好的適應(yīng)性和更廣的應(yīng)用場景,但也具有更高的難度。
如果你是一家購物網(wǎng)站的負(fù)責(zé)人,如何快速準(zhǔn)確地發(fā)掘最近客戶非常感興趣的商品將是你非常關(guān)心的事情。如果有一個(gè)算法能自動分析訂單情況,找出客戶感興趣的商品分類,我想這一定會使你非常開心。
我們經(jīng)常在工業(yè)化場景中使用的無監(jiān)督學(xué)習(xí)算法有以下幾種。
○ 自編碼(Autoencoding)。
○ 主成分分析(Principal Components Analysis)。
○ 隨機(jī)森林(Random Forests)。
○ K均值聚類(K-means Clustering)。
最近,無監(jiān)督學(xué)習(xí)非常有潛力的發(fā)展方向是Ian Goodfellow提出的生成對抗網(wǎng)絡(luò)。其原理是,創(chuàng)建兩個(gè)神經(jīng)網(wǎng)絡(luò)并賦予它們不同的職責(zé),一個(gè)用來生產(chǎn)欺騙對方的數(shù)據(jù)集,另外一個(gè)用來識別數(shù)據(jù)的真假。這種想法產(chǎn)生了一些驚人的成果,如可以通過字符串生成逼真圖片的 AI程序。
不過無監(jiān)督學(xué)習(xí)也不是萬能的,比如我們在進(jìn)行分類時(shí),被分類的對象之間必須是有內(nèi)在聯(lián)系的,不能是毫無關(guān)聯(lián)的。另外需要有一定的模式可以用來區(qū)分這些對象。如果不滿足這些條件,無監(jiān)督學(xué)習(xí)也是無能為力的。
通過上面的描述我們可以了解到監(jiān)督學(xué)習(xí)和無監(jiān)督學(xué)習(xí)各有自己的優(yōu)勢和劣勢。那么是否可以將這兩種結(jié)合起來呢?基于此,半監(jiān)督學(xué)習(xí)應(yīng)運(yùn)而生,半監(jiān)督學(xué)習(xí)可以在相對于監(jiān)督學(xué)習(xí)擁有更少量的標(biāo)簽數(shù)據(jù)集的情況下得到符合預(yù)期的訓(xùn)練結(jié)果,這樣成本更低。這里有個(gè)例子可以說明這種情況,之前我們擁有一個(gè)自動分類的算法,在監(jiān)督學(xué)習(xí)下每個(gè)類別大致需要1360個(gè)標(biāo)簽,而改成半監(jiān)督學(xué)習(xí)之后每個(gè)類別需要的標(biāo)簽減少到30個(gè)。不僅所需標(biāo)簽的數(shù)量減少,能識別的類別也從之前的20個(gè)到擴(kuò)展到110個(gè)。
因此在數(shù)據(jù)標(biāo)簽較少的情況下,即使不知道結(jié)果,也能預(yù)測可能出現(xiàn)的值和概率。
1.3.3 強(qiáng)化學(xué)習(xí)
強(qiáng)化學(xué)習(xí)類似于無監(jiān)督學(xué)習(xí),預(yù)測結(jié)果時(shí)也無須人為地為數(shù)據(jù)打上標(biāo)簽。不同之處是,強(qiáng)化學(xué)習(xí)在特定數(shù)據(jù)集的情況下,通過選擇一系列的活動,學(xué)習(xí)獲取最大化收益。所以這里比較重要的就是如何最大化預(yù)期目標(biāo)(回報(bào)函數(shù))。
而為了更深入地理解這個(gè)問題,同時(shí)解決這個(gè)問題,我們需要知道什么是學(xué)習(xí)。學(xué)習(xí)的本質(zhì),用一個(gè)成語可概括為舉一反三。
以高考為例,高考的題目在上考場前我們未必做過,但在高中三年我們做過很多題目,懂解題方法,因此在考場上面對陌生問題也可以算出答案。機(jī)器學(xué)習(xí)的思路與此類似:利用一些訓(xùn)練數(shù)據(jù)(已經(jīng)做過的題),使機(jī)器能夠通過學(xué)習(xí)掌握數(shù)據(jù)規(guī)律(解題方法),從而分析未知數(shù)據(jù)(高考的題目)。
最簡單也最普遍的一類機(jī)器學(xué)習(xí)算法就是分類。對于分類,輸入的訓(xùn)練數(shù)據(jù)有特征、有標(biāo)簽。所謂的學(xué)習(xí),其本質(zhì)就是找到特征和標(biāo)簽之間的關(guān)系。因此當(dāng)有特征無標(biāo)簽的未知數(shù)據(jù)輸入時(shí),我們就可以通過已有的關(guān)系得到未知數(shù)據(jù)的標(biāo)簽。
在上述分類過程中,如果所有訓(xùn)練數(shù)據(jù)都有標(biāo)簽,則為監(jiān)督學(xué)習(xí)。如果所有訓(xùn)練數(shù)據(jù)沒有標(biāo)簽,則為無監(jiān)督學(xué)習(xí),即聚類。但需要注意的一點(diǎn)是,監(jiān)督學(xué)習(xí)算法并非全是分類,還有回歸。
目前分類的效果普遍還是不錯(cuò)的,但是相對來講,聚類就有些慘不忍睹了。本質(zhì)原因就是,無監(jiān)督學(xué)習(xí)本身的特點(diǎn)使其難以得到如分類一樣近乎完美的結(jié)果。這也正如我們做題一樣,答案(標(biāo)簽)是非常重要的,假設(shè)兩個(gè)完全相同的人同時(shí)進(jìn)入高中,一個(gè)正常學(xué)習(xí),另一個(gè)做的所有題目都沒有答案,那么高考時(shí)第一個(gè)人會比第二個(gè)人發(fā)揮得好。
這時(shí)各位可能要問,既然分類如此好,聚類如此不靠譜,那為何我們還要容忍聚類的存在?因?yàn)樵趯?shí)際應(yīng)用中,標(biāo)簽的獲取常常需要極大的人工工作量,有時(shí)甚至非常困難。困難到什么程度呢?例如,在自然語言處理(NLP)中,Penn Chinese Treebank組織在兩年里只完成了4000句話的標(biāo)簽標(biāo)記。
這時(shí)有人可能會想,難道監(jiān)督學(xué)習(xí)和無監(jiān)督學(xué)習(xí)就是非黑即白的關(guān)系嗎?有沒有灰呢?灰是存在的。所謂的灰,也就是黑和白的中間地帶,即半監(jiān)督學(xué)習(xí)。對于半監(jiān)督學(xué)習(xí),其一部分訓(xùn)練數(shù)據(jù)是有標(biāo)簽的,另一部分訓(xùn)練數(shù)據(jù)是沒有標(biāo)簽的,而沒有標(biāo)簽的訓(xùn)練數(shù)據(jù)的數(shù)量常常大于有標(biāo)簽的訓(xùn)練數(shù)據(jù)的數(shù)量(這也是符合現(xiàn)實(shí)情況的)。隱藏在半監(jiān)督學(xué)習(xí)下的基本規(guī)律是:數(shù)據(jù)的分布不是完全隨機(jī)的,通過一些有標(biāo)簽的訓(xùn)練數(shù)據(jù)的局部特征,以及更多沒有標(biāo)簽的訓(xùn)練數(shù)據(jù)的整體分布,就能得到可以接受甚至非常好的分類結(jié)果。
綜上所述,深度學(xué)習(xí)的大致分類如表1-1所示。
表1-1 深度學(xué)習(xí)的大致分類

- 現(xiàn)代測控系統(tǒng)典型應(yīng)用實(shí)例
- 會聲會影X5視頻剪輯高手速成
- 網(wǎng)頁編程技術(shù)
- HBase Design Patterns
- 空間傳感器網(wǎng)絡(luò)復(fù)雜區(qū)域智能監(jiān)測技術(shù)
- 城市道路交通主動控制技術(shù)
- 機(jī)器人編程實(shí)戰(zhàn)
- MATLAB/Simulink權(quán)威指南:開發(fā)環(huán)境、程序設(shè)計(jì)、系統(tǒng)仿真與案例實(shí)戰(zhàn)
- Visual Studio 2010 (C#) Windows數(shù)據(jù)庫項(xiàng)目開發(fā)
- Mastering Text Mining with R
- MATLAB-Simulink系統(tǒng)仿真超級學(xué)習(xí)手冊
- 基于RPA技術(shù)財(cái)務(wù)機(jī)器人的應(yīng)用與研究
- WOW!Photoshop CS6完全自學(xué)寶典
- Xilinx FPGA高級設(shè)計(jì)及應(yīng)用
- 中國戰(zhàn)略性新興產(chǎn)業(yè)研究與發(fā)展·數(shù)控系統(tǒng)