樂佳
記得劉慈欣《三體》中,三體星人對于人類科技發(fā)展的評估是“跳躍式的”。在現(xiàn)實(shí)世界中,我們的感受似乎也的確如此,每過幾十年人類的科技似乎總能向前邁進(jìn)一大步。筆者小時候看過一部美劇《霹靂游俠》,劇中的主人公有一輛高度智能的跑車:能與人對話、能自動駕駛、能為主人公提供很多好的建議。這些科技在當(dāng)時的我們看來似乎都可以看成是編劇天馬行空的想象力。而僅僅過去了三十幾年,上面的各項(xiàng)技術(shù)都基本成為了現(xiàn)實(shí)。一個人工智能系統(tǒng)的確是多種前沿技術(shù)綜合的產(chǎn)物,以自動駕駛為例:需要計(jì)算機(jī)技術(shù),傳感器技術(shù)、高清視頻技術(shù)等多種技術(shù)的加持。但如果我們撥開這些技術(shù)細(xì)節(jié),去探討人工智能最本質(zhì)的原理,其實(shí)并沒有想象中的那么復(fù)雜。
我們以當(dāng)前最火的人工智能分支深度學(xué)習(xí)為例來探討這個問題。深度學(xué)習(xí)(或者說人工智能)本質(zhì)上是一種編程范式,也就是編程的方法。傳統(tǒng)的編程技術(shù)是把解決某個問題的方法和規(guī)則記錄到計(jì)算機(jī)中,當(dāng)收到數(shù)據(jù)時,根據(jù)已有的方法和規(guī)則對數(shù)據(jù)進(jìn)行處理從而得到相應(yīng)的答案。而深度學(xué)習(xí)或者說人工智能,則是通過編程讓計(jì)算機(jī)自己去學(xué)習(xí)已有數(shù)據(jù)和其答案之間的對應(yīng)關(guān)系,當(dāng)有新的數(shù)據(jù)來時,根據(jù)之前從已有數(shù)據(jù)中學(xué)到的知識,對其結(jié)果作出合理的推斷。
我們用一個具體的例子來形象地說明這個過程。目前構(gòu)建一個深度學(xué)習(xí)系統(tǒng)的簡化流程如圖所示。假設(shè)現(xiàn)在我們要構(gòu)建一個進(jìn)行圖像識別的智能系統(tǒng),該系統(tǒng)的目標(biāo)是能自動識別出一張圖片中的各種動物。比如:給這個智能系統(tǒng)一張狗的圖片,它立馬告訴你答案是狗。根據(jù)圖中的流程可知,第一步,我們要收集各種動物的圖片(數(shù)據(jù)),并對各種圖片的種類進(jìn)行標(biāo)記(哪些圖片里是狗、哪些圖片里是貓等等);第二步,我們通過預(yù)處理把這些圖片處理成計(jì)算機(jī)能接受的形式;第三步,我們需要設(shè)計(jì)深度學(xué)習(xí)模型的架構(gòu),也就是人工神經(jīng)網(wǎng)絡(luò)的結(jié)構(gòu)(人工神經(jīng)網(wǎng)絡(luò)是深度學(xué)習(xí)的核心技術(shù));第四步,將收集到的動物圖片和每張圖片對應(yīng)的動物類別標(biāo)記送入模型中,訓(xùn)練模型自己學(xué)習(xí)每種圖片和其對應(yīng)的動物類別之間的映射關(guān)系;第五步,當(dāng)模型學(xué)習(xí)到一定程度后,我們會用一些新的圖片測試模型是否能給出正確的答案,如果能則模型構(gòu)建完成,如果不能則重新回到第三步對模型的架構(gòu)進(jìn)行調(diào)整后,重新進(jìn)行學(xué)習(xí)直到滿足我們的要求為止。
上述的過程其實(shí)和我們?nèi)祟惖膶W(xué)習(xí)過程十分類似:假如您現(xiàn)在要給您2歲的孩子(圖像識別智能系統(tǒng))做啟蒙教學(xué),教學(xué)的內(nèi)容是認(rèn)識各種動物,您的教學(xué)過程通常是這樣的:第一步,去網(wǎng)上或者實(shí)體書店買幾本動物的圖冊(收集數(shù)據(jù));第二步,為圖冊上的各種動物標(biāo)上名字(標(biāo)記類別);第三步,您會每次拿一張圖片給您的孩子看,并告訴您的孩子這個圖片是狗或者是貓,這個學(xué)習(xí)的過程通常是反復(fù)的,今天教幾遍明天再教幾遍,孩子則在這種反復(fù)的過程中去學(xué)習(xí)每張圖片中對應(yīng)的動物圖像和它名字之間的對應(yīng)關(guān)系;第四步,當(dāng)您覺得教得差不多時,某一天,您會突然拿出一本新的但類似的圖冊來考您的孩子是否能認(rèn)出圖冊里的動物們,如果他(她)能,那么您會很高興地豎起大拇指,然后進(jìn)行下一階段的學(xué)習(xí);如果不能,您也會微笑著重新教他(她)學(xué)習(xí)圖冊里的內(nèi)容。這個過程是不是和上面的幾乎一模一樣?