回覆列表
  • 1 # 機器之心Pro

    最近,關於深度學習和人工智慧的一個梗在社交媒體上廣為流傳,認為二者只是牆上一道鑲了嶄新邊框的裂縫,暗諷機器學習只是重新包裝過的統計學,本質上是「新瓶裝舊酒」。然而事實真的是這樣嗎?Joe Davison發表在towardsdatascience的這篇文章對這種看法提出了異議,認為機器學習 ≠ 資料統計,深度學習為我們處理複雜的非結構化資料問題做出了重大貢獻,而人工智慧應該得到其應得的讚賞。

    隨著深度學習的熱度開始消退,這個梗最近開始在社交媒體上廣為流傳,引起了網際網路上眾人的譏笑。機器學習沒什麼好激動的,它只是對統計技術的一種補充——這種觀點越來越普遍;但問題是這個觀點並不正確。

    我明白,成為一個極度狂熱的深度學習傳播者並不時尚。哪怕是 2013 年試圖讓所有人都知道深度學習的機器學習專家,現在再提起這個術語也只有失望,他們現在更傾向於弱化現代神經網路的力量,唯恐人們將他們與還認為「import keras」是萬金油的人混為一談。而他們自認為與後者相比,自己還是相當有優勢的。

    雖然正如 Yann LeCun 所說,深度學習已經不再是一個時髦的詞,但這種矯枉過正的態度已經對人工智慧的進步、未來和實用性產生了不良的影響。這一點在關於人工智慧寒冬的討論中體現得尤為明顯,在這個寒潮裡,人工智慧被預言將會像幾十年前一樣停滯多年。

    然而這篇文章並不是對人工智慧進入寒冬表示質疑,也不是想說深度學習的進步更應歸功於哪個學術團隊;相反,它只是想說,人工智慧應該得到其應得的讚賞;它發展的水平已經超越超級計算機和更優的資料集;機器學習最近也在深度神經網路和相關工作中取得了巨大成功,代表了世界上最先進的技術水平。

    機器學習≠資料統計

    「融資的時候, 我們講人工智慧 ;找工作的時候,我們說深度學習;但做專案的時候,我們講 logistic 迴歸。」

    ——推特上每個人都這麼說

    這篇文章的主題是,機器學習不僅是對資料統計的再包裝——這一領域有更大型的計算機和更好聽的名字。這個概念來源於統計學的概念和術語,這些概念和術語在機器學習中非常常見,像迴歸、權重、偏置、模型等等。此外,很多模型近似統計函式:分類模型的 softmax 輸出由 logits 組成,使得影象分類器的訓練過程成為 logistic 迴歸。

    儘管這種思路在技術層面是對的,但將機器學習作為一個整體看作只是統計學的一個分支還為時過早。這種比較沒有什麼意義。統計學是處理資料和解釋資料的數學領域。機器學習只不過是一種計算演算法(誕生於計算機科學)。很多情況下,這些演算法在幫助理解資料方面毫無用處,只能幫助某些型別的不可理解的預測建模。例如在強化學習中,演算法可能都不會使用已有的資料集。另外,在影象處理中,將影象視為以畫素為特徵的資料集,從一開始就有點牽強。

    問題的關鍵當然不在於這個榮譽應該屬於計算科學家還是屬於統計學家;就像其它領域一樣,能取得今天的成功是各個學術學科的功勞,其中當然包括統計學和數學。然而,為了正確評估機器學習方法的巨大影響力和潛力,有必要先打破這個錯誤的觀念:現代人工智慧的發展,無非就是古老的統計技術擁有了更強大的計算機和更好的資料集。

    機器學習無需高深的統計學知識

    先聽我說,入門機器學習的時候,我幸運地選了一門非常棒的課程,是專門講深度學習的。這也是我本科計算機課程的一部分。我們要完成的一個專案是在 TensorFlow 上實現和訓練 Wasserstein GAN。

    當時我只修了一門必修的統計學入門課,但我很快就把大部分內容都忘了。不用說,我的統計能力並不強。然而,我卻能讀懂一篇最先進的生成機器學習模型的論文,並且從頭實現了它——透過在 MS Celebs 資料集上訓練,生成了能以假亂真的虛擬影象。

    在整個課程中,我和同學們成功地訓練了針對癌症組織的影象分割、神經機器翻譯、基於字元的文字生成以及影象轉換的模型,這些模型都採用了近幾年剛剛發明的尖端機器學習技術。

    然而,你要是問我或者我的同學如何計算一組資料的方差,或者定義邊緣機率,我們應該會交個白卷。

    這似乎與人工智慧只是對古老統計技術的重新包裝的觀點有些矛盾。

    的確,在深度學習課程中,機器學習專家的統計基礎可能比計算機專業的本科生更強。一般來說,資訊理論需要對資料和機率有很深的理解,所以我建議,所有想成為資料科學家或機器學習工程師的人最好能夠對統計概念有直觀的理解。但問題是:如果機器學習只是統計學的分支,那麼沒有統計學背景的人怎麼能對最前沿的機器學習概念有深入的理解呢?

    還應該承認,許多機器學習演算法對統計學與機率學背景知識的要求比多數神經網路技術要高,但這些方法通常也被稱為統計機器學習或者統計學習,好像是想與常規的統計類別區別開。並且,近年來大多數機器學習中的的炒作性創新都來自神經網路領域,所以這點無關緊要。

    當然,機器學習並不是遺世獨立的。在現實世界中,任何想要做機器學習的人都可能在研究許多類別的資料問題,因此也需要對統計學科有較深的理解。這並不是說機器學習從不使用或構建統計概念,這說的不是一回事。

    機器學習=表示+評估+最佳化

    客觀來說,我和我的同學在演算法、計算複雜度、最佳化策略、微積分、線性代數甚至機率論方面基礎都很好。我想說的是,比起高階統計學知識,這些與我們正在解決的問題更加相關。

    機器學習是一類反覆「學習」某類函式近似值的計算演算法。華盛頓大學計算科學教授 Pedro Domingos 曾列出構成機器學習演算法的三大組成部分:表示、評估和最佳化。

    表示涉及從一個空間到另一個更有效空間的輸入傳輸,解釋起來更加容易。請從卷積神經網路的視角考慮這個問題。原始畫素在區分貓和狗上是沒有用的,所以我們將其轉換為更有效的表達形式(如 softmax 輸出中的 logits),這樣就可以解釋和評估了。

    評估實際上就是損失函式。你的演算法如何有效地將資料轉換到另一個更有效的空間上去?softmax 輸出和 one-hot 編碼標籤(分類)到底有多麼相似?你能否正確預測展開的文字序列(文字 RNN)的下一個單詞?隱藏分佈與單位高斯分佈的偏離有多遠(VAE)?這些問題都告訴你表達函式效能如何;更重要的是,它們定義了它需要學習做什麼。

    最佳化是整個拼圖的最後一塊。一旦有了評估部分,你就可以最佳化表達函式,以改進評估標準。在神經網路中,這意味著使用隨機梯度下降的一些變體來根據給定的損失函式更新網路的權重和偏置。你有世界上最好的影象分類器(起碼 2012 年的 Geoffrey Hinton 有)。

    附言:人工智慧這個詞挺蠢的。人工智慧問題只是計算機目前還不善解決的一個問題。在十九世紀,機械計算機也曾被認為是智慧的。現在這個術語與深度學習聯絡如此緊密,我們就開始說通用人工智慧(AGI)是比先進的模式匹配機制更智慧的東西。然而,我們對通用智慧還沒有一致的定義或理解。AI 所做的唯一一件事就是激發人們對所謂的「奇點」或類似終結者的殺手機器人的恐懼。我希望我們可以停止使用這樣一個空洞的、聳人聽聞的術語來替代真正的技術。

    深度學習的技術

    幾乎所有深度神經網路的內部工作都忽略了深度學習的統計特性。全連線點由權重和偏置組成,但卷積層呢?整流啟用層?批標準化?殘差層?Dropout?儲存和注意力機制?

    這些創新對於高效能深度網路的發展至關重要,但它們與傳統的統計技術並不完全一致(可能因為它們根本不是統計技術)。如果你不相信我,可以試著告訴統計學家你的模型過擬合了,然後問他們把模型的 1 億個引數砍掉一半是否行得通。

    超過一億個變數的迴歸——沒問題嗎?

    深度網路和傳統統計模型在規模上是有差異的。深度神經網路是巨大的。例如,卷積網路 VGG-16 大約有 1.38 億個引數。你覺得你的普通學術導師會如何迴應一個想要對 1 億多個變數進行多元迴歸的學生?這個想法很荒謬,因為訓練 VGG-16 不是多元迴歸,而是機器學習問題。

    新前沿

    在過去的幾年裡,你可能看了無數宣揚機器學習可以完成很酷的任務的論文、帖子、文章,所以我不再贅述了。然而,我要提醒你,深度學習不僅比以前的技術更重要,它還能幫助我們解決一系列全新的問題。

    在 2012 年之前,涉及非結構化和半結構化資料的問題充其量只是一項挑戰。僅可訓練的 CNN 和 LSTM 就在這方面實現了巨大飛躍。在計算機視覺、自然語言處理、語音轉錄等領域都取得了相當大的進步,並且在人臉識別、自動駕駛和 AI 對話等技術方面有了很大的提高。

    確實,大多數機器學習演算法最終都要將模型擬合到資料——從這個角度看,這是個統計過程。太空梭也不過是一個帶翅膀的飛行器,但我們並沒有看到有人嘲笑美國宇航局在 20 世紀探索太空,也沒有人認為這是對飛機進行重新包裝而已。

    與太空探索一樣,深度學習的出現並沒有解決世界上所有的問題。在許多領域,特別是在「人工智慧」領域,仍有很多的事情需要我們去做。也就是說,它為我們處理複雜的非結構化資料問題做出了重大貢獻。機器學習會繼續引領世界技術進步和創新的前沿,而不僅僅是牆上一道鑲了嶄新邊框的裂縫。

  • 2 # 老羊1994

    我認為說深度學習為包裝後的統計學有一定道理。以卷積神經網路resnet為例,每個卷積核相當於一個濾波器,只提取它所表徵的特徵,每個卷積核在圖象上掃過一次之後,生成一個feature map(我認為就是抽象層面的影象),然後n個卷積核,就產生n個feature map,這就是一張抽象的圖片,然後再重複這個過程,只不過隨著層數的加深,每個卷積核所提取的特徵更加抽象,我們無法理解罷了。經過一層層變換之後,最終生成了n個feature map,每個feature map表徵一種抽象特徵。最後經過global average pooling,生成一個n維向量,這個向量的每一維表徵一個feature map(相當於用均值來代替)。從這個層面講,最後的特徵向量有點類似於特徵直方圖,每一維表示對應特徵的強度。那麼說深度學習是包裝後的統計學還是有一定道理。

    但是,深度學習所提取的特徵都是經過大量資料(比如圖片)調整得到的,更適應這批資料,所以會比人為設計的特徵效果好。

    這恰恰揭示了為什麼深度學習遷移能力差。比如我有一個類別的圖片全部是橫著放的筆,訓練得到一個模型,當有一張圖片,裡面的筆是豎著放的,很有可能模型就無法識別,因為橫著的筆的圖片所具有的邊緣特徵,都是橫著的,而豎著的筆的邊緣特徵是豎著的,統計差異就很大了。

    就目前工業界廣泛使用的模型來說,離真正的人工智慧還差距甚遠~

  • 中秋節和大豐收的關聯?
  • 現在年輕人真的不願意做廚師了嗎?無經驗包吃包住都4000+了?