1.1.4 【Deep Learning翻譯系列】Why is Deep Learning Taking off? 深度學習爲什麼近年取得很大的成功?

原視頻網站

如果深度學習背後的基礎理論已經存在了數十年,爲什麼他們只是剛剛起飛呢?

在本視頻中,我們來回顧一下深度學習興起背後的一些主要驅動因素。

1、數據體量的增加使得神經網絡能夠發揮優勢

過去幾年,很多人問我:爲什麼深度學習奏效?當他們問這個問題時,我通常給他們畫這樣一條曲線。

橫軸表示任務的數據量,縱軸表示學習算法的性能,比如垃圾郵件分類準確性、廣告的準確性,點擊預測器的準確性,或自駕車接受呼叫位置的準確性。


事實證明,如果您繪製傳統學習算法性能(如支持向量機、邏輯迴歸)關於數據量的曲線,那麼您可能會得到一條看起來像這樣的曲線,其中性能提高了一段時間,因爲你增加了更多的數據。但經過一段時間的表現,你知道幾乎是平穩的,因爲知道他們不知道如何處理大量的數據。

過去10年來,我們社會進入大數據時代,很多命題也隨之產生。所有這一切都歸功於一個社會的數字化,在這個社會中,人類活動如此之多,現在我們在數字領域花費了很多精力在移動應用程序網站的計算機上。數字設備上的活動創造了數據,並且由於廉價相機的興起,在我們的手機加速器中內置了物聯網中的各種傳感器,我們也收集了越來越多的數據。

所以在過去的20年中,在許多應用中,我們積累了比傳統學習算法能夠有效利用更多的數據,因此神經網絡的優勢便體現出來。

如果您訓練一個小的神經網絡,曲線可能是黃線所表示的那樣;如果你訓練一個更大的神經網絡,這個神經網絡被稱爲中等規模的神經網絡,那麼它的性能會好一些,如藍色的線。如果你訓練一個非常大的神經網絡,效果往往會越來越好,如同綠線。


所以如果你想達到這樣高水平的性能,那麼你需要兩件事:首先你需要能訓練一個足夠大的神經網絡;第二,你需要大量數據,所以我們經常說數據的規模一直在推動深度學習的進展。我的意思是說,如果要達到高水平的性能,我們需要提升的是神經網絡的大小(設計一個有很多隱藏單元,很多參數,很多連接的新網絡)以及數據規模。

實際上,今天在神經網絡中獲得更好性能的最可靠的方法,通常是訓練一個更大的網絡,或者投入更多的數據,並且只能達到其中某一點。因爲最終你的數據用完了,或者最終你的網絡非常龐大,需要花很長時間才能進行培訓。但是僅僅提高數據規模已經讓我們在深度學習中走了很長一段路。

爲了使這張圖在技術上更加精確一些,並且x軸上添加了更多的東西。從技術上講,x是標籤數據的數量。在訓練的樣本中,我們同時具有輸入X和標籤Y。

我介紹了稍後在本課程中使用的一些符號。我們將使用小寫字母來表示我的訓練集的大小或者訓練樣例的數量(例如這個小寫字母m)。在這個較小訓練集的情況下。算法的相對性能實際上並沒有很好的定義,所以如果你沒有很多訓練數據,通常取決於你使用分類器的技巧。所以很有可能如果訓練支持向量機的人更有能力去手工設計特徵,並且訓練集比較多,那麼SVM可能會做得更好。因此傳統算法之間的相對性能並沒有被很好地定義,性能更多依賴於您在特徵工程方面的技能以及算法的其他可變細節。

而且只有在這個大數據區域內,非常大的訓練集纔會有很大的m區域,我們更一致地看到主要是神經網絡超過其他方法。所以,如果你的任何朋友問你爲什麼神經網絡起飛,我會鼓勵你爲他們畫這張圖。我會說,在現代深度學習興起的早期,是大數據的產生,和在CPU或GPU上訓練非常大的神經網絡的能力,使我們取得了很大的進步。但特別是在過去幾年裏,我們也看到了巨大的算法創新,所以我也不想低估這一點。

有趣的是,許多算法創新一直致力於使神經網絡運行得更快,所以作爲一個具體的例子,網絡中的重大突破之一就是從看起來像這樣的Sigmoid函數切換到看起來像這樣的ReLU函數。如果你不明白其中的細節,不要擔心。但事實證明,使用Sigmoid函數在機器學習中的問題之一是,在這裏這些函數的斜率梯度幾乎爲零的區域,所以學習變得非常慢。因爲當你實現梯度下降和梯度爲零時,參數變化非常緩慢,因此學習非常緩慢。而通過改變稱爲激活函數的神經網絡來使用稱爲ReLU(整流線性單位)的值函數的函數,對於輸入權的所有正值,梯度等於1,因此梯度更不可能逐漸收縮爲零。在這裏,這條線的斜率在左邊爲零,但事實證明,只要從Sigmoid函數切換到ReLU函數,就可以使稱爲梯度下降的算法工作得更快。


所以這是一個可能相對簡單的算法進展的例子,但最終這個算法創新的影響是它確實有助於計算,所以在這個領域有很多例子,比如我們改變算法的地方,因爲它允許代碼運行得更快,這使得我們可以訓練更大的神經網絡,或者甚至當我們需要一個包含所有數據的大型網絡時也可以這樣做。

快速計算的另一個重要原因是,它使得訓練你的網絡的過程非常迅速。通常你有一個神經網絡架構的想法,所以你實現你的想法的代碼,然後讓你運行一個實驗說明你的神經網絡有多好,然後通過查看它,你可以回過頭來改變你的新網絡的細節,然後你反覆重複這個過程。當你的新網絡需要很長時間來訓練時,這個週期需要很長時間才能完成,並且當你有一個想法並嘗試並看到工作時,建立有效神經網絡的效率就會有很大的差異:在十分鐘內,或者一天,有時會是一個月。如果你在十分鐘或一天之內得到一個結果,你能夠嘗試更多的想法,並且更能發現適用於您的應用的神經網絡。


所以更快的計算對於加速實驗結果的迴歸速度非常有幫助,這實際上幫助神經網絡的從業者和深入學習的研究人員迭代得更快,並且提高了您的想法更快。所有這一切對整個深度學習研究界來說都是巨大的利益,只要你發明新的算法,並且在這方面取得不間斷的進展,這一切都令人難以置信。所以這些是推動深度學習興起的一些力量。

好消息是,這些力量仍然有力地使深度學習變得更好。科技數據社會仍然在生成更多的數字數據,並且隨着像GPU這樣的專用硬件的崛起以及更快的網絡和許多類型的硬件而進行計算。實際上,我非常確信,我們能夠做出非常大的神經網絡,或者從計算的角度來看,它們會不斷變得更好,並且在算法前沿創新的過程中不斷髮展。正因爲如此,我們可以樂觀地認爲,深度學習將在未來的許多年繼續得到改善。讓我們繼續閱讀該部分的最後一段視頻,在那裏我們將多談一點關於你從這門課程中學到的東西。

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章