CNCC 2016 | 周志華 57 張 PPT 揭開機器學習本質

雷鋒網按:本文根據周志華教授今天上午在 CNCC 2016 上所做的大會特邀報告《機器學習:發展與未來》編輯整理而來,在未改變原意的基礎上略作了刪減。

周志華, CCF 會士、常務理事、人工智能專委主任。南京大學教授,校學術委員會委員,計算機軟件新技術國家重點實驗室常務副主任。AAAI Fellow, IEEE Fellow, IAPR Fellow,ACM 傑出科學家。長江學者特聘教授、國家傑出青年科學基金獲得者。

主要從事人工智能、機器學習、數據挖掘等領域的研究。著有《Ensemble Methods: Foundations and Algorithms》、《機器學習》。在本領域頂級期刊會議發表論文百餘篇,被引用2萬餘次。獲發明專利14項,多種技術在企業應用中取得成效。

任《Frontiers in Computer Science》執行主編及多種國內外學術期刊副主編、編委;亞洲機器學習大會創始人,國際人工智能聯合大會(IJCAI)顧問委員會成員,IEEE 數據挖掘大會(ICDM)等數十次國內外學術會議主席;IEEE 計算智能學會數據挖掘技術委員會主席等。曾獲國家自然科學二等獎、兩次教育部自然科學一等獎、亞太數據挖掘卓越貢獻獎、12 次國際期刊 / 會議論文 / 競賽獎等。

周志華教授作爲特邀嘉賓發表報告

在過去的二十年中,人類手機、存儲、傳輸、處理數據的能力取得了飛速發展,亟需能有效地對數據進行分析利用的計算機算法。機器學習作爲智能數據分析算法的源泉,順應了大時代的這個迫切需求,因此自然地取得了巨大發展、受到了廣泛關注。

“現在是大數據時代,但是大數據不等於大價值。”

我們要從大數據裏面得到價值的話,就必須要有一些有效的數據分析。正因爲這個原因,這幾年機器學習特別熱。這是從人工智能裏面產生的一個學科,利用經驗改善系統學習。在計算機系統裏面,不管是什麼經驗,一定是以數據的形式呈現的。所以機器學習必須對數據分析,這個領域發展到今天主要是研究智能數據分析的理論和方法。我們可以看到圖靈獎連續兩年授予在這方面取得突出成就的學者,這其實一定程度上也表現出了大會對此的重視。

那麼究竟什麼是機器學習?這裏給出一個具體的實例。

|“文獻篩選”的故事

  • 什麼是文獻篩選呢?

這是“循證醫學”中,針對特定的臨牀問題,先要對相關研究報告進行詳盡評估。那麼人們一般通過 PubMed 獲取相關候選論文的摘要,然後通過人工的方式找到值得全文審讀的文章。

  • 爲什麼要這麼做呢?

我們都知道,現在優質醫學資源非常稀缺,爲了緩解這個問題,國外產生了一種叫做“循證醫學”的做法。以後患病了不是先去找專家,而是先去看一看文選資料,因爲很可能已經有人患過,甚至已經有醫生診治過這個病,發表過論文。那麼如果我們暴露裏面和這個病相關的最新技術,把它彙集起來,很可能就能得到很好的解決方案。

  • 如何實現這個想法呢?

第一步,我們要從這個浩如煙海的醫學文獻裏面,把可能有關的文章彙集出來。現在有很多基礎工作建設,例如在醫學上有 Pub Med 的系統,我們還可以用谷歌學術等搜索關鍵詞,就能搜到很多文章。但這些檢索出來的文章和我們真正需要的可能還有很大的距離,因爲他可能只是僅僅包含搜索的關鍵詞而已。

所以第二步就需要請人類專家來過濾它們,找出到底哪些東西需要深入研究。這部分的工作量有多大呢?我們舉個例子,在一個關於嬰兒和兒童殘疾的疾病研究裏面,這個美國 Tufts 醫學中心在第一步的篩選之後就拿到了 33000 篇摘要。中心的專家效率非常高,他們每三十秒鐘就可以過濾 1 篇。但就算這樣,這個工作還是要做 250 個小時。可想而知,就算一個醫生三十秒鐘看一篇文章,一天八小時不吃飯、不喝水、不休息,也需要一個多月才能完成。而且糟糕的是每一項新的研究我們都要重複這個麻煩的過程。還有更可怕的是,隨着醫學的發展,我們發表的論文數量也越來越多。

所以如果沒有其他解決途徑,“循證醫學”可能就沒有未來了。爲了解決這個問題,降低昂貴的成本,Tufts 醫學中心引入了機器學習技術。

  • 怎麼來做呢?

我們挑出大量的文章,只邀請熟練的專家判斷是有關還是無關的,然後基於這個信息建立一個分類模型,用這個分類模型對剩下沒有看過的文章做一次預測。其中相關的文章再請專家來審讀,這樣的話,專家需要讀的東西就會大幅度減少。

這樣做之後,得到的性能指標已經非常接近、甚至一定程度上超過了原來專家過濾的效果。因爲我們知道一個專家三十秒鐘讀一篇文章,需要連續工作一個月,而且中間出錯的可能性太多。現在用機器學習來做只需要一天時間,所以被當成是機器學習對現在機器醫學發展的一個很重要貢獻而報道出來。

這裏面非常關鍵的一步就是我們怎麼樣把這個分配模型做出來,其實就是用的機器學習。

| 一張 PPT 說清機器學習過程

現在假設把數據組織成一個表格的形式,每一行表示一個對象或者一個事件,每一列表示我刻畫的對象的屬性。比如說每一行指的就是“西瓜”,那最後我們特別關心的是這個“西瓜”好還是不好,我們把它叫做類別標籤。

之後,我們經過一個訓練過程就得到了模型,今後我們拿到一個沒有見過的新數據時,只要知道它的輸入,把輸入提供給這個模型,這個模型就可以給你一個結果,究竟是好的還是不好的“西瓜”。

所以在現實生活中,我們碰到的各種各樣的分類預測預報問題,抽樣出來看,如果在計算機上通過數據驅動的方式來解決它,其實就是在做一個機器學習的過程。

把數據變成模型要用到學習算法。有一種說法是計算機科學就是關於算法的學問。那如果從這個道理上來講的話,機器學習其實就是關於學習算法的設計分析和每個學科領域的應用。

| 人工智能的三個階段

機器學習本身確實是起源於人工智能,而我們都知道人工智能是 1956 年達特茅斯會議上誕生的。到今天恰恰是六十週年。那麼在過去的六十年裏面,其實我們從人工智能的主流技術上看,可以認爲是經過了三個階段。

在最早的一個階段,大家都認爲要把邏輯推理能力賦予計算機系統,這個是最重要的。因爲我們都認爲數學家特別的聰明,而數學家最重要的能力就是邏輯推理,所以在那個時期的很多重要工作中,最有代表性的就是西蒙和紐厄爾做的自動定理證明系統,後來這兩位也因爲這個貢獻獲得了七五年的圖靈獎。

但是後來慢慢的就發現光有邏輯推理能力是不夠的,因爲就算是數學家,他也需要有很多知識,否則的話也證明不出定理來。所以這個時候,主流技術的研究就很自然地進入了第二階段。

大家開始思考怎麼樣把我們人類的知識總結出來,交給計算機系統,這裏面的代表就是知識工程專家系統。像知識工程之父愛德華·費根鮑姆就因爲這個貢獻獲得了 1994 年的圖靈獎。

但是接下來大家就發現要把知識總結出來交給計算機,這個實在太難了。一方面總結知識很難,另外一方面在有些領域裏面,專家實際上是不太願意分享他的經驗的。

所以到底怎麼解決這個問題呢?我們想到人的知識就是通過學習來的,所以很自然的人工智能的研究就進入了第三個階段。

這時候機器學習作爲這個階段的主流研究內容,可以看到機器學習本身其實就是作爲突破知識工程的一個武器而出現的。但是,事實上並沒有達到目的,今天大多數的機器學習的結果都是以黑箱的形式存在的。另外一方面,爲什麼機器學習這麼熱門呢?其實恰恰是因爲在二十世紀九十年代中後期,我們人類蒐集、存儲、管理、處理數據的能力大幅度提升,這時候迫切需要數據分析的技術,而機器學習恰恰是迎合了這個大時代的需求,所以才變得特別的重要。

今天的社會,機器學習已經可以說是無所不在了,不管是互聯網搜索、生物特徵識別、汽車自動駕駛、還是火星機器人,甚至是美國總統選舉,包括軍事決策助手等等,基本上只要有數據需要分析,可能就可以用到機器學習。

機器學習這個學科裏產生出了很多種有效的機器學習的技術和算法,但是更重要的就是機器學習是一個有堅實理論基礎的學科,其中最重要的就是計算學習理論。

而計算學習理論中最重要的一個理論模型就是概率近似正確模型 —— PAC。它的提出者 Valiant 教授也因此獲得了圖靈獎。

| 關於未來 —— 技術

2006 年 Hinton 在 Nature 發表了關於深度學習的文章。2012 年他又組隊參加 ImageNet,獲得冠軍。冠軍沒什麼特別的,因爲每年都有冠軍。但超過第二名 10 個百分點的成績引起了大家的注意,深度學習就此興起,現在深度學習的應用越來越廣泛了。

所以如果折中一下,從 2010 年至今,深度學習的熱潮已經 6 年了

從技術層面來看,深度學習其實就是很多層的神經網絡。這裏畫了一個三層的神經網絡,就是所謂的一個神經元,通過很多連接連接在一起。那麼每個神經元就是一個所謂的 M-P 模型。

所謂的一個神經元其實就是這麼一個函數,我們所謂的神經網絡其實就是很多這樣的多層函數嵌套形式的數學模型,它在一定程度上受到了這個生物神經技術的啓發,但是更重要的是數學和工程上的東西在支撐。

最著名的深度學習模型叫做卷積神經網絡(CNN),其實早在 1995 年就提出了,但爲什麼現在才火呢?要先提兩個問題:

  • 有多深?

  • 爲何深?

提升模型的複雜度可以提升學習能力,增加模型深度比寬度更有效,但提升模型的複雜度並不一定有利,因爲存在過擬合和計算開銷大的問題。

跳出這些技術細節來看,深度學習最重要的作用是表示學習。所以也就知道了深度學習究竟適用何處?


那麼關於深度學習會有很多問題,這裏統一到一句話:深度學習會不會“一統江湖、千秋萬載”?

我們可以看到非常清楚的交替模式:熱十年冷十五年。

但這真的是巧合嗎?我們不妨把每次繁榮的開始時間往前推 5-8 年,可以找到規律。 

所以,在技術層面對於未來的一個判斷是:未必是深度學習,但應該是能有效利用 GPU 等計算設備的方法。

| 關於未來 —— 任務

談到任務,需要提一提前段時間的 AlphaGo,被認爲是機器學習的偉大勝利。但是學界普遍認爲這並不能代表機器學習就是人工智能的未來,尤其是通用人工智能。

爲什麼這麼說?這裏只講簡單的一點。

在 3 月 13 日李世石九段下出了“神之一手”,後來 Deepmind 團隊透露:錯誤發生在第 79 手,但 AlphaGo 知道第 87 手才發覺,這期間它始終認爲自己仍然領先。

這裏點出了一個關鍵問題:魯棒性

人類犯錯:水平從九段降到八段。

機器犯錯:水平從九段降到業餘。

傳統的機器學習任務大都是在給定參數的封閉靜態環境中,而現在正在慢慢轉向開放動態環境。

“雪龍號”是國內的一個例子,下面介紹一些國外的探討情況。這裏也提到:

隨着人工智能技術取得巨大發展,越來越多地面臨“高風險應用”,因此必須有“魯棒的AI”。

| 關於未來 —— 形態

要分析未來,首先得知道現狀。那麼機器學習現在的形態是什麼?有人會說算法,有人會說數據。

“其實機器學習的形態就是算法 + 數據。”

但是這樣的形態下,它有哪些侷限性呢?主要分爲 3 個大的方面和其他一些小方面:

  • 侷限 1:需要大量訓練樣本;

  • 侷限 2:難以適應環境變化;

  • 侷限 3:黑箱模型。

我們可以看到機器學習的技術侷限性仍然很多,當然,我們可以針對每個問題一一解決,但這難免進入一種“頭疼醫頭,腳疼醫腳”的境地。所以我們是否可以跳出這個框架,從整體上來解決這些問題呢?

那麼我們都知道有硬件(Hardware),有軟件(Software),這裏提出一個類似於這兩者的新概念“學件”(Learnware):

學件(Learnware)= 模型(model)+規約(specification)

很多人可能在自己的應用中已經建立了這樣的模型,他們也很願意找到一個地方把這些模型分享出去。那以後一個新用戶想要應用,也許不用自己去建立一個,而是先到“學件”的市場上找一找有沒有合適的,可以拿來使用修改。

比如說,要找一把切肉的刀,可以先看看市場上有沒有這樣的刀,不會說自己從採礦開始重新打一把刀。如果沒有合適的刀,也許會選擇一把西瓜刀,然後用自己的數據重新“打磨”一下,讓它滿足自己應用的需要。

所以,這個想法就是希望能夠部分地重用他人的結果,不必“從頭開始”。

從規約的角度需要給出模型的合適刻畫。

從模型的角度需要滿足 3 個要求:

  • 可重用

  • 可演進

  • 可瞭解

規約需要能清楚地說明在做什麼,主要有三種方式:

  • 基於邏輯

  • 基於統計量

  • 技術與精簡數據

這些也許可以借鑑軟件工程中的規約方法來處理。

我們可以看到,有了“學件”的框架以後,很多之前提到的侷限可能都會迎刃而解:

  • “可重用”的特性能夠獲取大量不同的樣本;

  • “可演進”的特性可以適應環境的變化;

  • “可瞭解”的特性能有效地瞭解模型的能力;

  • 因爲是專家基礎上建立的,所以比較容易得到專家級的結果;

  • 因爲共享出來的是模型,所以避免了數據泄露和隱私泄露的問題。

除了解決了原有的問題,“學件”很有可能會催生出一個新產業,類似於軟件產業。因爲大家可以把自己的模型放到市場上,提供給別人使用,如果被使用得很多,又很好用,用戶很廣泛,那麼可以對這個“學件”定價使用,創造出經濟價值。

| 總結

最後,對今天的報告內容進行一個總結,主要有下面幾點:

  • 深度學習可能有“冬天”,它只是機器學習的一種技術,總會出現更“潮”的新技術;

  • 機器學習不會有“冬天”,只要有分析數據的需求,就會用到機器學習;

  • 關於未來的思考:

    1、技術上:一定是能有效利用 GPU 等計算設備的方法(未必是深度學習);

    2、任務上:開放環境的機器學習任務特別重要(魯棒性是關鍵);

    3、形態上:希望是從現在的“算法 + 數據”過渡到“學件”的形態。

如果要對未來這三點加上一個預測期限的話,分別是 5 年、10 年、15 年。

發佈了72 篇原創文章 · 獲贊 134 · 訪問量 80萬+
發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章