【轉載】演講丨周志華:關於人工智慧的探討
來源 | 機器之心
演講者 | 周志華
整理 | 邱陸陸
一提到人工智慧,很多媒體、社會大眾可能首先想到的是科幻電影中的「人工智慧」形象。所以從事人工智慧研究的人經常要面對一個很難回答,或是說很悲哀的問題:比人類更聰明的人工智慧什麼時候能夠出現?
這樣的問題,對做人工智慧研究的人來說其實非常難回答。為什麼呢?因為談到人工智慧,有兩種差別非常大的觀點。第一種,我們稱之為強人工智慧,目的是希望研製出和人一樣聰明,甚至比人更聰明的機器,這種觀點在科幻作品和電影裡面出現的比較多。另外一種叫做弱人工智慧,是覺得人做事的時候很聰明,能不能向人學習一下,讓機器做事的時候也聰明起來,在科學界研究者探索的主要是這個方面。
有一位非常知名的學者,Marvin Minsky,他是人工智慧的奠基者之一,圖靈獎得主,也是 MIT 的計算機科學方面的奠基人。他曾經給人工智慧下過一個定義說,人工智慧就是研究「讓機器來完成那些如果由人來做則需要智能的事情」的科學。
一個簡單的類比:在一百多年前,我們看到天上有鳥在飛,然後大家就想,那我們能不能做一個東西讓它飛起來,後來經過空氣動力學研究,我們有了飛機。但是如果我們問,飛機到底有沒有比鳥飛得更好,這其實可能很難說。飛機可能比鳥飛得更高、更遠,但是沒有鳥飛得靈活。但不管怎麼樣,原來的目的已經達到了,我們獲得了能夠幫我們飛起來的工具。
人工智慧要做的事情和造飛機非常相似:我們看到人有很多行為很有智能性,我們希望通過借鑒這種智能性做出一些工具,幫助我們做更強大的事情。這就是我們在研究人工智慧時考慮的主要內容。我們不是在做人造智能,而是人工智慧,更確切地說,是一種受智能行為啟發的計算過程(Intelligence-inspired Computing)。
我們簡單地回顧一下過去幾十年里人工智慧學科發生了的事情。今天,我們一般認為人工智慧這個學科誕生的話是在 1956 年。世界上第一個現代的計算機系統誕生於 1946 年,在 1956 年計算機的計算能力還非常弱,但是當時就有很多的學者在想:計算能力照此發展下去,我們就可以做一些更複雜的事情。那年夏天在達特茅斯學院開了一個會議,在這個會議上,後來被稱為人工智慧之父的 John McCarthy 為這個學科起了一個名字,叫做「人工智慧」。由此今天我們都認為人工智慧是 1956 年夏天誕生的。
在過去 60 多年的歷史上,如果我們從主流的研究過程或者說研究者的工作重點來看,過去的發展大概經歷了三個階段。
第一個階段從 50 年代中期到 60 年代,人工智慧主要在做推理。這是為什麼呢?因為當時人工智慧的研究者很多是從數學、從計算機科學產生出來的,大家都對數學家有一種很自然的崇拜,認為數學家非常聰明,因為他們能夠證明一些非常複雜的定理,這背後的能力就是邏輯推理能力。所以當時大家就想,如果能夠把邏輯推理能力賦予計算機系統,那麼這個機器做事情就會聰明起來,所以當時有很多很重要的研究結果,例如兩點陣圖靈獎得主 Herbert Simon 和 Allen Newel 做出來的自動定理證明系統 Logic Theorist。中國的吳文俊先生,他的研究成果也屬於這一大類。那麼這樣的研究成果達到了一個什麼樣的水平?舉個例子,大家都知道數學是自然科學工程科學的基礎,但是數學的基礎是什麼呢?在上世紀 40 年代,有兩位偉大的邏輯學家 Russell 和 Whitehead 他們用邏輯把整個數學系統建構起來,寫了一本書叫做《數學原理》。為了證明這本書裡面的定理,他們花了十年時間。然而程序證明這所有的定理只用了不到兩個月的時間,而且機器證明出來的定理甚至有一條比這兩位偉大的邏輯學家證明出來的還要巧妙。
在上世紀 60 年代,機器所具有的推理能力就已經達到了人類的巔峰水平,但是機器在做事情這方面還遠沒有人類一樣聰明。大家逐漸意識到,只有邏輯推理能力是不夠的。數學家能夠證明很多定理,不光是因為強大的推理能力,還因為有很多數學知識,所以人工智慧的研究很自然地就進入了第二個階段。在這個階段大家思考的是能不能把知識總結出來交給計算機系統。這就是所謂的知識工程期,代表人物就是後來的圖靈獎得主,被稱為知識工程之父的 Edward Feigenbaum,曾任美國空軍的首席科學家。在這個階段,大家主要希望把人類專家解決問題的知識總結出來,比如說在做探礦系統時,如果看到岩石滲出紅色,那麼裡面很可能是鐵礦。把這樣的知識總結出來,然後編程,放到計算機系統里,由此產生了很多的專家系統,解決了很多問題。
但是後來研究者發現,把知識總結出來交給系統是非常困難的。一方面,有時候我們人類能夠解決一些問題卻無法說清裡面的知識是什麼。還有一種情況,人類專家可能不太願意分享他的知識。這該怎麼辦?因為人的知識主要是靠學來的,所以很多人自然地想到,我們能不能讓機器自動的去學知識?所以從 20 世紀 90 年代開始,人工智慧的主流研究就進入到第三個階段,這個階段一直持續到今天,就是「機器學習階段」。因此,機器學習學科是為了解決知識獲取瓶頸而出現的。機器學習的經典定義是,利用經驗來改善系統自身的性能。但是不管什麼樣的經驗,想要放在計算機系統中,必然是以數據的形式存在的。所以,機器學習想要研究如何利用經驗就必須要對數據進行分析。因此這個領域發展到今天,主要研究的是如何利用計算機對數據進行分析的理論和方法,或者稱為智能數據分析的理論和方法。這個領域特別的重要。舉一個例子,圖靈獎是計算機科學的最高獎,10 年和 11 年,圖靈獎連續兩年頒給了在機器學習方面做出傑出貢獻的學者,這個在圖靈獎歷史是非常罕見的,直接體現出大家對這個領域的重視。
機器學習走上歷史舞台是因為要解決知識獲取的瓶頸。但是恰恰在 20 世紀末,人類開始發現,自己淹沒在數據的海洋裡面,我們急需技術對數據分析,而機器學習恰恰在這個時候出現了,我們對它的需求十分高漲。今天,大家都知道我們處於一個大數據時代,覺得拿到大數據就好像得到了很多寶物。但其實這只是一方面,大數據好比一座礦山,擁有了礦山之後,想要得到裡面的價值,必須要有很強大的數據分析技術,而今天的數據分析主要靠機器學習。因此在大數據時代,要讓數據發揮作用,就離不開機器學習技術。所以如今機器學習技術已經無所不在,不管是互聯網搜索還是人臉識別、自動駕駛、火星機器人、美國總統大選甚至軍隊用的戰場數據情況分析……只要你有數據、希望用計算機來輔助數據分析,就能使用機器學習技術。因此,我們可以說,今天人工智慧的熱潮正是因為機器學習,尤其是其中深度學習技術取得的巨大的發展,發揮了巨大的作用。
我們經常會聽到「人工智慧、機器學習、深度學習」這幾個詞,它們是什麼關係呢?深度學習是機器學習的一個分支,而機器學習又是人工智慧的一個核心研究領域。雖然深度學習可以解決很多問題,有很多公司基於深度學習技術創立,我們也要注意到其實深度學習並不能夠「包打天下」,還有很多的機器學習技術在很多方面在發揮作用。機器學習是一個非常廣袤的學科領域,其分支隨著數據分析的需求不斷湧現、增長而指數級地膨脹。深度學習只是其中的一個小分支。
下面我想談一談我關於機器學習下一步發展的一些思考。對於熟悉機器學習的人來說,談到機器學習,有些人想到的是演算法,有些人想到的是數據。可以說,今天的機器學習就是以「演算法加數據」的形態存在的。在這種形態下,存在哪些技術局限?
首先,我們需要大量的訓練樣本。大數據時代,是不是大量的訓練樣本這件事就不再是問題?其實還是一個很大的問題。第一種情況,在有些應用里樣本總量很少,例如做油田定位的時候,數據必須通過人工誘發地震才能獲得,因此獲得這樣的數據成本非常高,不可能有大量數據去用。第二種情況,數據很多,但其中我們真正關心的很少。例如,做銀行欺詐檢測時,一個銀行每天的信用卡交易數據可能有百萬甚至千萬條,但是其中真正的信用卡欺詐數據可能很少。還有一種情況,數據的總量很多,但是已知結果的數據很少。比如,要做軟體缺陷檢測的時候,雖然有大量的程序代碼,但是真正把缺陷標記出來的數據是非常少的。所以,即使在大數據時代,我們仍然希望能用少量的數據就做出很好的模型。
第二,做出一個機器學習模型後,環境如果稍微發生變化,就可能導致模型失效,或者是性能大幅度降低。比如說,我們布置了 100 個感測器,一個月之後有 60 個感測器失效了,這時候我新部署 60 個感測器,原來的模型能不能用呢?很抱歉,這時候模型的性能會大幅度衰減,因為人很難把新的感測器放到原來的位置,感測器發出的信號質量和信號強度也會有很大的變化,模型很難適應。
第三,今天的機器學習系統絕大多數都是黑箱。我們能做出預測,甚至是非常精確的預測,但是我們很難解釋為什麼做出這樣的預測。這就會導致這樣的模型很難用於一些高風險應用場景中。比如,我們要做地震預報,預測今天明天要地震,請大家撤離。領導肯定會問,你為什麼做出這樣的決策?如果這個模型是黑箱,它就只能告訴你,結果肯定是這樣,至於理由是什麼,我也不知道。這種情況下,是肯定不能夠採納這個建議的。
最後,其實還有很多別的問題,比如說,即使有同樣的數據,普通用戶能得到的結果和專家能得到的結果差別會非常大。再比如數據隱私問題,現在大醫院有很多的病例,基於這些數據能夠做出非常好的診斷系統,同時社區醫院的病曆數據可能比較少,直接基於它的數據很難做出好的模型。社區醫院想獲得幫助,大醫院也樂於幫忙,但是這很難完成。因為一旦要分享病例數據,就會涉及到數據隱私、所有權等等問題。存在一面數據保護的牆,阻止我們有效地分享機器學習經驗。
機器學習技術在當下還面臨著很多其它問題,我列舉出來的只是一部分。今天,科研人員都在各個方面做努力的探索,但是如果把所有這些方面割裂,逐個去解決,就很難擺脫「頭疼醫頭腳疼醫腳」的現狀。所以,有沒有可能在一個整體性的框架之下全面的考慮所有這些問題?
最近,我們提出了一個新的想法,我們稱其為「學件」。現在計算機有硬體,有軟體,我們希望經過若干年的探索之後,機器學習會產生出一種叫做「學件」的產物。
現在,已經有很多人做出自己的機器學習應用,也很願意分享他們的模型。我們可以把這些模型做出來,放在一個地方。以後,一個新的用戶想做自己的應用時,不再需要從頭開始,只需要去這個市場上看一看有沒有什麼東西直接可以使用。比如說用戶希望有一把切肉的刀,他絕對不會自己去採礦、去打鐵,而是去市場上先看一看能不能買到這樣的刀。就算買不到切肉刀,假設找到一把西瓜刀,拿回家用自己的數據打磨一下,可能就變成很適用的一個工具。這裡的基本想法是,希望我們能夠部分重用他人的結果,不再需要從頭開始。
為了達到這個目的,「學件」應由兩部分組成,一部分是模型,一部分是用於描述模型的規約(specification)。為了做到這件事情,模型需要有三個重要的特徵,規約也需要達到他自己的性能。如果學件真正變成一個現實的話,可能剛才提到的這些問題都可以得到全面的解決。比如說,因為它本身是可以演進的,所以自己能適應環境;它本身有規約,不再是黑箱;用戶可以把別人的模型作為基礎,更容易得到專家級的性能。分享的是模型而不是分享數據,就避免了數據隱私和數據保護之類的問題。因此,如果學件能成為現實,可以有很多模型放在這個市場里,模型被更多的人用、用得更好,就可以有更高的定價。這樣甚至有可能產生出一個新的產業。我們期望,經過十到十五年的探索以後,也許機器學習可以從「演算法加數據」的形態過渡到「學件」的形態。
推薦閱讀:
※國際上正在醞釀的一場纖維革命,正試圖賦予纖維感知和信息處理功能
※Python學習路線分享 零基礎學Python看什麼書好?
※透明化體驗身臨其境——工博會系列之一
※探索「意識」的起源:從RNA世界假說到人類大腦糾纏網路
※世界類腦AI巨系統研究綜述,論ET大腦是不是全球首個類腦架構AI
TAG:人工智慧 |