現(xiàn)在AI代表的是強(qiáng)智能的AI,是可以從海量經(jīng)驗(yàn)數(shù)據(jù)中進(jìn)行深度學(xué)習(xí),可以依據(jù)不同情境做不同反應(yīng)的智能實(shí)體。
AI可能在大多數(shù)人認(rèn)知中是一個(gè)新興領(lǐng)域,但它的歷史可以追溯到上個(gè)世紀(jì)提出的機(jī)器智能,雖然AI技術(shù)已經(jīng)出現(xiàn)了很長(zhǎng)時(shí)間,但隨著時(shí)間的發(fā)展和新興軟硬件的開(kāi)發(fā),它近些年開(kāi)始出現(xiàn)在公眾視野內(nèi),并以強(qiáng)勁的趨勢(shì)在不斷發(fā)展。
AI技術(shù)對(duì)公眾而言也算不上陌生,你可能聽(tīng)過(guò)其他技術(shù)的名字,比如機(jī)器學(xué)習(xí)、神經(jīng)網(wǎng)絡(luò)、語(yǔ)言處理、圖像識(shí)別等等,其實(shí)這些都是AI技術(shù)的一個(gè)子集,AI技術(shù)包含的范圍非常廣泛,下面是筆者關(guān)于AI技術(shù)的一些總結(jié)。
機(jī)器學(xué)習(xí)
機(jī)器學(xué)習(xí)有點(diǎn)類(lèi)似于人類(lèi)的上學(xué),當(dāng)AI程序獲得海量經(jīng)驗(yàn)數(shù)據(jù)后,想讓它轉(zhuǎn)化為可用信息,還需要在已有的知識(shí)結(jié)構(gòu)中重組分類(lèi),不斷進(jìn)行重復(fù)實(shí)驗(yàn),就像孩子需要在學(xué)校通過(guò)學(xué)習(xí)和模仿大人的行為,從而在實(shí)際環(huán)境中來(lái)做出判斷和行動(dòng)。
AI程序能否正確反應(yīng)取決于信息集,如果程序收集的是分離的、有限制的、帶偏見(jiàn)的信息集,就很難得到正確反應(yīng)。收集信息集的難度在于該AI程序用戶的使用范圍,如果是為小眾用戶創(chuàng)建的AI程序,則使用的是較小的信息集,但大多數(shù)AI程序都需要收集廣泛的信息,進(jìn)行大量的重復(fù)實(shí)驗(yàn),來(lái)獲取針對(duì)不同指令的正確反應(yīng),以滿足大多數(shù)用戶的需求。
深度學(xué)習(xí)和神經(jīng)網(wǎng)絡(luò)
兩者都是機(jī)器學(xué)習(xí)的一個(gè)子集,深度學(xué)習(xí)側(cè)重于嘗試模仿人類(lèi)大腦的工作方式。雖然我們自身并沒(méi)有完全了解人類(lèi)大腦是如何運(yùn)作的,但現(xiàn)在AI程序的深度學(xué)習(xí)能力可以模擬人類(lèi)大腦,自發(fā)的對(duì)海量數(shù)據(jù)進(jìn)行深度學(xué)習(xí),構(gòu)建不同場(chǎng)景下的反應(yīng)機(jī)制。
神經(jīng)網(wǎng)絡(luò)是深度學(xué)習(xí)的具體實(shí)現(xiàn),AI程序內(nèi)多個(gè)節(jié)點(diǎn)通過(guò)完成不同的任務(wù),將完成任務(wù)的經(jīng)驗(yàn)與網(wǎng)絡(luò)中的其他節(jié)點(diǎn)共享,如果一個(gè)節(jié)點(diǎn)的任務(wù)成功完成,就相當(dāng)于其他節(jié)點(diǎn)都擁有這個(gè)任務(wù)完成的經(jīng)驗(yàn),而節(jié)點(diǎn)之間經(jīng)驗(yàn)越多,則信息集越豐富, AI程序就可以在信息集中挖掘更多可用信息,將其轉(zhuǎn)化為不同的反應(yīng)機(jī)制。
認(rèn)知計(jì)算和自然語(yǔ)言處理(NLP)
認(rèn)知計(jì)算是一種全新的計(jì)算模式,包含信息分析,自然語(yǔ)言處理(NLP)等技術(shù),是實(shí)現(xiàn)AI的關(guān)鍵技術(shù)體系,認(rèn)知代表著能思考并且感知事務(wù),可以對(duì)數(shù)據(jù)進(jìn)行推理、學(xué)習(xí)和改進(jìn)。
自然語(yǔ)言處理是一門(mén)融語(yǔ)言學(xué)、計(jì)算機(jī)科學(xué)、數(shù)學(xué)于一體的科學(xué),NLP區(qū)別書(shū)面語(yǔ)言與口頭語(yǔ)言,了解語(yǔ)言包含的文字內(nèi)容,語(yǔ)境,判斷單個(gè)詞語(yǔ)歧義、分辨說(shuō)話者意圖。在AI程序處理具體問(wèn)題時(shí),NLP幫助AI程序正確分析說(shuō)話者指令,輸出恰當(dāng)?shù)幕貜?fù)語(yǔ)句,而認(rèn)知系統(tǒng)則負(fù)責(zé)探索更加自然的方式與互動(dòng)者進(jìn)行交互,幫助AI程序完善人性化功能。
計(jì)算機(jī)視覺(jué)
計(jì)算機(jī)視覺(jué)是用攝像機(jī)和電腦代替人的眼睛,幫助AI程序正確識(shí)別目標(biāo),包括圖像獲取、預(yù)處理(平滑去噪、提高對(duì)比度、調(diào)整尺度)、特征提取、檢測(cè)分割等等具體應(yīng)用,利用計(jì)算機(jī)對(duì)圖像進(jìn)行處理、分析和理解,以識(shí)別不同模式的目標(biāo)和對(duì)象, iPhone X的人臉識(shí)別就是這項(xiàng)技術(shù)的應(yīng)用實(shí)現(xiàn)。
在計(jì)算機(jī)環(huán)境中,“視覺(jué)”還包括我們?nèi)搜燮匠?床坏交蛘邿o(wú)法識(shí)別的圖像和其他類(lèi)型的視覺(jué)輸入,但機(jī)器可以識(shí)別出來(lái),比如電磁波、X射線和紅外線等。
工具推薦
在函數(shù)庫(kù)推薦方面,每個(gè)技術(shù)部分都有一些特定的不同,AI領(lǐng)域的許多庫(kù)都是針對(duì)Python開(kāi)發(fā)人員的,但下面提到的庫(kù)是可以支持其他語(yǔ)言。
· Keras:高級(jí)神經(jīng)網(wǎng)絡(luò)Python庫(kù),可以嵌入其他深度學(xué)習(xí)庫(kù)中,旨在簡(jiǎn)化實(shí)驗(yàn)?zāi)P汀?/p>
· MXNet:Amazon深度學(xué)習(xí)庫(kù),支持多種編程語(yǔ)言和部署方法。
· Deeplearning4j:基于JVM的深度學(xué)習(xí)庫(kù),可內(nèi)置可視筆記本用于實(shí)驗(yàn)運(yùn)行。
· Spark MLib:適合于使用Spark進(jìn)行數(shù)據(jù)流傳輸?shù)挠脩簟?/p>
· OpenCV:廣泛使用并支持計(jì)算機(jī)視覺(jué)的庫(kù)。
· SimpleCV:與OpenCV很相似。
· NLTK:用于處理和理解自然語(yǔ)言的Python庫(kù)。
· OpenNLP:適用于JVM用戶。
最后需要單獨(dú)指出的是,隨著AI程序的持續(xù)發(fā)展,它將會(huì)在社會(huì)生活中承擔(dān)更加多樣化的角色,我們會(huì)越來(lái)越依賴AI來(lái)承擔(dān)更多的工作或任務(wù),我們雖然不相信科幻電影中的機(jī)器人殺手, 現(xiàn)階段的AI也沒(méi)有實(shí)現(xiàn)強(qiáng)智能時(shí)代,但我們依舊需要警惕由AI帶來(lái)的可控性挑戰(zhàn)。