從代碼蛻變成人工智能,AlphaGo在圍棋界證明了自己后,已經向游戲《星際爭霸2》正式發起挑戰。對我們的生活而言,競賽只是他嶄露頭角的第一步。
電腦 人腦 VS 2016年3月,科技界的TOP 1熱詞非“AlphaGo”莫屬了。AlphaGo這個圍棋人工智能程序以4:1的總比分戰勝世界圍棋冠軍、職業九段選手李世石。雖然只是一次測試賽,但可以說在一定程度上,代表著人工智能最新成果的“機器”打敗了“人腦”。
大多數人腦海里不禁陸續涌現出美國好萊塢電影里各種機器人大戰的橋段,像《機械公敵》里的NS-5型機器人,有著酷似人類的外形,可以取代人類的各種工作,從保姆、廚師、快遞、遛狗到管理家庭收支,簡直無所不能;又如帥酷的施瓦辛格主演的《終結者》系列電影,機器人統治了地球,而“落后”的人類奮起反抗;又如《黑客帝國》里的男主穿梭于虛擬與現實世界不斷與機器人PK……
這些故事在AlphaGo戰勝李世石事件后似乎即將發生,于是大量文科畢業的編輯們開始撰文“機器要統治人類”“人工智能就是人類的終點”云云,以吸引網友們無辜的眼球,獲取大量點擊率。
現在,讓我們通過“AlphaGo”來看看:
?什么是人工智能?? 人工智能如何影響我們的生活?? Maker們又可以做些什么?
1 什么是人工智能
AlphaGo是一款圍棋人工智能程序,由位于英國倫敦的谷歌(Google)旗下DeepMind公司的戴維·西爾弗、艾佳·黃和戴密斯·哈薩比斯與他們的團隊開發,據說AlphaGo的主要算法是利用“價值網絡”計算局面,用“策略網絡”選擇下子,可以說AlphaGo是用上面兩個算法去“思考”的。
人工智能,說簡單點,就是機器能夠自主學習、自主判斷,就像AlphaGo一樣“思考”。那么,人工智能如何學習便是其中關鍵。
在說人工智能如何學習之前,我們解釋一個名詞“人工神經網絡”。人類的大腦是好多好多的神經元組成的,就好比公路上的十字路口(神經元實際有多個路口),路口多了,選擇的路線也就多了,走不同的路線,兩旁的內容與風景也是不同的,這也就影響了人們的思考,形成了不同人對于同一個事物的不同看法。“人工神經網絡”就是模擬生物神經網絡,建立某種簡單模型,根據不同的連接方式組成不同的網絡。其由大量的神經元之間相互聯接構成,每個神經元代表一種特定的輸出函數;每兩個神經元間的連接都代表一個對于通過該連接信號的加權值,這就相當于人工神經網絡的記憶。雖然,人工神經網絡提出已經六七十年,但最近幾年才興起,其典型應用的模式識別技術、自動控制,在相關領域解決了大量實際問題,表現出良好的智能特性。
人工神經網絡是一個過于龐大的概念,對于AlphaGo來說,它使用了“深度學習”算法具體實現。“深度學習”是指多層的人工神經網絡和訓練它的方法。一層神經網絡會把大量矩陣數字作為輸入,通過非線性激活方法取權重,再產生另一個數據集合作為輸出。這就像生物神經大腦的工作機理一樣,通過合適的矩陣數量,多層組織鏈接一起,形成神經網絡“大腦”,進行精準復雜的處理,就像人們識別物體標注圖片一樣。
說了這么多高深的學術知識,相信不少人會認為人工智能離我們普通人的生活比較遠,其實不然。
2 人工智能如何影響我們的生活?
生活在帝都,筆者每天開車出入小區、學校,行駛在道路上都會遇到攝像頭,它們忠誠地識別我的車牌,而這個識別的過程就是應用了人工神經網絡的算法的人工智能。如果我們的車牌濺上泥點或者污漬導致車牌缺劃,亦或未能保持完整水平,是否會影響識別進程?如果人眼識別,非常容易完成,我們的大腦會根據筆畫的方向與趨勢評估可能的數字,但是在人工智能未發展前,電腦僅能保證與樣本完全一致才會正確識別,這個顯然不符合日常快速、模糊判斷的應用。而現在應用了人工智能的車牌識別系統,車牌在少量污濁情況下準確識別成功率已經接近100%。
3 Maker們又可以做些什么?
AlphaGo只有一個,還屬于谷歌公司。
話題還要轉回來,對于我們這些Maker們來說,想玩這么高大上的人工智能也是挺容易的。我們就拿這個車牌識別系統的人工智能來說,在我們的英特爾開發板上,例如Edison,安裝OpenCV模塊,用來進行圖形圖像處理,這里提示一下,要將有關GUI的代碼全部注釋掉,因為英特爾開發沒有GUI。然后,我們再從github上面獲取有關車牌識別的代碼,https:\github.com/liuruoze/easyPR。之后,我們創建一個項目,并在項目中添加OpenCV的支持,參考示例代碼如下:
//添加OpenCV頭文件 ${DEVKIT_HOME}/devkit-x86/sysroots/i586-poky-linux/usr/include/opencv ${DEVKIT_HOME}/devkit-x86/sysroots/i586-poky-linux/usr/include/ ${DEVKIT_HOME}/devkit-x86/sysroots/i586-poky-linux/usr/include/c++ ${DEVKIT_HOME}/devkit-x86/sysroots/i586-poky-linux/usr/include/c++/i586-poky-linux ${DEVKIT_HOME}/devkit-x86/sysroots/i586-poky-linux/usr/include/c++/bits //添加鏈接庫 ${LDFLAGS} lopencv_calib3d –lopencv_contril –lopencv_core –lopencv_features2d –lopencv_flann –lopencv_gpu –lopencv_highgui –lopencv_imgproc –lopencv_legacy –lopencv_ml –lopencv_nonfree –lopencv_objdetect –lopencv_ocl –lopencv_photo –lopencv_stitching –lopencv_superres –lopencv_video –lopencv_videostab –lrt –lpthread –lm –ldl //主函數 Int main(int argc, char *argv[]){ Input_carmera = cvCaptureFromCAM(-1);//打開攝像頭 Signal(SIGINT, sigroutine); While(1){ Frame = cvQueryFrame(input_carmera);//讀入一幀圖像 If(frame != NULL){ cvSaveImage(“car_detect.png”, frame); } Mat src = imread(“car_detect.png”); CPlateRecognize pr; Pr.LoadANN(“model/ann.xml”); Pr.LoadSVM(“model/svm.xml”); Pr.setLifemode(true); Pr.setDebug(true); Vertor plateVec; Result = pr.plateRecognize(src, plateVec); }
Result里存儲的便是我們利用人工智能識別出來的車牌號了。如果顯示出來?利用什么顯示出來?限于篇幅的原因不再一一講述。
AlphaGo的出現帶動了人工智能產業,人工智能的前景將非常樂觀。對于科學家們要努力的還有很多,任重道遠;對于我們普通民眾,只需要安心享受人工智能帶給我們的舒適、便捷即可。
-
機器人
+關注
關注
211文章
28390瀏覽量
206957 -
神經網絡
+關注
關注
42文章
4771瀏覽量
100721 -
人工智能
+關注
關注
1791文章
47208瀏覽量
238298
發布評論請先 登錄
相關推薦
評論