不!機器學習才不只是統計學的美化!
大數據文摘出品
編譯:JIN、Hope、蔣寶尚
題圖上這張在社交媒體上瘋狂傳播的惡搞漫畫博得了不少轉發,這似乎暗示著,對機器學習的炒作熱度開始消退。然而,機器學習真的只是被美化的統計學嗎?
哈佛大學數據科學碩士、機器學習從業者Joe Davison認為,遠不止如此。
他從統計學和機器學習分別出發,對比了兩者的不同之處,希望讓人們正確認知機器學習和人工智能。這篇博客在海外科技網站Medium上獲得了超過7.4k的認同。
一起來看看。
越來越多的人都開始認為機器學習真的沒有什么可值得興奮的,它只不過是對老舊的統計技術的重新包裝罷了。
然而問題是,事實并非如此。
可以看出,深度學習傳播的狂熱分子不流行了。甚至是那些站在科學頂端的專家們,現在對使用這個術語都失去了極大的熱情,僅剩些許懊惱,反而更傾向于淡化現代神經網絡的力量,避免讓大量群眾認為 import keras 能夠克服每一個障礙。
就像Yann LeCun所說的那樣,雖然深度學習已經超過機器學習成為新的流行詞,但是這種對態度的過度矯正導致了人們對人工智能的發展、未來和實用性產生了不良的懷疑。另外,現在流傳著人工智能冬季即將逼近的說法,從這一點就可以預見,人工智能研究會像過去幾十年那樣停滯不前。
本文不是要反對人工智能冬季的說法,也并非要爭論機器學習的發展都應歸功于某一個學術團體而非其他。本文論述的目的在于要正確的評估機器學習。人工智能可見的發展不僅僅局限于大型計算機和更優的數據集。近期在深度神經網絡及其相關領域的成功,正說明了機器學習代表著科學技術進步的最前沿。
機器學習!=統計學
“當你集資時,需要人工智能。當你招聘時,需要機器學習。當你執行任務時,需要邏輯回歸。”
—推特網友 |
正如標題所說,本文主要強調機器學習不只是統計學的美化。當然,這種“統計學的美化”觀念的形成是不無道理的,因為在機器學習中廣泛使用了統計學的概念,如回歸、權重、偏差、模型等等。
另外,許多模型都近似于統計函數:由邏輯組成的分類模型的softmax輸出;將訓練圖像分類器的過程處理為邏輯回歸。
雖然,單從技術角度來說,這種觀念思路是正確的,但將整個機器學習簡單歸化為統計學的附屬物就太過一概而論了。統計學是數學領域,涉及對數據的理解和解釋。機器學習則只是一類計算算法(所以,它其實誕生于計算機科學)。
在許多情況下,這些算法在幫助理解數據方面完全無用,并且只能在無法解釋的預測模型中發揮一些作用。在某些情況下,例如在強化學習中,算法甚至根本不會使用到已有的數據集。此外,在圖像處理的情況下,將像素作為特征,將圖像作為數據集的處理方式也只不過是開始時的延申。
當然,這并非意味著機器學習的發展就全都歸功于計算機科學家,而非統計學家。像任何研究領域一樣,機器學習今天的成功是多個學術領域共同努力的結果,而統計學和數學則是貢獻最大的領域。
然而,如果要正確評估機器學習方法的強大影響力和潛力,首先就需要糾正錯誤觀念:人工智能的現代發展也不過是老舊的統計技術有了更大的計算機和更好的數據集。
機器學習不需要高級統計學知識
這里我想說,在學習機器學習期間,我有幸參加了一個深度學習技術的精彩課程,這是我本科計算機科學課程的一部分。在我們指定的項目中,就有一個是在TensorFlow中執行和訓練Wasserstein GAN。
當時,我僅僅只上過一門統計導論的選修課,并且大部分內容我也已經忘記了,此次看來,我的統計技能并不是很強。但是,我依舊能夠讀懂一篇關于最新的生成機器學習模型的論文,并且能夠從頭執行,實現操作,并通過在MS Celebs數據集上訓練,從而生成非常有說服力的虛假圖像。
整個課程中,我的同學和我成功地訓練了癌組織圖像分割,神經網絡機器翻譯,基于字符的文本生成和圖像樣式轉換,所有這些都只使用了過去幾年發明的機器學習的最新技術。
但是,如果你問我,或是那個班級的大多數學生,如何計算人口方差,或者定義邊緣概率,我們對此一無所知。
這似乎就與人工智能僅僅是對古老統計技術的重塑的說法有些不符了。
必須承認的一點的是,在深度學習課程中,機器學習專家可能確實比計算機科學的本科生有更扎實的統計學基礎。除此之外,一般而言,信息理論需要對數據和概率有很強的理解能力,所以我建議,如果你有興趣成為數據科學家或機器學習工程師,最好能夠學習統計學知識,發展統計技能,培養統計直覺。
但現在依然存在的問題是:如果機器學習僅僅只是統計學的附屬物,那么為什么沒有統計學背景的人同樣能夠深入理解機器學習的前沿概念呢?
另外還應該承認的一點是,許多機器學習算法需要比大多數神經網絡技術更強的統計學和概率學背景,但是這些方法通常被稱為統計機器學習或統計學習,以此來減少統計學的色彩,將其與常規的統計學區分開。
同時,在近年來機器學習大熱的創新技術中,大多數都屬于神經網絡領域,所以可以說,機器學習并不是統計學。
當然,機器學習也并非獨樹成林。實際上,任何人想要很好的應用機器學習,都會面臨各類數據處理的問題,因此,擁有對統計數據的理解力也是很有必要的。這并非說機器學習決不會使用到統計概念,同樣也不能一概而論地說機器學習就是統計學。
機器學習=映射+評估+優化
客觀來說,我和同班同學在算法、計算復雜性、優化方法,微積分、線性代數甚至一些概率方面都有很強的基礎。我認為,上面提到的知識都與我們所處理的問題相關,高級統計學則無法解決這些問題。
機器學習是一類計算算法,它采用迭代“學習”的方法向某個函數逼近。華盛頓大學計算機科學教授Pedro Domingos提出了構成機器學習算法的三個組成部分:映射、評估和優化。
- 映射(Representation)就是把輸入從一個空間轉化到另一個更加有用的空間。在卷積神經網絡中,原始像素對于區分貓狗的作用不大,因此我們把這些像素映射到另一個空間中(例如從softmax輸出的邏輯值),使其能夠被解釋和評估。
- 評估(Evaluation)的本質就是損失函數。你的算法是否有效地把數據轉化到另一個更有用的空間?你在softmax的輸出與在one-hot編碼的分類結果是否相近?你是否正確預測了展開文本序列中下一個會出現的單詞(文本RNN)? 你的潛在分布離單位高斯(VAE)相差多少?這些問題的答案可以告訴你映射函數是否有效;更重要的是,它們定義了你需要學習的內容。
- 優化(Optimization)是拼圖的最后一塊。當你有了評估的方法之后,你可以對映射函數進行優化,然后提高你的評估參數。在神經網絡中,這通常意味著使用一些隨機梯度下降的變量來根據某些定義的損失函數更新網絡的權重和偏差。 這樣一來,你就擁有了世界上最好的圖像分類器(2012年,杰弗里·辛頓就是這樣做到的)。
在訓練圖像分類器時,除了需要注意定義合適的損失函數之外,映射函數輸出值是邏輯值并不會有太大的影響。邏輯回歸等這些統計術語為我們討論模型空間提供了有用的詞匯,但是它們并沒有將優化問題重新定義為數據理解問題。
深度學習技術
深度神經網絡進一步忽視了統計學的理念,簡直是淋漓盡致。完全連接的節點由權重和偏差組成,似乎也還好,但是卷積層是什么原理?調整激活函數?塊的標準化?殘差層?隨機忽略?記憶和注意機制?
這些創新對于高性能深度學習網絡至關重要,但是它們遠無法與傳統統計技術相提并論(因為它們可能壓根就不是統計技術)。
對1億個變量進行回歸,沒問題?
我還要指出深度學習網絡和傳統統計模型的一個差別,就是它們的規模問題。深度神經網絡的規模是巨大的。VGG-16 ConvNet架構具有1.38億個參數。如果一個學生告訴導師要進行一個具有超過1億變量的多重線性回歸,他會有什么反應?這是很荒謬的。因為VGG-16不是多重線性回歸,它是一種機器學習手段。
新的前沿
在過去的幾年里大家可能花了無數的時間去閱讀論文、帖子和文章,看到機器學習能夠做很多很炫酷的事情。其實,深度學習比以前的這些技術不僅更加有效,而且它幫助我們解決了完全不一樣的全新的問題。
在2012年以前,涉及非結構化數據和半結構化數據的問題是非常有挑戰性的,可訓練的CNN和LSTM在使這個任務邁進了一大步。它們在計算機視覺、自然語言處理、語音識別等領域已經取得了非常可觀的成果,并且在人臉識別、自動駕駛和人機對話等領域取得了長足的進步。
其實,大多數的機器學習算法最終還是落實到用模型對數據進行擬合,這能夠被認為是一個統計過程。宇宙飛船本質來說也就是帶翅膀的飛行機器,但是我們卻沒有看到有人嘲弄美國宇航局20世界對太空探索的激情,沒有人認為這是對飛機的過度夸張化。
就像太空探索那樣,深度學習的到來并沒有解決世界上的所有問題。在很多領域我們還能夠看到有巨大的差距,尤其是在“人工智能”領域。深度學習為我們攻堅復雜非結構化數據的問題做出了顯著貢獻。機器學習仍舊是世界技術進步和革新的前沿。這不僅僅是墻上帶著閃亮框架的一個裂縫。
相關報道:
https://towardsdatascience.com/no-machine-learning-is-not-just-glorified-statistics-26d3952234e3
【本文是51CTO專欄機構大數據文摘的原創譯文,微信公眾號“大數據文摘( id: BigDataDigest)”】