這個(gè)結(jié)果還算不錯(cuò),但并不是那種能讓人為之一振的成功。特別是遇到云霧天,標(biāo)志牌變得不是那么清晰可見,又或者被樹遮擋一部分,算法就難以成功了。這就是為什么前一段時(shí)間,計(jì)算機(jī)視覺的性能一直無法接近到人的能力。它太僵化,太容易受環(huán)境條件的干擾。
隨著時(shí)間的推進(jìn),學(xué)習(xí)算法的發(fā)展改變了一切。
| 深度學(xué)習(xí)一種實(shí)現(xiàn)機(jī)器學(xué)習(xí)的技術(shù)
人工神經(jīng)網(wǎng)絡(luò)(Artificial Neural Networks)是早期機(jī)器學(xué)習(xí)中的一個(gè)重要的算法,歷經(jīng)數(shù)十年風(fēng)風(fēng)雨雨。神經(jīng)網(wǎng)絡(luò)的原理是受我們大腦的生理結(jié)構(gòu)互相交叉相連的神經(jīng)元啟發(fā)。但與大腦中一個(gè)神經(jīng)元可以連接一定距離內(nèi)的任意神經(jīng)元不同,人工神經(jīng)網(wǎng)絡(luò)具有離散的層、連接和數(shù)據(jù)傳播的方向。
例如,我們可以把一幅圖像切分成圖像塊,輸入到神經(jīng)網(wǎng)絡(luò)的第一層。在第一層的每一個(gè)神經(jīng)元都把數(shù)據(jù)傳遞到第二層。第二層的神經(jīng)元也是完成類似的工作,把數(shù)據(jù)傳遞到第三層,以此類推,直到最后一層,然后生成結(jié)果。
每一個(gè)神經(jīng)元都為它的輸入分配權(quán)重,這個(gè)權(quán)重的正確與否與其執(zhí)行的任務(wù)直接相關(guān)。最終的輸出由這些權(quán)重加總來決定。
我們?nèi)砸酝V梗⊿top)標(biāo)志牌為例。將一個(gè)停止標(biāo)志牌圖像的所有元素都打碎,然后用神經(jīng)元進(jìn)行“檢查”:八邊形的外形、救火車般的紅顏色、鮮明突出的字母、交通標(biāo)志的典型尺寸和靜止不動(dòng)運(yùn)動(dòng)特性等等。神經(jīng)網(wǎng)絡(luò)的任務(wù)就是給出結(jié)論,它到底是不是一個(gè)停止標(biāo)志牌。神經(jīng)網(wǎng)絡(luò)會(huì)根據(jù)所有權(quán)重,給出一個(gè)經(jīng)過深思熟慮的猜測(cè)“概率向量”。
這個(gè)例子里,系統(tǒng)可能會(huì)給出這樣的結(jié)果:86%可能是一個(gè)停止標(biāo)志牌;7%的可能是一個(gè)限速標(biāo)志牌;5%的可能是一個(gè)風(fēng)箏掛在樹上等等。然后網(wǎng)絡(luò)結(jié)構(gòu)告知神經(jīng)網(wǎng)絡(luò),它的結(jié)論是否正確。
即使是這個(gè)例子,也算是比較超前了。直到前不久,神經(jīng)網(wǎng)絡(luò)也還是為人工智能圈所淡忘。其實(shí)在人工智能出現(xiàn)的早期,神經(jīng)網(wǎng)絡(luò)就已經(jīng)存在了,但神經(jīng)網(wǎng)絡(luò)對(duì)于“智能”的貢獻(xiàn)微乎其微。主要問題是,即使是最基本的神經(jīng)網(wǎng)絡(luò),也需要大量的運(yùn)算。神經(jīng)網(wǎng)絡(luò)算法的運(yùn)算需求難以得到滿足。
不過,還是有一些虔誠(chéng)的研究團(tuán)隊(duì),以多倫多大學(xué)的Geoffrey Hinton為代表,堅(jiān)持研究,實(shí)現(xiàn)了以超算為目標(biāo)的并行算法的運(yùn)行與概念證明。但也直到GPU得到廣泛應(yīng)用,這些努力才見到成效。
我們回過頭來看這個(gè)停止標(biāo)志識(shí)別的例子。神經(jīng)網(wǎng)絡(luò)是調(diào)制、訓(xùn)練出來的,時(shí)不時(shí)還是很容易出錯(cuò)的。它最需要的,就是訓(xùn)練。需要成百上千甚至幾百萬張圖像來訓(xùn)練,直到神經(jīng)元的輸入的權(quán)值都被調(diào)制得十分精確,無論是否有霧,晴天還是雨天,每次都能得到正確的結(jié)果。
只有這個(gè)時(shí)候,我們才可以說神經(jīng)網(wǎng)絡(luò)成功地自學(xué)習(xí)到一個(gè)停止標(biāo)志的樣子;或者在Facebook的應(yīng)用里,神經(jīng)網(wǎng)絡(luò)自學(xué)習(xí)了你媽媽的臉;又或者是2012年吳恩達(dá)(Andrew Ng)教授在Google實(shí)現(xiàn)了神經(jīng)網(wǎng)絡(luò)學(xué)習(xí)到貓的樣子等等。
吳教授的突破在于,把這些神經(jīng)網(wǎng)絡(luò)從基礎(chǔ)上顯著地增大了。層數(shù)非常多,神經(jīng)元也非常多,然后給系統(tǒng)輸入海量的數(shù)據(jù),來訓(xùn)練網(wǎng)絡(luò)。在吳教授這里,數(shù)據(jù)是一千萬YouTube視頻中的圖像。吳教授為深度學(xué)習(xí)(deep learning)加入了“深度”(deep)。這里的“深度”就是說神經(jīng)網(wǎng)絡(luò)中眾多的層。
現(xiàn)在,經(jīng)過深度學(xué)習(xí)訓(xùn)練的圖像識(shí)別,在一些場(chǎng)景中甚至可以比人做得更好:從識(shí)別貓,到辨別血液中癌癥的早期成分,到識(shí)別核磁共振成像中的腫瘤。Google的AlphaGo先是學(xué)會(huì)了如何下圍棋,然后與它自己下棋訓(xùn)練。它訓(xùn)練自己神經(jīng)網(wǎng)絡(luò)的方法,就是不斷地與自己下棋,反復(fù)地下,永不停歇。
| 深度學(xué)習(xí),給人工智能以璀璨的未來
深度學(xué)習(xí)使得機(jī)器學(xué)習(xí)能夠?qū)崿F(xiàn)眾多的應(yīng)用,并拓展了人工智能的領(lǐng)域范圍。深度學(xué)習(xí)摧枯拉朽般地實(shí)現(xiàn)了各種任務(wù),使得似乎所有的機(jī)器輔助功能都變?yōu)榭赡?。無人駕駛汽車,預(yù)防性醫(yī)療保健,甚至是更好的電影推薦,都近在眼前,或者即將實(shí)現(xiàn)。