您的位置:首頁>科技>正文

張志華:機器學習的發展歷程及啟示

2016年第11期《專欄》

近年來, 人工智慧的強勢崛起, 特別是剛剛過去的AlphaGo和韓國九段棋手李世石的人機大戰, 讓我們領略到了人工智慧技術的巨大潛力。 資料是載體, 智慧是目標, 而機器學習是從資料通往智慧的技術途徑。 因此, 機器學習是資料科學的核心, 是現代人工智慧的本質。

通俗地說, 機器學習就是從資料中挖掘出有價值的資訊。 資料本身是無意識的, 它不能自動呈現出有用的資訊。 怎樣才能找出有價值的東西呢?第一步要給資料一個抽象的表示;接著基於表示進行建模;然後估計模型的參數,

也就是計算;為了應對大規模的資料所帶來的問題, 我們還需要設計一些高效的實現手段, 包括硬體層面和演算法層面。 統計是建模的主要工具和途徑, 而模型求解大多被定義為一個優化問題, 特別是, 頻率派方法其實就是一個優化問題。 而貝葉斯模型的計算則往往牽涉蒙特卡洛(Monte Carlo)隨機抽樣方法。 因此, 機器學習是電腦科學和統計學的交叉學科。

借鑒電腦視覺理論創始人瑪律(Marr)的關於電腦視覺的三級論定義, 我把機器學習也分為三個層次:初級、中級和高級。 初級階段是資料獲取以及特徵的提取。 中級階段是資料處理與分析, 它又包含三個方面:首先是應用問題導向, 簡單地說, 它主要應用已有的模型和方法解決一些實際問題,

我們可以理解為資料採擷;其次, 根據應用問題的需要, 提出和發展模型、方法和演算法以及研究支撐它們的數學原理或理論基礎等, 這是機器學習學科的核心內容;第三, 通過推理達到某種智慧。 高級階段是智慧與認知, 即實現智慧的目標。 資料採擷和機器學習本質上是一樣的, 其區別是資料採擷更接近於資料端, 而機器學習則更接近于智慧端。

統計與計算

今年剛被選為美國科學院院士的卡內基梅隆大學統計系教授沃塞曼(Larry Wasserman)寫了一本名字非常霸道的書:《統計學完全教程》(All of Statistics)。 這本書的引言部分有一個關於統計學與機器學習非常有趣的描述。 沃塞曼認為, 原來統計是在統計系, 電腦是在電腦系,

這兩者是不相來往的, 而且互相都不認同對方的價值。 電腦學家認為那些統計理論沒有用, 不解決問題, 而統計學家則認為電腦學家只是在“重新發明輪子”, 沒有新意。 然而, 他認為現在情況改變了, 統計學家認識到電腦學家正在做出的貢獻, 而電腦學家也認識到統計的理論和方法論的普遍性意義。 所以, 沃塞曼寫了這本書, 可以說這是一本為統計學者寫的電腦領域的書, 為電腦學者寫的統計領域的書。

現在大家達成了一個共識:如果你在用一個機器學習方法, 而不懂其基礎原理, 這是一件非常可怕的事情。 正是由於這個原因, 目前學術界對深度學習還是心存疑慮的。 儘管深度學習已經在實際應用中展示出其強大的能力,

但其中的原理目前大家還不是太清楚。

電腦學家通常具有強大的計算能力和解決問題的直覺, 而統計學家擅長於理論分析和問題建模, 因此, 兩者具有很好的互補性。 Boosting、支持向量機(SVM)、集成學習和稀疏學習是機器學習界也是統計界在近十年或者是近二十年來最為活躍的方向, 這些成果是統計界和電腦科學界共同努力成就的。 例如, 數學家瓦普尼克(Vapnik) 等人早在20世紀60年代就提出了支持向量機的理論, 但直到電腦界於90年代末發明了非常有效的求解演算法, 並隨著後續大量優秀實現代碼的開源, 支持向量機現在成為了分類演算法的一個基準模型。 再比如, 核主成分分析(Kernel Principal Component Analysis, KPCA)是由電腦學家提出的一個非線性降維方法,

其實它等價於經典多維尺度分析(Multi-Dimensional Scaling, MDS)。 而後者在統計界是很早就存在的, 但如果沒有電腦界重新發現, 有些好的東西可能就被埋沒了。

世界上公認最好的兩個統計系來自加州大學伯克利分校和斯坦福大學。 加州大學伯克利分校是美國統計學的發源地之一, 可以說是當今統計學和機器學習的中心, 其機器學習領域的教授通常同時在電腦系和統計系都有正式職位。 已故的布萊曼(Leo Breiman)教授是統計機器學習的主要奠基人, 他是眾多統計學習方法的主要貢獻者, 比如Bagging、分類回歸樹(CART)、隨機森林以及非負garrote稀疏模型等。 布萊曼是喬丹(Michael Jordan)教授的伯樂, 當初是他力主把喬丹從麻省理工學院引進到伯克利分校的。 可以說, 伯克利分校的統計系成就了喬丹,反過來他也為伯克利分校的統計學發展創造了新的活力,為機器學習領域培養了一大批優秀的學者,建立了無可代替的功勳。

斯坦福大學統計系的一個主要方向就是統計學習,比如《統計學習基礎》(Elements of statistical learning)一書就是統計系幾位著名教授撰寫的。斯坦福大學電腦科學系的人工智慧方向一直在世界占主導地位,特別是在不確定推理、概率圖模型、概率機器人等領域成就斐然。他們的網路公開課“機器學習”、“概率圖模型”以及“人工智慧”等讓全世界學者受益。有意思的是,斯坦福大學和伯克利分校具有令人羡慕的合作競爭關係。一年一度的聯合統計學日是兩校統計系的交流平臺。伯克利分校教授布萊曼和斯坦福大學教授弗萊德曼(Jerome Friedman)合作建立了許多重要統計學習模型。此外,兩校教授羅素(Stuart Russell)和諾維格(Peter Norvig)合作的《人工智慧:一種現代的方法》(Artificial Intelligence: A Modern Approach)一書是人工智慧的集大成。

卡內基梅隆大學是一個非常獨特的學校,它並不是美國傳統的常春藤大學。可以說,它是以電腦科學為立校之本,是世界第一個建立機器學習系的學校。蜜雪兒(Tom Mitchell)教授是機器學習的早期建立者之一和守護者,他一直為該校本科生講授“機器學習”課程。這個學校的統計學同樣也是一流,是貝葉斯統計學的世界研究中心。

在機器學習領域,多倫多大學有著舉足輕重的地位,它的機器學習研究組雲集了一批世界級的學者,在《科學》(Science)和《自然》(Nature)發表多篇開創性的論文,實屬罕見。辛頓(Geoffrey Hinton)教授是偉大的思想家,更是實踐者。他是神經網路的建立者之一,是誤差反向傳播(BP)演算法和深度學習的主要貢獻者。正是由於他的不懈努力,神經網路迎來了大爆發。尼爾(Radford Neal)教授是辛頓的學生,他在貝葉斯統計領域,特別是在蒙特卡洛瑪律科夫鏈模擬方法(MCMC)方面做出了一系列的重要工作,還開源了許多貝葉斯統計方法套裝程式,並一直致力於優化R語言。

機器學習的發展歷程

對於20世紀90年代以前的發展歷程,我認識不夠,瞭解不深,覺得當時機器學習處於發展的相對平淡期。而20世紀90年代中期到21世紀00年代中期是機器學習發展的黃金時期,主要標誌是學術界湧現出一批重要成果,比如,基於統計學習理論的支持向量機、隨機森林和Boosting等集成分類方法,概率圖模型,基於再生核理論的非線性資料分析與處理方法,非參數貝葉斯方法,基於正則化理論的稀疏學習模型及應用等等。這些成果奠定了統計學習的理論基礎和框架。

然而,機器學習在21世紀00年代末也經歷了一個短暫的徘徊期。那時我在加州大學伯克利分校的博士後工作結束,正面臨找工作,導師喬丹教授和我進行了多次交流,他一方面認為機器學習正處於困難期,工作職位已趨於飽滿,另一方面他向我一再強調,把統計學引入到機器學習的思路是對的,因為以統計學為基礎的機器學習作為一個學科其地位已經被奠定。主要問題是機器學習是一門應用學科,它需要在工業界發揮作用,能為他們解決實際問題。幸運的是,這個時期很快就過去了。

現在我們可以理直氣壯地說機器學習已經成為電腦科學和人工智慧的主流學科。這主要體現在下面三個標誌性的事件。

第一,2010年2月,加州大學伯克利分校教授喬丹和卡內基梅隆大學教授蜜雪兒同時當選美國工程院院士,同年5月份,喬丹教授又當選為美國科學院院士。隨後幾年,概率圖模型專家科勒(Daphne Koller)當選為美國工程院院士,理論電腦學家和機器學習專家、Boosting的主要建立者之一夏皮爾(Robert Schapire)當選為美國工程院院士和科學院院士。期間,斯坦福大學的統計學家弗萊德曼和提佈施瓦尼(Robert Tibshirani)、伯克利分校的華裔統計學家郁彬,以及卡內基梅隆大學統計學家沃塞曼也先後被選為美國科學院院士。這是一個非常有趣的現象,因為這些學者都在機器學習領域做出了非常重要的貢獻,比如弗萊德曼的工作包括分類回歸樹、多元自我調整回歸(Multivariate Adaptive Regression Splines, MARS)和梯度推進機(Gradient Boosting Machines, GBM)等經典機器學習演算法,而提佈施瓦尼是最小絕對收縮和選擇運算元(Least Absolute Shrinkage and Selection Operator, LASSO)的提出者。此外,優化演算法專家鮑德(Stephen Boyd)當選美國工程院院士,他和范登貝格(Lieven Vandenberghe)的合著《凸優化》(Convex Optimization)可以說風靡機器學習界。今年,機器學習專家、深度學習的領袖、多倫多大學教授辛頓以及該校統計學習專家瑞德(Nancy Reid)分別被選為美國工程院和科學院的外籍院士。

喬丹教授在當時我祝賀他當選為院士時的回信中說,如果以他當選院士這種方式來看待機器學習獲得學術界的認同會更有意義。因此,我理解在美國一個學科能否被接納為主流學科的一個重要標誌是,其代表科學家能否被選為院士。我們知道蜜雪兒是機器學習早期建立者之一,而喬丹是統計機器學習的主要奠基者之一。

第二,2011年的圖靈獎授予了加州大學洛杉磯分校教授珀爾(Judea Pearl),他主要的研究領域是概率圖模型和因果推理,這是機器學習的基礎問題。圖靈獎通常頒給純理論電腦學者,或者早期建立電腦架構或框架的學者。而把圖靈獎授予珀爾教授具有方向標的意義。此外,去年《科學》和《自然》雜誌連續發表了4篇關於機器學習的綜述論文。而且,近幾年在這兩個雜誌上發表的電腦學科論文幾乎都來自機器學習領域。

第三,機器學習切實能被用來幫助工業界解決問題。特別是當下的熱點,比如說深度學習、AlphaGo、無人駕駛汽車、人工智慧助理等對工業界的巨大影響。當今IT的發展已從傳統的微軟模式轉變到穀歌模式。傳統的微軟模式可以理解為製造業,而穀歌模式則是服務業。谷歌搜索完全是免費的,服務社會,他們的搜索做得越來越極致,同時創造的財富也越來越豐厚。

財富蘊藏在資料中,而挖掘財富的核心技術則是機器學習,因此穀歌認為自己是一家機器學習公司。深度學習作為當今最有活力的機器學習方向,在電腦視覺、自然語言理解、語音辨識、智力遊戲等領域的顛覆性成就,造就了一批新興的創業公司。工業界對機器學習領域的人才有大量的需求。不僅僅需要代碼能力強的工程師,也需要有數學建模和解決問題的科學家。

最近有一本尚未出版的書《資料科學基礎》(Foundation of Data Science),作者之一霍普克洛夫特(John Hopcroft)是圖靈獎得主。在這本書前沿部分,提到了電腦科學的發展可以分為三個階段:早期、中期和當今。早期就是讓電腦可以運行起來,其重點在於開發程式語言、編譯技術、作業系統,以及研究支撐它們的數學理論。中期是讓電腦變得有用,變得高效,重點在於研究演算法和資料結構。第三個階段是讓計算機具有更廣泛的應用,發展重點從離散類數學轉到概率和統計。我曾經和霍普克洛夫特交談過幾次,他認為電腦科學發展到今天,機器學習是核心。他正在讀機器學習和深度學習方面的書,並計畫為本科生講授機器學習課程。

現在電腦界戲稱機器學習為“全能學科”,它無所不在。除了有其自身的學科體系外,機器學習還有兩個重要的輻射功能。一是為應用學科提供解決問題的方法與途徑。對於一個應用學科來說,機器學習的目的就是把一些難懂的數學翻譯成讓工程師能夠寫出程式的偽代碼。二是為一些傳統學科,比如統計、理論電腦科學、運籌優化等找到新的研究問題。因此,大多數世界著名大學的電腦學科把機器學習或人工智慧列為核心方向,擴大機器學習領域的教師規模,而且至少要保持兩三個機器學習研究方向具有一流競爭力。有些電腦專業有1/3甚至1/2的研究生選修機器學習或人工智慧。

機器學習現在已成為統計學的一個主流方向,許多著名大學的統計系紛紛從機器學習領域招聘教授,比如斯坦福大學統計系新進的兩位助理教授來自機器學習專業。計算在統計領域已經變得越來越重要,傳統多元統計分析是以矩陣分解為計算工具,現代高維統計則是以優化為計算工具。

機器學習發展的啟示

機器學習的發展歷程告訴我們:發展一個學科需要一個務實的態度。時髦的概念和名字無疑對學科的普及有一定的推動作用,但學科的根本還是所研究的問題、方法、技術和支撐的基礎等,以及為社會產生的價值。

“機器學習”是個很酷的名字,簡單地按照字面理解,它的目的是讓機器能像人一樣具有學習能力。但在其十年的黃金髮展期,機器學習界並沒有過多地炒作“智慧”或者“認知”,而是關注於引入統計學等來建立學科的理論基礎,面向資料分析與處理,以無監督學習和有監督學習為兩大主要的研究問題,提出和開發了一系列模型、方法和計算演算法等,切實地解決了工業界所面臨的一些實際問題。近幾年,因為大資料的驅動和計算能力的極大提升,一批面向機器學習的底層架構先後被開發出來。神經網路其實在20世紀80年代末或90年代初就被廣泛研究,但後來沉寂了。近幾年,基於深度學習的神經網路強勢崛起,給工業界帶來了深刻的變革和機遇。深度學習的成功不是源自腦科學或認知科學的進展,而是因為大資料的驅動和計算能力的極大提升。

機器學習的發展詮釋了多學科交叉的重要性和必要性。然而這種交叉不是簡單地彼此知道幾個名詞或概念就可以的,是需要真正的融會貫通。統計學家弗萊德曼早期從事物理學研究,他是優化演算法大師,而且他的程式設計能力同樣令人讚歎。喬丹教授既是一流的電腦學家,又是一流的統計學家,而他的博士專業為心理學,他能夠承擔起建立統計機器學習的重任。辛頓教授是世界最著名的認知心理學家和電腦科學家。雖然他很早就成就斐然,在學術界聲名鵲起,但他依然始終活躍在一線,自己寫代碼。他提出的許多想法簡單、可行又非常有效,被稱為偉大的思想家。正是由於他的睿智和身體力行,深度學習技術迎來了革命性的突破。這些學者非常務實,從不提那些空洞無物的概念和框架。他們遵循自下而上的方式,從具體問題、模型、方法、演算法等著手,一步一步實現系統化。

可以說機器學習是由學術界、工業界、創業界(或競賽界)等合力造就的。學術界是引擎,工業界是驅動,創業界是活力和未來。學術界和工業界應該有各自的職責和分工。學術界的職責在於建立和發展機器學習學科,培養機器學習領域的專門人才;而大專案、大工程更應該由市場來驅動,由工業界來實施和完成。

我國機器學習發展現狀和出路

機器學習在我國得到了廣泛的關注,也取得了一定的成績,但我覺得大多數研究集中在資料採擷層面,我國從事純粹機器學習研究的學者屈指可數。在電腦學術界,理論、方法等基礎性的研究沒有得到足夠重視,一些理論背景深厚的領域甚至被邊緣化。而一些“過剩學科”、“夕陽學科”則聚集了大量的人力、財力,這使得我國在國際主流電腦領域中缺乏競爭力和影響力。

統計學在我國還是一個弱勢學科,最近才被國家定為一級學科。我國統計學處於兩個極端,一是它被當作數學的一個分支,主要研究概率論、隨機過程以及數理統計理論等。二是它被劃為經濟學的分支,主要研究經濟分析中的應用。而機器學習在統計學界還沒有被深度地關注。統計學和電腦科學仍處於沃塞曼所說的“各自為戰”階段。

我國電腦學科的培養體系還基本停留在早期發展階段,如今的學生從小就與電腦接觸,他們的程式設計能力和國外學生相比沒有任何劣勢。但由於理論知識一直沒有被充分重視,而且統計學的重要性沒有被充分認識到,這些造成了學生的數學能力和國外著名高校相比差距很大。我國大多數大學電腦專業的本科生都開設了人工智慧課程,研究生則開設了機器學習課程,但無論是深度、寬度還是知識結構都落後於學科的發展,不能適應時代的需要。因此,人才的培養無論是品質還是數量都無法滿足工業界的迫切需求。

目前資料科學專業在我國得到了極大的關注,北京大學、復旦大學和中國人民大學等依託雄厚的統計學實力紛紛建立了資料科學專業或大資料研究院,並已經開始招收本科生和研究生。但是目前還沒有一所大學開設機器學習專業。機器學習對其他應用或理論學科有輻射作用,也是連接兩者的紐帶。一方面它可以為理論端儲備人才,另一方面可以結合不同領域問題,比如醫療資料、金融資料、圖像視頻資料等,為應用端輸送人才。因此,我認為在電腦科學本科專業中,增加機器學習的訓練是必要的。

機器學習集技術、科學與藝術於一體,它有別于傳統人工智慧,是現代人工智慧的核心。它牽涉到統計、優化、矩陣分析、理論電腦、程式設計、分散式運算等。因此,建議在已有的電腦專業本科生課程的基礎上,適當加強概率、統計和矩陣分析等課程,下面是具體課程設置和相關教材的建議:

1.加強概率與統計的基礎課程,建議採用莫里斯·德格魯特(Morris H. DeGroot)和馬克·舍維什(Mark J. Schervish)合著的第四版《概率論與數理統計》(Probability and Statistics)為教材。

2.在線性代數課程裡,加強矩陣分析的內容。教材建議使用吉伯特·斯特朗(Gilbert Strang)的《線性代數導論》(Introduction to Linear Algebra)。吉伯特·斯特朗在麻省理工學院一直講述線性代數,他的網上視頻課程堪稱經典。後續建議開設矩陣計算,採用特雷費森·勞埃德(Trefethen N. Lloyd)和大衛·鮑(David Bau lll)著作的《數值線性代數》(Numerical Linear Algebra)為教科書。

3.開設機器學習課程。機器學習有許多經典的書籍,但大多不太適宜做本科生的教材。最近,麻省理工學院出版的約翰·凱萊赫(John D. Kelleher)和布瑞恩·麥克·納米(Brian Mac Namee)等人著作的《機器學習基礎之預測資料分析》(Fundamentals of Machine Learning for Predictive Data Analytics),或者安得烈·韋伯(Andrew R. Webb)和基斯·科普塞(Keith D. Copsey)合著的第三版《統計模式識別》(Statistical Pattern Recognition)比較適合作為本科生的教科書。同時建議課程設置實踐環節,讓學生嘗試將機器學習方法應用到某些特定問題中。

此外,我建議設立以下課程作為本科電腦專業的提高課程或者榮譽課程。特別是,國內有些大學電腦專業設立了拔尖人才項目,我認為以下課程可以考慮列入該項目的培養計畫中。事實上,上海交通大學ACM班就開設了隨機演算法和統計機器學習等課程。

1.開設數值優化課程,建議參考教材喬治·諾塞達爾(Jorge Nocedal)和史蒂芬·賴特(Stephen J. Wright)的第二版《數值優化》(Numerical Optimization) ,或者開設數值分析,建議採用蒂莫西·索爾的《數值分析》(Numerical Analysis)為教材。

2.加強演算法課程,增加高級演算法,比如隨機演算法,參考教材是邁克爾·米曾馬克(Michael Mitzenmacher)和伊萊·阿普法(Eli Upfal)的《概率與計算:隨機演算法與概率分析》(Probability and Computing: Randomized Algorithms and Probabilistic Analysis)。

3.在程式設計方面,增加或加強平行計算的內容。特別是在深度學習技術的執行中,通常需要GPU加速,可以使用大衛·柯克 (David B. Kirk) 和胡文美(Wen-mei W. Hwu)的教材 《大規模並行處理器程式設計實戰》(第二版)(Programming Massively Parallel Processors: A Hands-on Approach, Second Edition);另外,還可以參考優達學城(Udacity)上英偉達(Nvidia)講解CUDA計算的公開課。

總之,我認為以電腦科學為主導,聯合統計和應用數學專業,開設機器學習研究生專業是值得考慮的。研究生專業應該圍繞理論機器學習、概率與隨機圖模型、貝葉斯方法、大規模優化演算法、深度學習等基礎機器學習領域。建議開設理論機器學習、概率圖模型、統計推斷與貝葉斯分析、凸分析與優化、強化學習、資訊理論等課程[1~8]。

我國人工智慧發展的根本出路在於教育。只有培養出一批批數理基礎深厚、動手執行力極強,有真正融合交叉能力和國際視野的人才,我們才會有大作為。

致謝:

張志華

北京大學概率統計系教授。曾在浙江大學和上海交通大學電腦系任教。主要從事機器學習與應用統計等領域的教學與科研工作。

zhzzhang@gmail.com

往期精彩文章

一周入門機器學習靠譜嗎?這有一份詳細的學習日程表

伯克利分校的統計系成就了喬丹,反過來他也為伯克利分校的統計學發展創造了新的活力,為機器學習領域培養了一大批優秀的學者,建立了無可代替的功勳。

斯坦福大學統計系的一個主要方向就是統計學習,比如《統計學習基礎》(Elements of statistical learning)一書就是統計系幾位著名教授撰寫的。斯坦福大學電腦科學系的人工智慧方向一直在世界占主導地位,特別是在不確定推理、概率圖模型、概率機器人等領域成就斐然。他們的網路公開課“機器學習”、“概率圖模型”以及“人工智慧”等讓全世界學者受益。有意思的是,斯坦福大學和伯克利分校具有令人羡慕的合作競爭關係。一年一度的聯合統計學日是兩校統計系的交流平臺。伯克利分校教授布萊曼和斯坦福大學教授弗萊德曼(Jerome Friedman)合作建立了許多重要統計學習模型。此外,兩校教授羅素(Stuart Russell)和諾維格(Peter Norvig)合作的《人工智慧:一種現代的方法》(Artificial Intelligence: A Modern Approach)一書是人工智慧的集大成。

卡內基梅隆大學是一個非常獨特的學校,它並不是美國傳統的常春藤大學。可以說,它是以電腦科學為立校之本,是世界第一個建立機器學習系的學校。蜜雪兒(Tom Mitchell)教授是機器學習的早期建立者之一和守護者,他一直為該校本科生講授“機器學習”課程。這個學校的統計學同樣也是一流,是貝葉斯統計學的世界研究中心。

在機器學習領域,多倫多大學有著舉足輕重的地位,它的機器學習研究組雲集了一批世界級的學者,在《科學》(Science)和《自然》(Nature)發表多篇開創性的論文,實屬罕見。辛頓(Geoffrey Hinton)教授是偉大的思想家,更是實踐者。他是神經網路的建立者之一,是誤差反向傳播(BP)演算法和深度學習的主要貢獻者。正是由於他的不懈努力,神經網路迎來了大爆發。尼爾(Radford Neal)教授是辛頓的學生,他在貝葉斯統計領域,特別是在蒙特卡洛瑪律科夫鏈模擬方法(MCMC)方面做出了一系列的重要工作,還開源了許多貝葉斯統計方法套裝程式,並一直致力於優化R語言。

機器學習的發展歷程

對於20世紀90年代以前的發展歷程,我認識不夠,瞭解不深,覺得當時機器學習處於發展的相對平淡期。而20世紀90年代中期到21世紀00年代中期是機器學習發展的黃金時期,主要標誌是學術界湧現出一批重要成果,比如,基於統計學習理論的支持向量機、隨機森林和Boosting等集成分類方法,概率圖模型,基於再生核理論的非線性資料分析與處理方法,非參數貝葉斯方法,基於正則化理論的稀疏學習模型及應用等等。這些成果奠定了統計學習的理論基礎和框架。

然而,機器學習在21世紀00年代末也經歷了一個短暫的徘徊期。那時我在加州大學伯克利分校的博士後工作結束,正面臨找工作,導師喬丹教授和我進行了多次交流,他一方面認為機器學習正處於困難期,工作職位已趨於飽滿,另一方面他向我一再強調,把統計學引入到機器學習的思路是對的,因為以統計學為基礎的機器學習作為一個學科其地位已經被奠定。主要問題是機器學習是一門應用學科,它需要在工業界發揮作用,能為他們解決實際問題。幸運的是,這個時期很快就過去了。

現在我們可以理直氣壯地說機器學習已經成為電腦科學和人工智慧的主流學科。這主要體現在下面三個標誌性的事件。

第一,2010年2月,加州大學伯克利分校教授喬丹和卡內基梅隆大學教授蜜雪兒同時當選美國工程院院士,同年5月份,喬丹教授又當選為美國科學院院士。隨後幾年,概率圖模型專家科勒(Daphne Koller)當選為美國工程院院士,理論電腦學家和機器學習專家、Boosting的主要建立者之一夏皮爾(Robert Schapire)當選為美國工程院院士和科學院院士。期間,斯坦福大學的統計學家弗萊德曼和提佈施瓦尼(Robert Tibshirani)、伯克利分校的華裔統計學家郁彬,以及卡內基梅隆大學統計學家沃塞曼也先後被選為美國科學院院士。這是一個非常有趣的現象,因為這些學者都在機器學習領域做出了非常重要的貢獻,比如弗萊德曼的工作包括分類回歸樹、多元自我調整回歸(Multivariate Adaptive Regression Splines, MARS)和梯度推進機(Gradient Boosting Machines, GBM)等經典機器學習演算法,而提佈施瓦尼是最小絕對收縮和選擇運算元(Least Absolute Shrinkage and Selection Operator, LASSO)的提出者。此外,優化演算法專家鮑德(Stephen Boyd)當選美國工程院院士,他和范登貝格(Lieven Vandenberghe)的合著《凸優化》(Convex Optimization)可以說風靡機器學習界。今年,機器學習專家、深度學習的領袖、多倫多大學教授辛頓以及該校統計學習專家瑞德(Nancy Reid)分別被選為美國工程院和科學院的外籍院士。

喬丹教授在當時我祝賀他當選為院士時的回信中說,如果以他當選院士這種方式來看待機器學習獲得學術界的認同會更有意義。因此,我理解在美國一個學科能否被接納為主流學科的一個重要標誌是,其代表科學家能否被選為院士。我們知道蜜雪兒是機器學習早期建立者之一,而喬丹是統計機器學習的主要奠基者之一。

第二,2011年的圖靈獎授予了加州大學洛杉磯分校教授珀爾(Judea Pearl),他主要的研究領域是概率圖模型和因果推理,這是機器學習的基礎問題。圖靈獎通常頒給純理論電腦學者,或者早期建立電腦架構或框架的學者。而把圖靈獎授予珀爾教授具有方向標的意義。此外,去年《科學》和《自然》雜誌連續發表了4篇關於機器學習的綜述論文。而且,近幾年在這兩個雜誌上發表的電腦學科論文幾乎都來自機器學習領域。

第三,機器學習切實能被用來幫助工業界解決問題。特別是當下的熱點,比如說深度學習、AlphaGo、無人駕駛汽車、人工智慧助理等對工業界的巨大影響。當今IT的發展已從傳統的微軟模式轉變到穀歌模式。傳統的微軟模式可以理解為製造業,而穀歌模式則是服務業。谷歌搜索完全是免費的,服務社會,他們的搜索做得越來越極致,同時創造的財富也越來越豐厚。

財富蘊藏在資料中,而挖掘財富的核心技術則是機器學習,因此穀歌認為自己是一家機器學習公司。深度學習作為當今最有活力的機器學習方向,在電腦視覺、自然語言理解、語音辨識、智力遊戲等領域的顛覆性成就,造就了一批新興的創業公司。工業界對機器學習領域的人才有大量的需求。不僅僅需要代碼能力強的工程師,也需要有數學建模和解決問題的科學家。

最近有一本尚未出版的書《資料科學基礎》(Foundation of Data Science),作者之一霍普克洛夫特(John Hopcroft)是圖靈獎得主。在這本書前沿部分,提到了電腦科學的發展可以分為三個階段:早期、中期和當今。早期就是讓電腦可以運行起來,其重點在於開發程式語言、編譯技術、作業系統,以及研究支撐它們的數學理論。中期是讓電腦變得有用,變得高效,重點在於研究演算法和資料結構。第三個階段是讓計算機具有更廣泛的應用,發展重點從離散類數學轉到概率和統計。我曾經和霍普克洛夫特交談過幾次,他認為電腦科學發展到今天,機器學習是核心。他正在讀機器學習和深度學習方面的書,並計畫為本科生講授機器學習課程。

現在電腦界戲稱機器學習為“全能學科”,它無所不在。除了有其自身的學科體系外,機器學習還有兩個重要的輻射功能。一是為應用學科提供解決問題的方法與途徑。對於一個應用學科來說,機器學習的目的就是把一些難懂的數學翻譯成讓工程師能夠寫出程式的偽代碼。二是為一些傳統學科,比如統計、理論電腦科學、運籌優化等找到新的研究問題。因此,大多數世界著名大學的電腦學科把機器學習或人工智慧列為核心方向,擴大機器學習領域的教師規模,而且至少要保持兩三個機器學習研究方向具有一流競爭力。有些電腦專業有1/3甚至1/2的研究生選修機器學習或人工智慧。

機器學習現在已成為統計學的一個主流方向,許多著名大學的統計系紛紛從機器學習領域招聘教授,比如斯坦福大學統計系新進的兩位助理教授來自機器學習專業。計算在統計領域已經變得越來越重要,傳統多元統計分析是以矩陣分解為計算工具,現代高維統計則是以優化為計算工具。

機器學習發展的啟示

機器學習的發展歷程告訴我們:發展一個學科需要一個務實的態度。時髦的概念和名字無疑對學科的普及有一定的推動作用,但學科的根本還是所研究的問題、方法、技術和支撐的基礎等,以及為社會產生的價值。

“機器學習”是個很酷的名字,簡單地按照字面理解,它的目的是讓機器能像人一樣具有學習能力。但在其十年的黃金髮展期,機器學習界並沒有過多地炒作“智慧”或者“認知”,而是關注於引入統計學等來建立學科的理論基礎,面向資料分析與處理,以無監督學習和有監督學習為兩大主要的研究問題,提出和開發了一系列模型、方法和計算演算法等,切實地解決了工業界所面臨的一些實際問題。近幾年,因為大資料的驅動和計算能力的極大提升,一批面向機器學習的底層架構先後被開發出來。神經網路其實在20世紀80年代末或90年代初就被廣泛研究,但後來沉寂了。近幾年,基於深度學習的神經網路強勢崛起,給工業界帶來了深刻的變革和機遇。深度學習的成功不是源自腦科學或認知科學的進展,而是因為大資料的驅動和計算能力的極大提升。

機器學習的發展詮釋了多學科交叉的重要性和必要性。然而這種交叉不是簡單地彼此知道幾個名詞或概念就可以的,是需要真正的融會貫通。統計學家弗萊德曼早期從事物理學研究,他是優化演算法大師,而且他的程式設計能力同樣令人讚歎。喬丹教授既是一流的電腦學家,又是一流的統計學家,而他的博士專業為心理學,他能夠承擔起建立統計機器學習的重任。辛頓教授是世界最著名的認知心理學家和電腦科學家。雖然他很早就成就斐然,在學術界聲名鵲起,但他依然始終活躍在一線,自己寫代碼。他提出的許多想法簡單、可行又非常有效,被稱為偉大的思想家。正是由於他的睿智和身體力行,深度學習技術迎來了革命性的突破。這些學者非常務實,從不提那些空洞無物的概念和框架。他們遵循自下而上的方式,從具體問題、模型、方法、演算法等著手,一步一步實現系統化。

可以說機器學習是由學術界、工業界、創業界(或競賽界)等合力造就的。學術界是引擎,工業界是驅動,創業界是活力和未來。學術界和工業界應該有各自的職責和分工。學術界的職責在於建立和發展機器學習學科,培養機器學習領域的專門人才;而大專案、大工程更應該由市場來驅動,由工業界來實施和完成。

我國機器學習發展現狀和出路

機器學習在我國得到了廣泛的關注,也取得了一定的成績,但我覺得大多數研究集中在資料採擷層面,我國從事純粹機器學習研究的學者屈指可數。在電腦學術界,理論、方法等基礎性的研究沒有得到足夠重視,一些理論背景深厚的領域甚至被邊緣化。而一些“過剩學科”、“夕陽學科”則聚集了大量的人力、財力,這使得我國在國際主流電腦領域中缺乏競爭力和影響力。

統計學在我國還是一個弱勢學科,最近才被國家定為一級學科。我國統計學處於兩個極端,一是它被當作數學的一個分支,主要研究概率論、隨機過程以及數理統計理論等。二是它被劃為經濟學的分支,主要研究經濟分析中的應用。而機器學習在統計學界還沒有被深度地關注。統計學和電腦科學仍處於沃塞曼所說的“各自為戰”階段。

我國電腦學科的培養體系還基本停留在早期發展階段,如今的學生從小就與電腦接觸,他們的程式設計能力和國外學生相比沒有任何劣勢。但由於理論知識一直沒有被充分重視,而且統計學的重要性沒有被充分認識到,這些造成了學生的數學能力和國外著名高校相比差距很大。我國大多數大學電腦專業的本科生都開設了人工智慧課程,研究生則開設了機器學習課程,但無論是深度、寬度還是知識結構都落後於學科的發展,不能適應時代的需要。因此,人才的培養無論是品質還是數量都無法滿足工業界的迫切需求。

目前資料科學專業在我國得到了極大的關注,北京大學、復旦大學和中國人民大學等依託雄厚的統計學實力紛紛建立了資料科學專業或大資料研究院,並已經開始招收本科生和研究生。但是目前還沒有一所大學開設機器學習專業。機器學習對其他應用或理論學科有輻射作用,也是連接兩者的紐帶。一方面它可以為理論端儲備人才,另一方面可以結合不同領域問題,比如醫療資料、金融資料、圖像視頻資料等,為應用端輸送人才。因此,我認為在電腦科學本科專業中,增加機器學習的訓練是必要的。

機器學習集技術、科學與藝術於一體,它有別于傳統人工智慧,是現代人工智慧的核心。它牽涉到統計、優化、矩陣分析、理論電腦、程式設計、分散式運算等。因此,建議在已有的電腦專業本科生課程的基礎上,適當加強概率、統計和矩陣分析等課程,下面是具體課程設置和相關教材的建議:

1.加強概率與統計的基礎課程,建議採用莫里斯·德格魯特(Morris H. DeGroot)和馬克·舍維什(Mark J. Schervish)合著的第四版《概率論與數理統計》(Probability and Statistics)為教材。

2.在線性代數課程裡,加強矩陣分析的內容。教材建議使用吉伯特·斯特朗(Gilbert Strang)的《線性代數導論》(Introduction to Linear Algebra)。吉伯特·斯特朗在麻省理工學院一直講述線性代數,他的網上視頻課程堪稱經典。後續建議開設矩陣計算,採用特雷費森·勞埃德(Trefethen N. Lloyd)和大衛·鮑(David Bau lll)著作的《數值線性代數》(Numerical Linear Algebra)為教科書。

3.開設機器學習課程。機器學習有許多經典的書籍,但大多不太適宜做本科生的教材。最近,麻省理工學院出版的約翰·凱萊赫(John D. Kelleher)和布瑞恩·麥克·納米(Brian Mac Namee)等人著作的《機器學習基礎之預測資料分析》(Fundamentals of Machine Learning for Predictive Data Analytics),或者安得烈·韋伯(Andrew R. Webb)和基斯·科普塞(Keith D. Copsey)合著的第三版《統計模式識別》(Statistical Pattern Recognition)比較適合作為本科生的教科書。同時建議課程設置實踐環節,讓學生嘗試將機器學習方法應用到某些特定問題中。

此外,我建議設立以下課程作為本科電腦專業的提高課程或者榮譽課程。特別是,國內有些大學電腦專業設立了拔尖人才項目,我認為以下課程可以考慮列入該項目的培養計畫中。事實上,上海交通大學ACM班就開設了隨機演算法和統計機器學習等課程。

1.開設數值優化課程,建議參考教材喬治·諾塞達爾(Jorge Nocedal)和史蒂芬·賴特(Stephen J. Wright)的第二版《數值優化》(Numerical Optimization) ,或者開設數值分析,建議採用蒂莫西·索爾的《數值分析》(Numerical Analysis)為教材。

2.加強演算法課程,增加高級演算法,比如隨機演算法,參考教材是邁克爾·米曾馬克(Michael Mitzenmacher)和伊萊·阿普法(Eli Upfal)的《概率與計算:隨機演算法與概率分析》(Probability and Computing: Randomized Algorithms and Probabilistic Analysis)。

3.在程式設計方面,增加或加強平行計算的內容。特別是在深度學習技術的執行中,通常需要GPU加速,可以使用大衛·柯克 (David B. Kirk) 和胡文美(Wen-mei W. Hwu)的教材 《大規模並行處理器程式設計實戰》(第二版)(Programming Massively Parallel Processors: A Hands-on Approach, Second Edition);另外,還可以參考優達學城(Udacity)上英偉達(Nvidia)講解CUDA計算的公開課。

總之,我認為以電腦科學為主導,聯合統計和應用數學專業,開設機器學習研究生專業是值得考慮的。研究生專業應該圍繞理論機器學習、概率與隨機圖模型、貝葉斯方法、大規模優化演算法、深度學習等基礎機器學習領域。建議開設理論機器學習、概率圖模型、統計推斷與貝葉斯分析、凸分析與優化、強化學習、資訊理論等課程[1~8]。

我國人工智慧發展的根本出路在於教育。只有培養出一批批數理基礎深厚、動手執行力極強,有真正融合交叉能力和國際視野的人才,我們才會有大作為。

致謝:

張志華

北京大學概率統計系教授。曾在浙江大學和上海交通大學電腦系任教。主要從事機器學習與應用統計等領域的教學與科研工作。

zhzzhang@gmail.com

往期精彩文章

一周入門機器學習靠譜嗎?這有一份詳細的學習日程表

Next Article
喜欢就按个赞吧!!!
点击关闭提示