近兩年,區(qū)塊鏈概念成為全社會的熱點話題,但大部分人更多關注的是比特幣、以太坊等加密數(shù)字貨幣,忽視了區(qū)塊鏈技術本身。而區(qū)塊鏈技術,離不開數(shù)學。
12月17日-18日,區(qū)塊鏈數(shù)學科學會議在北京召開。本次會議為數(shù)學家、密碼學家、計算機學家、經(jīng)濟學家等各領域專家提供一個學術交流平臺,希望在初期階段,專注于探索拆解現(xiàn)有的區(qū)塊鏈數(shù)學的范式,組合區(qū)塊鏈技術的數(shù)學工具,并且通過類比、分析、歸納等方式,提出“區(qū)塊鏈數(shù)學猜想”。
計算科學家、中科院院士張鈸在題為“走向可解釋與魯棒的人工智能”的演講中表示:
“當前人工智能方法存在局限性,只能在具有充分知識或數(shù)據(jù)、穩(wěn)定性、完全信息、靜態(tài)、特定領域與單任務的場景下適用。數(shù)據(jù)驅動的本質缺陷在于只能學習重復出現(xiàn)的片段,不能學習具有語義的特征。因此,后深度學習時代將知識驅動與數(shù)據(jù)驅動結合,走向真正的人工智能?!?/p>
大家好,我今天演講的主題是“走向可解釋與魯棒的人工智能”。我非常的贊成需要不同學科的碰撞,才能產(chǎn)生新的成果。1956年,人工智能(Artificial Intelligence)誕生于美國,被定義為“研究與設計智能體(Intelligent Agents)”。
這個定義中,用了研究和設計兩個詞來形容這個領域,就說明這個領域既是科學也是工程。所以,人工智能不僅要關注科學的部分,也要關注技術和應用的部分。另外就是智能體,或被稱為“智能機器”,智能機器指的是能夠感知環(huán)境,經(jīng)思考后采取行動使成功機會最大化的系統(tǒng)。但是人工智能很難說是一個機器,也很難說它是一個系統(tǒng),所以特別發(fā)明了一個詞叫Agent,我這里的翻譯是叫做智能體。
人工智能就做三件事:感知、思考決策和動作。第一件事兒就是要模擬人類的理性行為,就是中間那部分,內(nèi)容理性行為,我們要用計算機來模擬它。另外就是感性、感知,聽覺、視覺等等,最后是動作。
人工智能的現(xiàn)狀和符號模型
我們可以把人工智能分成兩個階段:1956年至2000年,傳統(tǒng)AI的階段;2000年至2015年,深度學習的階段。
首先在人工智能建立初始,就對人類的智能行為提出一個模型,這個模型叫做基于知識和經(jīng)驗的物理符號推理模型。也就是說,當時認為人類的說話認知包括了感性和理性都可以用這個模型來模擬,目前看來事實證明,這種模擬只能模擬理性行為,理性行為就利用基于知識和經(jīng)驗的推理模型來構造。
人的理性行為基礎是兩個:知識、經(jīng)驗和推理能力。如果能夠把人類的知識和經(jīng)驗放在計算機的知識庫里面,我們能把推理能力表現(xiàn)在它的推理機制里面,我們就可以做出來模仿人類理性行為的系統(tǒng)或者是人工智能系統(tǒng)。
大家看起來很簡單,如果我們能夠把醫(yī)生看病的知識和臨床經(jīng)驗放在知識庫里面,把診斷的過程變成一個推理過程,放在機制里面,這個系統(tǒng)就能看病,確實在70、80年代的時候,美國、中國都做過類似的醫(yī)療診斷系統(tǒng),用的就是它。
但是,這里要說一點,這些知識和經(jīng)驗都是通過人工編制,輸入到計算機里面去,這是它嚴重的問題。
另外也是當時提出來的另外一個模型,所謂大家現(xiàn)在講的人工神經(jīng)網(wǎng)絡、機器學習也好,就是這個模型。這個模型是用來模仿人的感知的。大家想想,感性的知識來自何處?不是來自于知識,不是人家教你的,來自于觀察。所以,把人類通過觀察學習的這種過程用一個神經(jīng)網(wǎng)絡的機器學習來模仿,現(xiàn)在所有的圖象識別、語音識別都是用的這個模型。
傳統(tǒng)模型的優(yōu)缺點
這里的問題在于,特征的輸入是人工輸入的,人工選擇的特征輸入,這個是傳統(tǒng)人工智能的一個最大的缺陷,所以后來為什么會出現(xiàn)人工智能的冬天。就是因為用人工的方法來輸入特征來講這是很困難的,有的時候還做不到。比如說人類的知識和經(jīng)驗你無法描述,所以這就使得人工智能很難做出來一個實用的系統(tǒng),后來就變成大家對它不寄予很大的希望,只能在玩具世界或者是在實驗室里做一點兒系統(tǒng),做出來的實用系統(tǒng)是很難的。
當時美國為了做一個醫(yī)療診斷系統(tǒng),結果花了六年的時間才把專家的知識放到計算機里面去,而且這個系統(tǒng)后來還沒有用上。
這個系統(tǒng)的優(yōu)點就是說它跟人類的系統(tǒng)是一樣的,所以可理解、可解釋,而且魯棒性也比較強。缺點就是剛才說的手邊知識,需要來自專家的知識,是昂貴的、難以推廣的。
深度學習時代
這個事情有重要的變化,就是深度學習。這個深度學習大家知道,實際上只是把神經(jīng)網(wǎng)絡這個層次增加了,原來只有1層,變成2層以上,把機器學習起了一個根本性的改變,這個是大家沒想到的、出乎大家意料的。這個根本性的改變在于輸入不需要人工選擇特征,而是原始數(shù)據(jù)。
這是什么意思呢?你用這個工具的時候,不需要專業(yè)知識,過去要搞人臉識別,你必須要搞清楚人臉識別是根據(jù)什么特征來識別的。因此,做過十年人臉識別的人跟剛剛進入做人臉識別的人,他的經(jīng)驗要多得多,你沒有這方面的經(jīng)驗,你要從頭做起。
但是現(xiàn)在不一樣了,你做了十年的人臉識別跟剛剛進去的人臉識別,大家是一個起跑線上的,因為只要你有數(shù)據(jù),我就不知道他是什么特征,機器自動學習。所以,這個問題就變成了深度學習完全改變原來模型的性質,變成了一個通用的工具,它通用,就等于說人臉識別學人臉識別,你做大數(shù)據(jù)的學金融,只要把原始數(shù)據(jù)輸進去就可以了,不需要太多金融的知識。
所以,人工神經(jīng)網(wǎng)絡的性質發(fā)生了變化,從單純的函數(shù)映射到表示學習,就自動學習表示方法。這就是我們現(xiàn)在深度學習廣泛傳播大量應用的一個重要原因,誰拿去都可以用。但是這個問題大概三、四年前大家也發(fā)現(xiàn)了,大家以為是很完美的工具,其實現(xiàn)在發(fā)現(xiàn)這是一個非常不完美的工具。
自然語音識別模型
深度學習的影響有大?我們原來搞語音識別的時候,必須人工選擇特征,這個特征一經(jīng)過處理以后非常復雜,用的模型是這個模型,用的特征是倒拼圖推進,一會兒要把語音變成拼圖,拼圖又返回去積分,后來都不知道變成什么樣子了?,F(xiàn)在不一樣了,有了深度學習,原始的拼圖、原始的波形,輸進去就可以了。
這個改變是非常本質的,就是說2001年用這種模型,以前用這種模型,基本上只能達到80%,幾乎不能用,現(xiàn)在已經(jīng)變成了商品,所有的商品都是用的深度模型,識別率是一般的95%或者是更高,有的還可以新增,比人類的還好一點兒。這個問題就是一步的變化,從原來的模型變成一個深度模型,把層數(shù)增加。
當前人工智能方法的局限性
當前人工智能方法的局限性在于只適用于以下場景:
具有充分知識(能清楚表述的問題)或數(shù)據(jù) ·確定性 ·完全信息 ·靜態(tài)(按確定規(guī)則演化) ·特定領域(領域邊界清晰)與單任務
這些不用解釋了,大家一看就明白,我只解釋一個完全信息。大家看一下,現(xiàn)在AlphaGo,過去的深藍,為什么做得這么成功?就是因為這個棋是完全信息博弈,如果是完全信息的話,對于計算機來講是極為容易的,絕對是會超過人類的。所以,圍棋、象棋最終機器是會超過人類的,只是時間問題。
但是如果你這個變成不完全信息,比如說像牌類,現(xiàn)在不管是四人橋牌也好,四人麻將也好,計算機根本不是人類的對手,原因就在于不完全信息。對決策也是一樣,如果你的決策是完全信息決策,是完全信息決策,機器絕對會超過人。但是如果你是不完全信息決策,那計算機跟人類相比還差得遠。但是很不幸,所有的決策場景都是不完全信息,實際的決策場景都是人的。
這里還有確定性、靜態(tài)演化、特定領域、限定領域,如果領域不限定,那這個是不行的。
基于深度學習的識別系統(tǒng)與人類感知
還應該看到應用深度學習或者是大數(shù)據(jù)建立系統(tǒng),有非常大的缺點,跟人類的認知完全不是一碼事。
這里面的例子很多,就是我題目里面講的兩個缺點:不可解釋性(最大的缺點)和魯棒性很差,非常脆弱。
犯大錯與不可解釋性
我舉一個很簡單的例子。物體識別系統(tǒng),你可以做得識別率甚至超過人,計算機目前來講在給定的圖像架構下,它的識別率是可以超過人的。就是這樣的系統(tǒng),你給它一個噪聲,可以識別成為知更鳥。你再隨便給它一個噪聲,你可以制造一個噪聲,讓它識別為獵豹。
換句話說,這個系統(tǒng)我們所謂的模式識別系統(tǒng),不是人類的感知,只是一個機械的分類器,它能夠把知更鳥和獵豹區(qū)分開來,但是它絕對不認識什么是獵豹,什么是知更鳥。也就是說它只達到了低等動物的水平,而不是人類的水平。
魯棒性差
這個是我們的博士生做的,這個是阿爾卑斯山,計算機看起來是阿爾卑斯山,人看起來也是阿爾卑斯山。
我們只要給它一點點噪聲,這張圖的阿爾卑斯山和這張圖的唯一區(qū)別,就是噪聲多一點兒,人類看起來當然是阿爾卑斯山,計算機看起來是一條狗,而且我們可以讓它的自信度達到99.99%,它99.99%的把握認為它是一條狗。
數(shù)據(jù)驅動的本質缺陷是只能學習重復出現(xiàn)的片段,不能學習具有語義的特征。這就是今天大家在大量討論的人工智能的安全性問題,聯(lián)合國也要討論這個問題,這個是由這個引起的,不是說要做出來人工智能超過人,這是有危險的。不是,這個危險在于系統(tǒng)極端的脆弱性。
所以,你無論說什么樣的系統(tǒng),用這種辦法做出來,就非常容易被攻擊。正是大家利用這個攻擊的手段,現(xiàn)在造成了各種各樣的很多人工智能系統(tǒng)癱瘓。不僅僅使你癱瘓,現(xiàn)在還有一種攻擊方法,能讓你去干別的事。所以,這就是人工智能的危險性,是在這里。
這個問題的嚴重性還在于,實際上這個是它的本質引起的,不是因為我們編程沒編好或者是我們沒考慮到,不是的,是完全由本質引起的,就是深度學習、大數(shù)據(jù)。
我們要知道,我們現(xiàn)在講的大數(shù)據(jù)和以前說的大數(shù)據(jù)不是一碼事,我們現(xiàn)在指的大數(shù)據(jù)是網(wǎng)絡上那些低質量的大量數(shù)據(jù),這叫做深數(shù)據(jù),這才是我們關注的。網(wǎng)絡上的數(shù)據(jù)盡管非常多,但是大量是低質量的,造謠、造假,有很多的。你用一個質量很低的數(shù)據(jù),用概率統(tǒng)計方法來學習,能學出什么東西來呢?只能學出那些重復出現(xiàn)的片斷,不可能學出來有語義特征的部分。
這是跟人類完全不一樣的結果。人類怎么認識牛和馬呢?他能夠看到它的馬頭、馬尾巴、軀干,計算機看不到,只能看到那些非常低層次的紋理、線條,用這個來區(qū)別普通物體。
我們看一下這個,深度學習學出來的都是這個,利用這個來區(qū)別什么是牛、什么是馬。這種情況如果用到?jīng)Q策是絕對不允許的,我們用到模式識別還馬馬虎虎。也就是說它跟人類的不同在什么地方呢?人類也許把騾看成驢,但是計算機完全可以把看成一頭驢,也就是它會犯原則性的語義上的大錯,人類不會。
所以,這個對于決策來講是不可以用的,但是模式識別是可以用的,你把模式識別也是一個錯,看騾看成驢也是一個錯,不分錯的大小。
這個問題怎么辦?這個現(xiàn)在實際上有很多的問題:
醫(yī)學圖像識別:現(xiàn)在大家做醫(yī)療診斷,做了很多的圖像識別,而且識別率可以達到醫(yī)生的水平,這確實如此但是醫(yī)生不敢用,你說他有癌癥,你搞不清楚它根據(jù)什么說他是癌癥這叫不可解釋性,你做得再好他也沒法用。
語音識別:我們現(xiàn)在說是超過人,那是在非常限制的條件下,你的語音必須沒有任何的噪聲,所有的語音識別你必須對著話筒講,如果我離遠一點講,識別率就非常低,不允許有任何的干擾,也就是說它非常的脆弱。 我們現(xiàn)在先看一下,數(shù)據(jù)驅動非常大的好處,他是用的向量,所有的數(shù)學工具都可以用上,過去的人工智能為什么不行呢?數(shù)學用不上,是用符合來表示,你用邏輯推理這套東西,你的數(shù)學工具非常有限。
兩個基本模型
大家看到的深度學習全是數(shù)學,所以大家的辦法很簡單,這個就是很大的問題了,我們?nèi)绾谓鉀Q一個可解釋性,就是要把這兩個結合起來,知識驅動和數(shù)據(jù)驅動結合起來。
文本語言是這么處理的,圖像語音是那樣處理的,現(xiàn)在的辦法很簡單,語義的向量空間,把符號變成向量,把特征變成語義。所有的數(shù)學工具全能用上,怎么辦呢?如何把符號變成向量。
后深度學習時代
這樣,我們就可以建立一個統(tǒng)一的理論用數(shù)學來處理它,所以我覺得現(xiàn)在人工智能才有資格說你是一門科學,我過去一致認為,人工智能不是一個科學。我圖像跟語言文在一個空間里面了,這也符合人類。
就全變成數(shù)學問題了,因為這個沒有解釋,現(xiàn)在就搞了各種各樣的優(yōu)化方法來做,我們說機器翻譯也完全可以利用這個做,過去的機器翻譯全是不用數(shù)學的,現(xiàn)在全是數(shù)學,全是優(yōu)化方法來做,這也是我們研究院里面做的工作。
但是大家也看到了,總體來講,效果有提高,提高不多全世界都是這樣,也就是說這個工作有大量的工作需要做,另外一個辦法就是符號。但是,我們需要把大量的數(shù)據(jù)換進去,沃森就是做的這個工作。
最關鍵的問題是兩條,如果可以解決的話我們也可以用這個模型來解決,就是要向數(shù)學學習的方法。
我認為從人工智能的角度來講,這個系統(tǒng)做得最好,大家看到好的AlphaGo什么的,其實AlphaGo并沒有它好。它用了資源就這些,非常多,有原始感,文學作品都是沒有經(jīng)過加工的,這是他的系統(tǒng)。
從特征空間往一個空間去這個要學習人類,人類同樣用神經(jīng)網(wǎng)絡做出來能學到語義,計算機學不到語義,原因是缺少這些,因為人工神經(jīng)網(wǎng)絡太簡單了,所以這里面必須把神經(jīng)網(wǎng)絡的東西加進去,這個是我們也做的一些工作,加上去以后就可以學到含有語義的東西。
我們可以看一下,最終走向真正的人工智能必須得有嘗試,沒有嘗試這個系統(tǒng)實際上都是你告訴他的,對一個對話系統(tǒng)來講,對機器來講,它只能回答你告訴他的,現(xiàn)在好一點,你沒有直接告訴他,他利用推理可以由原來的知識里面推出新的結論,這個沃森能做到,但是做到的很有限,比人類還差得很多。
我們剛剛講過,人類理性智能一個最重要的表現(xiàn)就是你的推理能力,你的判斷能力,除掉你的知識和經(jīng)驗之外。美國人花了很大的功夫去做這個事兒,我們國家上次在知識圖譜會上就強調,我們也必須做,你想中國人工智能要走到世界的前面,或者說跟上人家,你不做這些工作可能是不行的。
我們利用嘗試進行對話等等,就可以解決詞匯里面沒有的詞,計算機可以通過里面的知識來判斷這個詞大概是什么意思。