翻譯:張玲
校對:丁楠雅
本文約2500字,建議閱讀15分鐘。
本文為你簡要介紹深度學習的基本構成、模型優化的幾種方式和模型訓練的一些最佳實踐。
一年多來,我在LinkedIn、Medium和Arxiv上閱讀了不少深度學習相關文章和研究論文。當我幾周之前開始麻省理工學院6.S191深度學習在線課程(這裡是課程網站的鏈接)以後,我決定寫下這一系列的文章來加深我對深度學習的結構化理解。
我將發佈以下4個課程:
深度學習簡介基於神經網絡的序列建模計算機視覺中的深度學習-卷積神經網絡深度生成模型對於每門課程,我將概述主要概念,並根據以前的閱讀資料以及我在統計學和機器學習方面的背景增加更多的細節和解釋。
從第2課程開始,我還將為每一課的開源數據集添加一個應用程序。
好的,讓我們開始吧!
深度學習簡介
背景
傳統的機器學習模型在處理結構化數據方面一直非常強大,並且已經被企業廣泛用於信用評分、客戶流失預測、消費者定位等。
這些模型的成功很大程度上取決於特徵工程階段的性能:我們越接近業務,從結構化數據中提取相關知識越多,模型就越強大。
當涉及到非結構化數據(圖像、文本、語音、視頻)時,手動特徵工程是耗時的、脆弱的,而且在實踐中是不可擴展的,這就是神經網絡因其可以從原始數據中自動發現特徵或者分類所需要的表示而越來越受歡迎的原因。它取代手動特徵工程,允許一臺機器既能學習特徵又能利用這些特徵執行特定的任務。
硬件(GPU)和軟件(與AI相關的高級模型/研究)的進步也提升了神經網絡的學習效果。
基本架構
深度學習的基本組成部分是感知器,它是神經網絡中的單個神經元。
給定一組有限的m個輸入(例如,m個單詞或m個像素),我們將每個輸入乘以一個權重
,然後對輸入的加權組合進行求和,並添加一個偏差,最後將它們輸入非線性激活函數,輸出
。
深度神經網絡只是組合多個感知器(隱藏層),以產生輸出。
現在,我們已經瞭解了深度神經網絡的基本架構,讓我們看看它如何用於給定的任務。
訓練神經網絡
比方說,對於一組X射線圖像,我們需要模型來自動區分病人與正常人。
為此,機器學習模型需要像人一樣通過觀察病人和正常人的圖像來學會區分這兩類圖像。因此,它們自動理解可以更好地描述每類圖像的模式,這就是我們所說的訓練階段。
具體地說,模式是一些輸入(圖像、部分圖像或其他模式)的加權組合。因此,訓練階段只不過是我們估計模型權重(也稱為參數)的階段。
當談論估計時,談論的是我們必須優化的目標函數。構建這個函數,應該最好地反映訓練階段的性能。當涉及到預測任務時,這個目標函數通常稱為損失函數,度量不正確的預測所產生的成本。當模型預測非常接近真實輸出的東西時,損失函數非常低,反之亦然。
在存在輸入數據的情況下,我們計算經驗損失(分類的二元交叉熵損失和迴歸的均方差損失)來度量整個數據集上的總損失。
由於損失是網絡權重的函數,我們的任務是找到實現最低損失的權重集:
如果只有兩個權重
,我們可以繪製下面的損失函數圖。我們想要做的是找出這種損失的最小值,從而找出損失達到最小值時的權重值。
為了最小化損失函數,我們可以應用梯度下降算法:
首先,我們隨機選擇權重的初始p向量(例如,遵循正態分佈)。然後,我們計算初始p向量中損失函數的梯度。梯度方向指示的是使損失函數最大化的方向。 因此,我們在梯度的反方向上邁出了一小步,使用此更新規則相應地更新權重值:注意:
在更新規則中,神經網絡實踐
總結
第一篇文章是對深度學習的介紹,可歸納為3個要點:
首先,我們瞭解了深度學習的基本組成部分,即感知器。然後,我們學會了將這些感知器組合在一起以組成更復雜的層次模型,並學會了如何使用反向傳播和梯度下降從數學上來優化這些模型。最後,我們已經看到了在現實生活中訓練這些模型的一些實際挑戰,以及一些最佳實踐,如自適應學習,批處理和避免過度擬合的正則化。下一篇文章將是關於神經網絡的序列建模。我們將學習如何模擬序列,重點關注遞歸神經網絡(RNN)及其短期記憶和長期短期記憶(LSTM)以及它們在多個時間步長內跟蹤信息的能力。
敬請關注!
原文標題:Introduction to Deep Learning原文鏈接:https://www.kdnuggets.com/2018/09/introduction-deep-learning.html譯者簡介
張玲,在崗數據分析師,計算機碩士畢業。從事數據工作,需要重塑自我的勇氣,也需要終生學習的毅力。但我依舊熱愛它的嚴謹,痴迷它的藝術。數據海洋一望無境,數據工作充滿挑戰。感謝數據派THU提供如此專業的平臺,希望在這裡能和最專業的你們共同進步!
— 完 —
關注清華-青島數據科學研究院官方微信公眾平臺“THU數據派”及姊妹號“數據派THU”獲取更多講座福利及優質內容。