這是一份「不正經」的深度學習簡述

2021-03-06 機器之心

選自TowardsDataScience

作者:Favio Vazquez

機器之心編譯

參與:路雪、劉曉坤、李澤南

作為人工智慧領域裡最熱門的概念,深度學習會在未來對我們的生活產生顯著的影響,或許現在已經是了,從 AlphaGo 到 iPhone X 上的人臉識別(FaceID),背後都有它的身影。關於深度學習,我們能夠看到很多優秀的介紹、課程和博客,本文將列舉其中的精華部分,而且,你會發現這是一篇「不一樣」的文章。

不一樣在哪兒呢?可能是本文沒有按照「正常」的深度學習博客結構:從數學講起,然後介紹論文、實現,最後講應用。我希望用講故事的方式來介紹深度學習,這可能要比只介紹信息和公式要更加平易近人一些。

我為什麼要寫這篇深度學習簡介?

有時候,把自己的思考過程記錄下來非常重要。

目前,深度學習(Deep Learning)是數據科學、AI、技術和人類生活中重要的一部分,它值得我們去關注。你不能簡單地說:「深度學習就是往神經網絡中添加一個層,哇,神奇!」。不,不是這樣。我希望讀完本文後,大家會對深度學習有不一樣的認識。

深度學習時間線

我根據多篇論文和其他文章的內容繪製了這份時間線,旨在使大家看到深度學習不只是神經網絡。在它的發展過程中出現了真正的理論進步、軟體和硬體進展。

深度學習有何「奇怪」之處?

深度學習已經出現很久了,那麼為什麼它直到最近 5-7 年才聞名於世,並迅速發展起來呢?

如前所述,直到 21 世紀初,我們仍然缺乏訓練非常深層神經網絡的可靠途徑。現在,隨著多個簡單卻重要的理論、算法進步,硬體發展(大部分是 GPU,現在是 TPU)和數據的指數級增長和積累,深度學習快速發展,並改變我們做機器學習的方式。

深度學習也是非常活躍的研究領域,今天,眾多研究者們仍在尋找最好的模型、網絡拓撲、最好的超參數優化方法等等。要想像其他活躍的科學領域一樣緊跟研究成果很難,但是並非不可能。

Hofer 等人在論文《Deep Learning with Topological Signatures》如此介紹拓撲和機器學習:

近期代數拓撲方法僅在機器學習社區出現,最顯著的是,它出現在術語「拓撲數據分析」(topological data analysis,TDA)下面。TDA 幫助我們從數據中推斷出相關拓撲和幾何信息,因此它提供了一種看待多種機器學習問題的新型、有益的視角。

對我們來說很幸運的是,有很多人在幫助我們理解和消化此類信息,比如吳恩達的課程、一些相關博客等等。

參考閱讀:

這對我來說有些奇怪或者不尋常,因為正常情況下你必須花費一段時間(甚至好多年)才能消化論文或期刊中那麼多艱深、前沿的信息。當然,現在大部分科學領域從論文到一篇博客解讀的時間越來越快,雖然我認為深度學習還有一些不一樣的感覺。

深度學習和表徵學習的突破性成果

機器學習領域中的大多數人都認為,幾十年來深度學習論文中的每個最新思想(具體來說是指神經網絡或算法的新型拓撲結構和配置)都是機器學習中的最棒思想(要知道深度學習是機器學習的子領域)。

我在本文中用了很多次「學習」(learning)這個詞,那麼「學習」究竟是什麼意思呢?

在機器學習中,「學習」是指為你正在分析和研究的數據自動搜索更好的數據表徵的過程(記得,這並不是讓機器來學習)。

「表徵」(representation)一詞在這個領域中特別重要,那什麼是「表徵」呢?「表徵」就是觀察數據的方式。

舉個例子,如下圖所示,假設問題是畫出一條直線將圖中的藍色圓和綠色三角形分開:

Ian Goodfellow et al. (《深度學習》, 2016)

在《深度學習》這本書中,作者解釋道:我們使用笛卡爾坐標系來表徵數據,這時該問題不可解。

難道就沒辦法了嗎?當然不是。如果我們採用不同的方式來表徵數據,使得可以用直線分離不同的數據類型。這種方法在數學中已經出現了好幾百年。在這個例子中我們需要的僅僅是一次坐標變換。通過坐標變換,我們得到了問題的解:

Ian Goodfellow et al. (《深度學習》, 2016)

現在我們就可以畫出一條直線來分離數據:

因此在這個例子中,我們通過手動探索並選擇了能獲得更好的表徵方式的變換。但是,假如我們能開發一個系統或程序來自動搜索不同的表徵(在這個例子中是坐標變換),然後確定新方法的分類準確率的計算方式,這時候就變成了機器學習。

這一點很重要,深度學習是使用不同類型神經網絡的表徵學習,通過優化網絡的超參數來獲得對數據的更好表徵。

而沒有深度學習中的突破性研究,這一切也將不可能出現,這裡我列出幾個經典案例:

1:反向傳播

參考閱讀:

2:更好的初始化網絡參數。需要記住的是:初始化策略需要根據所使用的激活函數來選擇。

參考閱讀:

「深度學習的權重初始化」——Coursera:https://www.coursera.org/learn/deep-neural-network/lecture/RwqYe/weight-initialization-for-deep-networks

How to train your Deep Neural Network:http://rishy.github.io/ml/2017/01/05/how-to-train-your-dnn/

史丹福大學 CS231n Convolutional Neural Networks for Visual Recognition:http://cs231n.github.io/neural-networks-2/#init

3:更好的激活函數。這意味著,可以更快地逼近函數,從而實現更快的訓練。

參考閱讀:

4:Dropout:防止過擬合等問題。

Learning Less to Learn Better—Dropout in (Deep) Machine learning:https://medium.com/@amarbudhiraja/https-medium-com-amarbudhiraja-learning-less-to-learn-better-dropout-in-deep-machine-learning-74334da4bfc5

Geoffrey Hinton 等人的「Dropout: A Simple Way to Prevent Neural Networks from Overfitting」:http://www.jmlr.org/papers/volume15/srivastava14a/srivastava14a.pdf?utm_content=buffer79b43&utm_medium=social&utm_source=twitter.com&utm_campaign=buffer

5:卷積神經網絡(CNN)

參考閱讀:

6:殘差網絡(ResNet)

參考閱讀:

7:基於區域的 CNN,可用於目標檢測等。

參考閱讀:

8:循環神經網絡(RNN)與 LSTM

參考閱讀:

9:生成對抗網絡(GAN)

參考閱讀:

10:Geoffrey Hinton 近期提出的 Capsule

當然,還有很多其它的重要成果。我認為正是以上所列舉的研究給我們帶來了重要的理論和算法上的突破,並改變了世界,推動了深度學習的革命。

如何入門深度學習?

深度學習的入門並不容易,但我會盡我所能指導你完成這一階段。參考以下學習資源,但記住,你需要的不僅僅是觀看視頻和閱讀論文,還需要不斷地理解、編程、寫代碼、經歷失敗,然後成功。

-1. 請先學習 Python 和 R 語言:)

0. 學習吳恩達的深度學習課程

Siraj Raval 的視頻:Siraj Raval 非常 amazing,他可以用風趣易懂的方式來解釋複雜的概念。你可以在 YouTube 上關注他的個人頻道,其中這兩個視頻非常棒:

François Chollet 的兩本書:

分布式深度學習

深度學習是數據科學家應該學習的最重要的工具和理論之一。我們很幸運,有那麼多深度學習方向的研究、軟體、工具和硬體被開發出來。

深度學習的計算成本很昂貴,即使在理論、軟體和硬體有所進展的情況下,我們也需要大數據和分布式機器學習的發展來提升深度學習的性能和效率。為此,人們開發出了分布式框架(Spark)和深度學習庫(TensorFlow、PyTorch 和 Keras)。

參考閱讀:

使用深度學習完成任務

正如之前所說的,深度學習領域最重要的裡程碑之一就是 TensorFlow 的創建與開源。

TensorFlow 是一個使用數據流圖進行數學計算的開源軟體庫,圖中的節點表示數學運算,而圖的邊表示在節點之間通信的多維數據陣列(張量)。

上圖是廣義相對論黎曼張量中的張量運算。

張量,從數學定義上看,就是簡單的數或函數的陣列,根據坐標變換的特定規則進行變換。

但是在機器學習和深度學習領域中,張量是向量和矩陣在更高維度上的泛化形式。TensorFlow 將張量表示為基礎數據類型的 n 維數組。

我們在深度學習中廣泛使用張量,但是你不必成為這方面的專家,只需要稍微了解就足夠了。

參考閱讀:

現在你已經了解了我之前提到的突破和編程框架(如 TensorFlow 或 Keras),那麼你應該明白自己需要了解和使用深度學習的哪些方面了。

但是目前我們使用深度學習取得了什麼成就?下面我列舉了一些(來自 François Chollet 的書):

參考閱讀:

關於深度學習的未來,我認為 GUI 和 AutoML 是深度學習不久後能夠達到的。不要誤會,我喜歡寫代碼,但是我也認為以後我們寫的代碼數量會減少。我們不能重複浪費那麼多時間一遍一遍寫同樣的東西,因此我認為這兩個功能(GUI 和 AutoML)將幫助數據科學家提高生產力,解決更多問題。

參考閱讀:

在簡單的 GUI 中完成這些任務的最好免費平臺之一是 Deep Cognition。其簡單的拖放界面可以幫助你輕鬆設計深度學習模型。Deep Learning Studio 具備先進的 AutoML 功能(幾乎可以一鍵完成),可以為你的自定義數據集設計深度學習模型。

該平臺還是免費的~

我的意思是,這個領域的發展實在太迅速,現在我們已經可以使用簡單的 GUI 來學習本文中涉及的所有複雜和有趣的概念。

我喜歡這個平臺的原因是,你不需要安裝任何東西就可以寫代碼,用命令行或 Notebook 來使用 TensorFlow、Keras、Caffe、MXNet 等。 

其它有趣的深度學習應用:

原文連結:https://towardsdatascience.com/a-weird-introduction-to-deep-learning-7828803693b0

本文為機器之心編譯,轉載請聯繫本公眾號獲得授權

✄---

加入機器之心(全職記者/實習生):hr@jiqizhixin.com

投稿或尋求報導:editor@jiqizhixin.com

廣告&商務合作:bd@jiqizhixin.com

相關焦點

  • 圖靈獎「擁抱」深度學習
    「我們很難預測未來……但是有些事情我們可以預測,比如深度神經網絡這項技術會改變一切。」ACM(國際計算機協會)在美國當地時間 3 月 27 日公布了 2018 年圖靈獎的授予結果。ACM 將本屆圖靈獎頒給了深度學習領域,並且讚譽三位獲獎人為「深度學習之父」。
  • 深度學習準「研究僧」預習資料:圖靈獎得主Yann LeCun《深度學習(Pytorch)》春季課程
    開學進入倒計時,深度學習方向的準「研究僧」們,你們準備好了嗎?轉眼 2020 年已經過半,又一屆深度學習方向的準研究生即將踏上「煉丹」之路。對於這一方向的新生來說,提前了解、學習這一專業領域的知識,會讓研究生涯有一個更加順暢的開端。列出的這些課程僅是冰山一角。
  • 動畫「不正經的魔術講師與禁忌教典」ED專輯副歌視聽動畫公開...
    動畫「不正經的魔術講師與禁忌教典」ED專輯副歌視聽動畫公開... 178ACG ▪ 2017-05-04 11:28:22 現在正在TOKYO MX上放送的TV動畫「不正經的魔術講師與禁忌教典
  • 澳門大學陳俊龍:顛覆縱向的「深度」學習,寬度學習系統如何用橫向...
    BLS 最重要的特點在於它的單隱層結構,具有兩個重要的優勢,一個是「橫向擴展」,另一個則為「增量學習」。與深度神經網絡不同之處在於,BLS 不採用深度的結構,基於單隱層神經網絡而構建,可以用「易懂的數學推導來做增量學習」。
  • Hinton 新作「在線蒸餾」,提升深度學習分布式訓練表現的利器
    為此,「深度學習泰鬥」Geoffrey E.Hinton 近年來在知識蒸餾(或者「暗知識提取」)方面做了一系列工作,試圖通過這種從高計算能力要求、同時也具有高表現的模型中提取出一些隱含的知識,並且將其作為先驗,通過設計新的網絡結構和目標函數將這種知識「傳授」給規模較小的深度學習網絡,實現對網絡模型的壓縮,以顯著縮小的網絡規模和計算需求展現出儘量高的模型表現。
  • 700頁《圖形深度學習》教程「PPT」,限時免費領取!
    學習Pandas最好的方法就是看官方文檔:《10 Minutes to pandas》、《Pandas cookbook》、《Learn Pandas》英文版讀起來稍顯吃力,所以向大家推薦Pandas官方文檔中文版!書籍PDF電子書下載:《pandas官方文檔中文版》PDF已經打包好,可以通過下述步驟來獲取: 2.
  • 「最全」實至名歸,NumPy 官方早有中文教程,結合深度學習,還有防脫髮指南
    在 Github 上一度蟬聯最流行的機器學習和數據科學包 NumPy,已經有了非常之系統的中文文檔,回想起當初細啃 NumPy 之時,不少人不得不徘徊於各大搜尋引擎及平臺反覆查找,找到的文檔也許還很不系統。現在,如果有什麼和 NumPy 的問題,只需要瀏覽這份官方中文文檔就足夠了。它足夠的系統、全面且親民。親民到什麼程度呢?網站還獨一份的配備了「防脫髮指南」。
  • 「深度學習」改變「算命」行業,10秒告訴你前因後果!準到可怕!
    >通俗點來說呢,就是讓機器實現原來只有人類才能完成的任務;比如看懂照片,聽懂說話,思考等等重點是,這個機器人會自己學習,只需要你每天給他「餵食」大量「大數據」作為口糧!一圖詳盡人工智慧我們所說的AI,其實往往是在說「深度學習」這個分支,人工智慧中有許多分支,如:圖像識別,自然語言NLP
  • 絕對不只是跑步──值得你特地來日本參加的「不正經馬拉松」
    除了每年都舉辦之外,日本的馬拉松不只是跑步,還有很多新鮮又特別的主題!近年來臺灣的跑步風氣也相當盛行,越來越多人愛上跑步,也有很多人會直接搭飛機到國外去跑感受不一樣的體驗。這次要介紹給大家一些比較「不正經」的馬拉松!雖然不正經,但卻辦得很到位,不管是擅長跑步或只想體驗馬拉鬆氣氛的人都相當適合噢!大家不如把假期拉長一點,到日本旅遊的行程中,也來參加看看這些有趣的馬拉松吧!
  • 專訪大象聲科汪德亮:利用深度學習解決「雞尾酒會問題 」
    但事實上,變化不止於此,在語音增強方面,深度學習技術正推動「雞尾酒會問題」的解決。俄亥俄州立大學終身教授汪德亮(DeLiang Wang)是全球第一個將深度學習應用於語音增強的科學家。他建立了振蕩相關理論,在聽視覺分析中得到了廣泛應用,還開創性地提出了計算聽覺場景分析理論與算法,為解決聽覺領域中著名的「雞尾酒會問題」提供了全新的研究思路和方向。前段時間,他在 IEEE Spectrum 上發文詳細介紹了其團隊在語音增強深度學習技術上的研究進展。
  • 天生一對,硬核微分方程與深度學習的「聯姻」之路
    近日,北京智源人工智慧研究院開展了第一次論壇,其以「人工智慧的數理基礎」這一重大研究方向為主題,從數學、統計和計算等角度討論了智能系統應該怎樣融合數學系統。在論壇中,北京大學董彬副教授、林偉研究院和張志華教授等研究者從基礎出發介紹了「數學」眼中的機器學習是什麼樣的。
  • 如何讓你的文案看起來有深度?|正經的說笑
    「我想要有點溫度。」「我想要比較清新一點。」「我要比較有感情一些。」「我想要有點深度的。」好的,這些意見可能來自你的主管、客戶、老闆或你隔壁的同事和家裡附近的老王。雖然他們也不知道他在講什麼,但我們身為專業人士,就是要能夠把抽象的訴求變成具體的成果。
  • 3 分鐘搞懂深度學習到底在深什麼
    答案是:不,建構一套深度學習的網絡,其實沒有想像中困難,只要看完這篇文章,就能夠有基本的了解,再搭配網絡資源自學一下,甚至就可以開始建立自己的深度學習網絡。如果你想要深度學習「深度學習」,又能快速搞懂它到底在深什麼東西,看這篇文章就對了,那我們開始囉!
  • 深度學習的可解釋性研究(一):讓模型「說人話」
    非常開心本文成為 BIGSCity 興趣組的第一篇投稿,《深度學習的可解釋性研究》系列預計包含 3-4 篇內容,用儘可能淺顯的語言帶領大家了解可解釋性的概念與方法以及關於深度學習可解釋性工作的研究成果,不定期更新內容(歡迎催更)。可解釋性是什麼?
  • 學完吳恩達全部深度學習課程,這有一份課程解讀
    學習這些課程的基礎知識要求不多,只要求你事先掌握一些線性代數,以及 Python 基礎編程知識。在我看來,你也需要了解向量計算來理解優化過程的內在知識。但如果你不關心內部運作方式,並只希望了解高級層面上的內容,那就儘管跳過微積分的部分。第 1 課:為什麼深度學習如此熱門?
  • 一場突如其來的討論:到底什麼是深度學習?SVM其實也是深度學習嗎?
    這一條可能不那麼關鍵,但「逐步優化」的這一條也是深度學習的固有屬性。所以深度學習和以往的符號運算 AI、常規編程都完全不同,它的基礎結構就是離散的、以數據流為核心的,而且通常也不需要任何中間層的數據表徵。想用深度學習做符號運算也不是不可能,但需要引入很多額外的步驟。可話又說回來,深度學習模型也就只能囊括所有程序中的很小很小的一部分而已,沒必要做什麼都要用深度學習。
  • 深度學習預習資料:圖靈獎得主Yann LeCun《深度學習》春季課程
    機器之心報導編輯:蛋醬開學進入倒計時,深度學習方向的準「研究僧」們,你們準備好了嗎?「煉丹」之路。對於這一方向的新生來說,提前了解、學習這一專業領域的知識,會讓研究生涯有一個更加順暢的開端。2016:人工智慧從入門到進階,機器之心高分技術文章全集 今天要介紹的是一份比較適合入門深度學習的課程:紐約大學數據科學中心《深度學習(Pytorch)》2020
  • 深度學習力001:重新定義學習
    重新定義學習讀到好書的時候,你會為作者的觀點折服,想著印象這麼深刻的內容肯定是不會忘記了,實際上沒多久就記不起來了。有時候聽別人授課也會這樣,聽課的時候感觸很多,結束後很快又忘掉。太多時候,我們把「學習」當成了「學會」。為什麼會這樣?也許問題的根源是我們所理解的「學習」和「有效的學習」完全不一樣。要想知道什麼是學習?我們可以先問自己,什麼不是學習?
  • 伯克利《深度強化學習》更新 | 第十三講:利用模仿優化控制器學習...
    進入小組:https://ai.yanxishe.com/page/groupDetail/30 觀看完整視頻同時,針對這門課程,我們同樣開設了微信社群,回復字幕君(微信:leiphonefansub)你加入該課程小組的截圖我們將你拉入微信群聊加時備註「CS294加群」~  小組介紹
  • 深度|深度學習與統計物理的通用邏輯——重整化系統
    就在上個月,另一個名為「一群玩飛盤的年輕人」的圖片也廣為流傳, 人工智慧研究者們因「深度學習」取得的進一步成功而歡呼雀躍,這是一套具有廣泛意義且非常成功的稀疏算法模型,大致模仿了大腦僅通過身處真實世界就能對世界特徵變得更加敏感的方法。運用最新的深度學習協議,由人工神經元網絡組成的計算機模型正變得越來越擅長圖像,語音和模式識別——它們也是私人助理,複雜數據分析和無人駕駛汽車的核心技術。