微軟劍橋研究院院長Christopher Bishop:機器學習的基礎是什麼?

大資料文摘發表於2019-02-21

人工智慧和機器學習的發展比人們想象的要慢得多也快得多。人們主觀地認為,這兩個領域在很長一段時間沒有進展,突然又在一夜之間取得突破。但實際上,人工智慧和機器學習正經歷著相對穩定且積極的發展。在某些領域特別是多層神經網路(即深度學習)領域,一些理論已經存在了很長時間,而最新的研究進展提升了這些理論的準確度和效能,在例如語音識別和影像識別等方面彰顯出巨大的實用價值。機器學習有很大潛力,也得到了充分的重視——人們對機器學習的關注度和興奮度空前高漲,研究人員只能不斷推動技術的進步以滿足人們的期望。

現代觀念下的機器學習

機器學習研究領域有一個我很喜歡的理論,叫做“沒有免費的午餐定理”。它的大意是對於應用機器學習方法去解決問題,在沒有實際背景條件下,不同演算法之間並沒有優劣之分,換句話說,並不存在一種能解決所有問題的機器學習通用演算法。或許確實存在某些演算法,它們對於現實世界中可能遇到的各種型別的問題都能給出不錯的解決方案,例如,深層神經網路等技術就有可能很通用,但是“沒有免費午餐定理”也告訴我們不能僅從資料中學習,而要在特定背景下學習資料,這些模型或假設情境中的資料才是機器學習的關鍵。假設取決於你正在解決的特定問題,這也就意味著我們不是要探尋能夠解決所有問題的唯一通用演算法,而是要針對特定問題,找到最合適的技術。

對不確定性進行量化是機器學習的基礎,我把它稱為“現代觀念下的機器學習”。傳統上,我們認為機器學習模型是一種函式,將它與某些資料進行擬合從而進行預測,就像藉助資料擬合曲線一樣。在此過程中,你要不斷調整引數設定,使神經網路能在訓練集上得到正確結果,並在測試集上也有同樣的效果。從更廣泛意義上理解,機器學習真正的過程就是機器對這個世界進行建模,這個模型對不確定性進行量化,不確定性的積分就是概率。因此,機器是建立在概率的基礎之上的,它對世界的理解本身就包含著不確定性。但是,隨著它“看”到的資料越來越多,這種不確定性通常會降低,換句話說,機器從資料中學到了一些東西。這一思想在“貝葉斯定理”這一優雅的數學理論中得到了體現,因此,我認為貝葉斯定理,以及“通過概率量化不確定性”的思路,正是機器學習的基石。

這種“基於模型的機器學習”借鑑先驗知識、領域知識的想法,是機器學習領域非常重要的問題。不要把它看作一種特定技術,而要將其視為一種觀點,一種理解機器學習的方法。不妨想象一下,你是機器學習領域的一名新手。你發現這個領域已經發表過成千上萬篇論文,包含成百上千種名稱各異的演算法,你彷彿在大海上漂流卻沒帶指南針。你需要閱讀所有這些檔案,並且全部理解它們嗎?如果想解決實際問題卻不太熟悉其中所需的全部技術該怎麼辦?你可以採用這種“基於模型”的思想:思考你的機器學習解決方案中的假設並用明晰的語句寫下來,然後將這些假設轉化為模型。但這個模型只是你的假設的數學表達,接下來將模型與資料相結合,執行這個模型,機器就會自動學習。如果你做出了很好的假設,機器就能夠非常有效地從資料中學習,從資料中提取到更多資訊。但同時,如果你做出一個錯誤的假設,那麼機器不僅會做出錯誤的預測,而且可能非常堅持這些錯誤預測,因此要十分小心。

微軟劍橋研究院院長Christopher Bishop:機器學習的基礎是什麼?微軟劍橋研究院院長Christopher Bishop

人工智慧革命

我們正處於許多人所說的“人工智慧革命”過程中,人們對此感到興奮並開始炒作這個概念。而對我來說,人工智慧是一個巨集偉的願望,是一個產生並不斷改進媲美人類智慧的超長期目標,我們還有很長的路要走。那麼人們對人工智慧的看法是不是不合時宜的或高興得太早?炒作出來的泡沫是否遲早會破滅?我的回答是否定的。

近些年確實發生了一些深刻的轉型事件,不過它不是與人工智慧有關,而與我們創造新技術的方法革命有關。類比硬體的發展:人們需要硬體和軟體來構建新技術,在硬體方面,例如作為硬體的計算機,多年來變得更快、更好也更便宜,然而,這種進步並不是線性的。在“光刻”技術發明以前,計算機一直處於平穩發展的狀態,光刻技術讓我們得以“印刷”電晶體,我們不再需要製造單個元件然後組裝,而是將整個電路一次性地“印刷”在矽片上。這項發明的影響是深刻的,因為它讓硬體發展速度躍升到指數級,這就是著名的“摩爾定律”。這之後才有以下事情的發生:微軟公司的創立,把超級計算機裝進口袋等等。因此,在所謂的人工智慧革命(實質是機器學習革命)中,軟體的發展歷程也會出現一個類似的“奇點時刻”。

我們不妨回顧一下軟體的起源。世界上第一位軟體開發者Ada Lovelace在為巴貝奇(Babbage)分析機寫軟體時必須準確指出每一個步驟。時至今日,軟體開發者的工作方式也沒什麼兩樣,他們仍須告訴機器如何解決問題,只是工作效率更高,但制約其發展的瓶頸就在於人類智慧的缺失。然而,如果藉助機器學習,我們將獲得一種完全不同的軟體編寫方式:我們不再需要通過對機器程式設計來解決問題,而是讓它們能夠學習,然後用資料對它進行訓練。

目前,制約其進步的因素是資料,這也是機器學習的動力。我們編寫機器學習演算法讓計算機可以從經驗中學習,現在,我們用資料對機器進行訓練。如今世界上資料量的增長速度已經達到了指數級別,事實上,它每隔幾年就會翻一番。隨著對城市的監測,隨著物聯網的普及,隨著我們對自身瞭解的深入,隨著我們收集到越來越多的資料,這個趨勢還將持續很長一段時間,而這一切都將成為機器學習革命的動力源泉。這也就是為什麼我會認為有關人工智慧的炒作並非不正確,只是為時過早。真正令人興奮的是,未來幾年我們創造新技術的能力將呈指數級增長,這種能力並非是通過對機器進行程式設計,而是通過讓機器學會學習。

機器學習帶來的挑戰

如今,我們坐擁前所未有的計算能力、龐大的資料集和複雜的演算法。電腦科學的研究人員開始意識到,有些問題並非僅僅依靠電腦科學家就能解決的,而這只是過去30年來這一領域的眾多變革之一。在我從事機器學習研究的最初25年間,我們的目標是降低錯誤率,提升演算法效能。如今,錯誤率已被降低,高精度演算法正在解決現實世界中存在的問題,並擁有越來越多的應用前景,但是與此同時,我們也不得不考慮將這些演算法付諸現實之後所催生的新問題。

首先,產品的終端使用者獲得某種體驗,卻不想直接與演算法打交道,這就需要能夠營造某種使用者體驗的使用者介面,因此,聘請能夠設計使用者體驗的設計師就顯得很重要。同時,還需要社會科學家,理解人們是如何使用技術的。我們還需要考慮針對AI的惡意攻擊,以及如何防禦這些攻擊。我們需要考慮如何利用普通終端使用者可以理解的語言對問題加以解釋。以及如何讓來自不同領域的人們共同工作——他們通常來自迥異的文化、熟悉不同的語言並使用各自的術語,但是如果真的想解決問題,他們必須和衷共濟。

很多人都在談論關於偏見、公平性和透明度等話題,但我認為我們無需擔心。關注這些問題固然非常重要,但好在人們一直在探討這些問題,許多非常聰明的研究人員也正努力破解這個問題。對此我並不是很擔心,這並非因為這些問題不棘手或者不重要,但是至少我們已經認識到了它們的存在,正在探討和研究它們,並且已經取得了進展。

如果說有什麼關於機器學習和人工智慧的問題讓我夜不能寐,那就是技術探索和發展過程中遇到的障礙——也許是關於偏見,隱私,或者安全。有一些事情會讓我們對機器學習技術冷眼相向,甚至不惜放棄技術可能帶來的機會——就醫療保健領域,在未來幾十年乃至幾個世紀裡,人工智慧將能夠切實改善人們的生活,拯救無數生命。所以,在我們小心地討論技術所帶來的各種挑戰和風險時,也不能忽視其中蘊含的巨大潛在利益,這樣才能在二者之間找到平衡。

相關文章