閱讀355 返回首頁    go 阿裏雲 go 技術社區[雲棲]


簡單入門——深度學習筆記(Part I)

首發地址:https://yq.aliyun.com/articles/71667


https://yq.aliyun.com/cloud

作者介紹:Deepak Shah

Deepak Shah畢業於德克薩斯奧斯汀分校,徒步旅行愛好者,目前是深度學習\數據科學實習生,研究領域專注於深度學習、編程、金融等方麵。

https://www.deepakvshah.com/

Medium論壇:https://medium.com/@dvshah13

Github論壇:https://github.com/Dvshah13

 筆記分為兩個部分,本文是筆記Part I,關於深度學習筆記Part II可以看這篇博客

   目前有一些正在進行已經完成編碼項目,這些項目與深度學習有關。寫下一些筆記,簡單地向大家介紹深度學習與神經網絡

Datasoap項目:https://github.com/DigitalCrafts-HTX-11-2016-Cohort/DataSoap

Digital Crafts項目:https://github.com/MarvinM579/e-commerce

  • 神經網絡的結構就像任何其他網絡。
  • 它是一係列互連的節點,稱為神經元和邊緣,並將它們連接在一起。
  • 主要功能是接收一組輸入執行逐步複雜的計算並使用輸出來解決問題。
  • 分類是其中的一個應用。分類是對一組對象進行分類,而隻使用描述它們的一些基本數據特征。
  • 分類器的例子 - 邏輯回歸,支持機器向量(SVM)、樸素貝葉斯、神經網絡。
  • 分類器數據作為輸入開始,通過隱藏層進行處理,並在輸出處給出置信分數。
  • 神經網絡由輸入層,隱藏層和輸出層組成。隱藏層位於輸入和輸出層之間。
  • 神經網絡可以被視為在分層網絡中將分類器一起旋轉的結果,因為隱藏和輸出層中的每個節點都有自己的分類器。
  • 從輸入 - >隱藏層 - >輸出的過程稱為前向傳播(prop)。
  • 分層的感知器網絡大大提高了個體感知器觸發的準確性。
  • 每組輸入受其自身的權重和偏置影響。這就是為什麼當通過相同的圖層,得到一個不同的結果。
  • 每個邊具有唯一的權重,並且具有唯一的偏置。神經網絡的預測精度取決於其權重和偏置
  • 目標是希望精確度高神經網每次都預測一個盡可能接近實際輸出的值。
  • 提高神經網絡精度的過程稱為訓練。
  • 為了訓練網絡,將來自前向傳播的輸出與已知正確的輸出進行比較。代價是兩者的
  • 訓練的目的是使這個代價盡可能小。
  • 為此,逐步調整權重和偏置,直到預測與正確的輸出密切匹配。
  • 一旦訓練良好,神經網絡有可能每次都能進行準確的預測。

  • 深度學習有能力識別令人難以置信的複雜模式特別是神經網絡。
  • 計算機一直擅長重複計算並能給出詳細的說明,但曆來是不擅長進行模式識別。
  • SVM
  • 但是隨著你的數據增長到幾十或更多的輸入,神經網絡開始表現優異。
  • 隨著模式變得更複雜,具有少量層的神經網絡可能變得不可用。原因是因為每層中所需的節點數量隨著數據中可能的模式的數量呈指數增長。這使得訓練變得昂貴(時間),並且精度受損。
  • 深層網絡
  • 深層網絡能夠將複雜的模式分解成一係列更簡單的模式。
  • 示例:檢測人臉。深層網絡首先將使用邊緣來檢測麵部的不同部分(嘴唇、鼻子、眼睛、耳朵),然後將結果組合在一起以形成整個麵部。
  • 使用更簡單的模式作為複雜模式的構建塊,這使得深層網絡具有優勢。
  • 精度已變得越來越令人印象深刻。
  • 深層網絡的靈感來自於我們自己的大腦的結構。大腦的模式識別類似於深層網絡。
  • GPU

  • 第一步是弄清楚你是否想要構建一個分類器或者在數據中找到模式。
  • 無監督學習試圖在未標記的數據中找到模式。如果這是你的目標,最好的方法是受限玻爾茲曼機(RBM)或自動編碼器。
  • 監督學習試圖使用標簽數據構建分類器。可以根據應用程序選擇不同的方法
  • 對於文本處理任務,如情感分析解析和命名實體識別,使用遞歸神經張量網絡(RNTN)或循環網絡(RNN
  • 對於圖像識別,使用深信念網絡(DBN)或卷積網絡CNN
  • RNTN
  • 對於語音識別使用循環網絡
  • 一般來說,具有整流線性單元(RELU)的深信念網絡(DBN)和多層感知器(MLP)是分類的好選擇。
  • 對於時間序列分析,最好使用循環網絡。
  • 之所以花費這麼長的時間來實現深層網絡由於其訓練難度高

為什麼深層網絡難以訓練

  • 當我們嚐試使用稱為反向傳播的方法訓練它們時,會遇到一個稱為消失梯度的基本問題,有時稱為爆炸梯度。
  • 當發生消失梯度時,訓練花費時間太長,精度受到很大影響。
  • 訓練神經網絡時,會不斷計算成本值。然後通過在整個訓練過程中對所述權重和偏置進行微調來降低成本,直到獲得最低可能值。
  • 訓練過程使用了梯度,用來測量成本相對於權重或偏置的變化而變化的速率。
  • 2006
  • 想象梯度類似於斜坡,訓練過程如一個球下坡。坡度越陡,球越快下降。相同的邏輯適用於深層網絡的梯度。
  • 在神經網絡中,梯度開始衰減或消失。梯度在早期的層中小得多。因此早期的層是最慢的訓練。
  • 如果早期的層是錯誤的,由網絡建立的結果將是錯誤的。
  • 反向傳播
  • 在反向傳播中,每次計算梯度時,它會使用該點所有以前的梯度。一個節點可以在整個網絡中使用許多不同的梯度。
  • 網絡越大和越深,其變得越複雜,並且每個節點具有更多的梯度。這是因為任何節點處的梯度是到該點為止之前梯度的乘積。
  • 1/4
  • 2006


本文由北郵@愛可可-愛生活老師推薦,阿裏雲雲棲社區組織翻譯。

文章原標題《My notes on Deep Learning》,作者:Deepak Shah,譯者:海棠

文章為簡譯,更為詳細的內容,請查看原文

最後更新:2017-07-12 22:10:22

  上一篇:go  簡單入門——深度學習筆記(Part II)
  下一篇:go  讓係統更清晰——解構複雜係統的五種常用模型