核心觀點:
基於機器學習的人工智慧擴充了原先的確定性邏輯系統,讓機器完成一些人類無法明確定義的任務,比如人臉識別
目前人工智慧會帶來智慧機器的進一步自動化革命,因此所有討論也應該圍繞“自動化”這個母題才合理,奢談“超人類智慧體”毫無意義
人工智慧現在火的一塌糊塗,火到許多做我們電子工程這一行的朋友都想要刷題轉行,伴隨著這股火熱的同時也有許多朋友疑惑不解,到底這波人工智慧能為我們的生活帶來什麼變化?沿目前的技術發展下去,真的很快人工智慧就會像Elon Musk所說威脅到人類嗎?今天和大家從工程師的角度分析一下,目前所說的人工智慧到底是怎麼回事。
今天的人工智慧系統有何不同?
目前的人工智慧系統,首先是一臺機器,有輸入,有輸出。這麼一說,瞬間就沒這麼玄乎了吧!比如說目前在中國許多城市已經鋪開的人臉識別打卡系統,其輸入就是一張由攝像頭採集到的照片,而其輸出就是人臉相關資訊——如果照片中沒有人臉,就沒有輸出;如果發現了人臉,就把檢測到的人臉打個框,如果檢測到的人臉能和資料庫裡面的員工照片對得上,比如說下圖中的檢測到范冰冰來打卡了,就“嗶”一聲,表示你范冰冰已經被識別而且打卡成功!
技術文章,放一張美女人臉識別照片,防止文章太枯燥一拉到底!
繼續往下看,那麼現在使用所謂“人工智慧”的人臉識別和之前的技術有什麼區別?這位讀者大哥可能要說了,記得很久以前數位相機上也能做人臉檢測啊!那今天的人工智慧和幾年前的技術又有啥區別呢?
幾年前的人臉識別技術
這個區別值得好好講一講。在之前的機器視覺領域,為了完成人臉識別之類的任務,首先會用影像濾波器去提取影像中的特徵,然後根據特徵的分佈再去分析是否檢測到了人臉。在傳統的方法中,這些特徵都是事先定義好的,例如Haar,HoG等等,一種看起來不太適合這種任務就換一種特徵,如果現有的濾波器提取的特徵都不行那就想想能不能修改一下這個特徵的提取方式以更適合,這種傳統的方法叫做“特徵工程”,即feature engineering。
這一招在其他訊號處理中也很常見,其實質就是把訊號轉換到另一個域去分析,比如我們一般會把訊號用傅立葉變換轉換到頻域看看特徵,或者傅立葉變換效果不好我們會試試小波分析,等等。
然而,特徵工程在許多領域,特別是影像識別領域的效果漸漸遇到了瓶頸,因為人設計的特徵往往不夠好。那麼怎麼辦呢?這時候,目前最火的神經網路機器學習恰好能解決瓶頸。神經網路機器學習的本質是,每一層神經網路都會提取特徵並送入下一層網路繼續處理,但是其比較特別的地方是,特徵並不是實現定義的,而是透過訓練得到的!訓練的時候,送進去大量資料,並且把神經網路的輸出結果與正確答案比對,並動態調整每一層神經網路的特徵提取方法(例如濾波器的權重)。這樣,透過訓練的方法,就可以擺脫特徵工程的侷限性,讓神經網路自動找到訓練資料集上最優的特徵提取辦法。可以想象,當訓練資料集足夠大的時候,就可以近似地說神經網路找到了針對該應用所有資料的通用最優特徵提取方法。這也是目前機器學習最牛的地方:隨著資料越來越多,演算法會越來越智慧。從另一個角度來說,資料也是目前人工智慧最重要的資源!
人工智慧實現的就是基於統計的自動化系統
我們再從另一個角度來看這個問題。在過去,我們工程師解決問題都是透過第一原理,使用確定性邏輯。比如說,你要設計一個自動控制溼度的系統,你需要溼度感測器,當溼度低於某個閾值時,開啟加溼器;當溼度高於某個閾值時,則關掉加溼器。這一切的邏輯規則都是確定的,完全處於設計這的掌控之下。這就相當於傳統的“特徵工程”方法,一切都是確定而可理解的。
當然這麼做會有極限,因為確定性邏輯系統需要你對於任務的細節有很明確的定義,但是很多工是難以明確定義的。比如,如果讓你做人臉識別,怎麼做?你會說,人的臉都有兩隻眼睛一隻鼻子一張嘴,但是如果碰到眼鏡特別小的怎麼辦?戴口罩的怎麼辦?等等等等,所以說按照人的邏輯規則是很難窮盡這一切情況的。這也是確定性邏輯系統的瓶頸。而現在的基於機器學習的人工智慧,就是使用了一套基於統計規律的系統。它讓系統在大資料上訓練出一套規則,這些規則可能不會被設計者理解,但是隻要從統計的角度來說,正確率足夠高,就行。就像現在機器學習實現人臉識別時,提取的特徵到底都長得稀奇古怪,甚至做機器學習的人都不能理解為啥會提取出這樣的特徵,也不能完全理解為什麼這樣的特徵能讓神經網路工作得這麼好!
機器識別深度學習提取的特徵,設計者都無法理解為什麼這樣的特徵能讓系統工作得這麼好
目前人工學習能帶來新一波自動化,但是離超越人類之類的還早
應該說,目前基於機器學習的人工智慧擴充了原先的確定性邏輯系統,讓機器完成一些人類無法明確定義的任務,比如人臉識別。但是,我們說來說去,這一切都是在“機器”的範疇中討論的。而機器,從一開始發明的目的,就是為了自動化,代替人類更好地完成一些任務。可以說,機器的自動化經歷了幾次飛躍,從最初的機械化,到上世紀開始的電子自動化,而這次的人工智慧可能會帶來機器的第三次自動化飛躍。
因此,所有關於這次人工智慧浪潮的討論,也應當圍繞“智慧機器自動化”這個母題。討論“哪些人工重複工作可以被基於人工智慧的機器所取代”,“有哪些新的領域可以應用大資料機器學習從而實現自動化”等等都靠譜的,但如果脫離了“智慧機器自動化”而去奢談“超人工智慧體”什麼的,就沒有什麼意義。之前AlphaGo戰勝了李世石,於是有人驚呼“人工智慧要超越人類了”,其實我覺得沒什麼好驚訝的,機器在自己的領域從一開始就比人類強,不信你去和計算器比比開方運算計算速度和精確度,或者去和汽車比比速度。而人工智慧,就只是一類新的機器而已。
那麼目前的人工智慧技術比起科幻小說裡面的強人工智慧還缺什麼?缺好多,我們先不說推理、抽象思考能力等等,就說目前用基於統計的自動化,也有很多問題。最主要的問題,就是不確定性。之前的基於確定邏輯的系統,什麼時候系統會失效對於設計者來說是很清楚的,因此只要儘量不讓系統工作在會失效的情況下就行。但是,對於基於統計的系統,什麼時候會工作什麼時候失效設計者是不清楚的,因為連設計者本身也不能完全理解訓練出來的深度學習系統:即使在測試資料集上效果很好,在實際執行中也會因為這樣或者那樣莫名其妙的原因失效。Tesla之前的事故,就是典型的例子:據分析,自動駕駛系統把白色大卡車當成了遠處的白雲因此撞了上去,而這樣的錯誤在設計驗證中很難被驗證到。正因為存在這樣的不確定性,目前的人工智慧系統在對於可靠性要求較高的場合可以減少人的工作量,但是卻不能完全代替人。比如說,如果對於人臉識別的要求很高,那麼人工智慧人臉識別可以做的是把原來需要5個人的前臺減少到1個人,因為人工智慧可以完成絕大多數的人臉識別任務;然而,那最後一個人卻不能被完全替代,因為歸根到底還是需要有一個人在那邊把關,防止人工智慧系統出錯。
人工智慧時代,將會有電子工程師的一片天
人工智慧可以大大增加機器的自動化程度,但是自動化的實現方式並沒有區別,仍然是基於電子器件。因此,電子工程在人工智慧時代不會被淘汰,反而會發揮更大的作用,因為目前基於馮-諾伊曼式經典架構的處理器系統在未來的人工智慧系統中是否需要做改動才能實現最優效率還有爭論,許多大師級人物(如David Patterson,John Hennessy等)都認為異構計算將會成為未來的主宰架構,所以人工智慧時代,還有許多事等著電子工程師去做!