深度學習

已完成

深度學習 是一種先進的機器學習形式,會嘗試模擬人類大腦學習的方式。 深度學習的關鍵是建立人工 神經網路 ,使用數學函數模擬生物神經元中的電化學活動,如下所示。

生物神經網路 人工神經網路
自然神經網路的圖表。 人工神經網路的圖表。
神經元因應電化學刺激而激發。 當神經元被激發時,信號會傳遞至連接的神經元。 每個神經元都是在輸入值 (x) 和 權數w) 上運作的函式。 函式會包裝在 啟用 函式中,以判斷是否要傳遞輸出。

人工神經網路 由多層神經元 組成,基本上定義深度巢狀函式。 此架構是這項技術稱為 深度學習 的原因,而其所產生的模型通常稱為 深度神經網路 (DNN)。 您可以針對許多種類的機器學習問題使用深度神經網路,包括回歸和分類,以及用於自然語言處理和計算機視覺的更特製化模型。

就像本課程模組中所討論的其他機器學習技術一樣,深度學習涉及將訓練數據擬合到一個函數,依據一個或多個特徵的值來預測標籤(y)。 函式 (f(x)) 是巢狀函式的外部層,其中神經網路的每個層會封裝在 x 上運作的函式,以及與其相關聯的權數 (w) 值。 用來定型模型的演算法牽涉到反覆地將定型數據中的特徵值 (x) 轉送至層,以計算 ŷ 的輸出值,驗證模型以評估計算的 ŷ 值與已知 y 值相差的程度(其可量化模型中的錯誤層級或 遺失程度), 然後修改權數 (w) 以減少損失。 定型的模型包含最終的加權值,可產生最精確的預測。

範例 - 使用深度學習進行分類

為了進一步瞭解深度神經網路模型的運作方式,讓我們來探索神經網路用來定義企鵝物種分類模型的範例。

用來分類企鵝物種的神經網路圖表。

特徵數據 (x) 是由企鵝的一些測量所組成。 具體來說,度量是:

  • 企鵝喙的長度。
  • 企鵝喙的深度。
  • 企鵝的鰭的長度。
  • 企鵝的重量。

在此情況下, x 是四個值的向量,或以數學方式 x =[x1,x2,x3,x4]

我們試圖預測的標籤(y)是企鵝的物種,而且可能有三種可能物種:

  • Adelie
  • 「金圖企鵝」
  • Chinstrap

這是分類問題的範例,其中機器學習模型必須預測觀察所屬的可能類別。 分類模型會透過預測由每個類別的機率所組成的標籤來完成此作業。 換句話說,y 是三個機率值的向量;每個可能類別各有一個:[P(y=0|x)、P(y=1|x)、P(y=2|x)]。

使用此網路推斷預測企鵝類別的程式如下:

  1. 企鵝的觀察特徵向量會被輸入至神經網路的輸入層,其中神經元代表每個 x 值。 在此範例中,下列 x 向量會當做輸入使用: [37.3、16.8、19.2、30.0]
  2. 第一層神經元的函數各自計算加權總和,透過結合 x 值和 w 權重,然後將結果傳遞給激活函數,以判斷是否達到能夠傳送到下一層的臨界值。
  3. 一層中的每個神經元都會連接到下一層中的所有神經元(有時稱為 完全連線的網路架構),因此每一層的結果都會透過網路轉送,直到它們到達輸出層為止。
  4. 輸出層會產生值的向量;在此情況下,使用 softmax 或類似函式來計算企鵝三個可能類別的機率分佈。 在此範例中,輸出向量是: [0.2, 0.7, 0.1]
  5. 向量的元素代表類別 0、1 和 2 的機率。 第二個值是最高的,因此模型預測企鵝的物種是 1 (Gentoo)。

神經網路如何學習?

神經網路中的權數是計算標籤預測值的核心。 在定型過程中,模型 會了解 會產生最精確預測的權數。 讓我們更詳細地探索訓練過程,以瞭解此學習是如何發生的。

正在定型、評估和優化神經網路的圖表。

  1. 會定義定型和驗證數據集,並將定型功能饋送至輸入層。
  2. 網路每一層的神經元會套用其權數(最初是隨機指派的),並透過網路饋送數據。
  3. 輸出層會產生一個向量,其中包含 ŷ 的導出值。 例如,企鵝類別預測的輸出可能是 [0.3]。0.1. 0.6]
  4. 損失函式可用來比較預測的 ŷ 值與已知的 y 值,並匯總差異(也稱為損失)。 例如,如果上一個步驟中傳回輸出的已知類別是 Chinstrap,則 y 值應該是 [0.0, 0.0, 1.0]。 這個 與 ŷ 向量之間的絕對差異是 [0.3, 0.1, 0.4]。 實際上,損失函式會計算多個案例的匯總變數,並將其摘要為單一 損失 值。
  5. 由於整個網路基本上是一個大型巢狀函式,因此優化函式可以使用差異微積分來評估網路中每個權數對損失的影響,並判斷其如何調整(上下),以減少整體損失量。 特定的優化技術可能會有所不同,但通常涉及 梯度下降 方法,其中每個權數都會增加或減少,以將損失降到最低。
  6. 權數的變更會 反傳 至網路中層,取代先前使用的值。
  7. 此程式會在多個反覆專案上重複執行(稱為 epochs),直到損失降到最低,且模型可正確預測。

備註

雖然在訓練數據中,每個案例一次一次通過網路處理比較容易理解,但實際上數據會以矩陣形式批量處理,並使用線性代數進行計算。 基於這個理由,類神經網路定型最適合在具有針對向量和矩陣作優化的圖形處理單位 (GPU) 的計算機上執行。