圖靈學院內的文章包含三大主題:ESG浄零實驗室、AI實驗室及精實管理實驗室,我們會不定期分享相關主題之文章,也歡迎並對前述主題有興趣的學員投稿分享您的見解  (我要投稿)

Lesson 3 — 深度學習基礎Basics of Deep Learning

 

 

 

 

圖靈學院/科楠/2024年8月2日

 

    深度學習是機器學習的一個分支,它使用多層神經網絡來模擬人腦的結構和功能。這部分我們將介紹神經網絡的基本結構、工作原理以及一些流行的深度學習模型,如卷積神經網絡(CNN)和遞歸神經網絡(RNN)。

 

什麼是深度學習?

 

深度學習(Deep Learning)是一種通過模擬人腦的神經網絡進行數據分析和模式識別的技術。深度學習使用多層神經網絡(即「深度」),可以處理結構複雜且大量的數據。

我們可以將神經網絡比作一個由許多神經元組成的網絡,每個神經元類似於一個小型計算單元,它們通過層層疊加來學習和處理數據中的複雜模式。

 

神經網絡的基本結構

 

神經網絡的基本組成單元是「神經元」,它們通過「層」組織起來。每個神經網絡通常包含三種類型的層:

 

1. 輸入層:接收外部數據,並將其傳遞給網絡中的第一個隱藏層。
2. 隱藏層:進行數據的處理和特徵提取。網絡中可以有多個隱藏層,每個隱藏層包含若干神經元。
3. 輸出層:生成最終的預測或分類結果。

 

每個神經元接收來自上一層神經元的輸入,經過加權和激活函數的計算,將結果傳遞給下一層的神經元。這一過程可以用以下數學公式來表示:

 

 

其中,W 是權重矩陣, x 是輸入向量,b 是偏置項,f  是激活函數, y 是輸出向量。

 

激活函數

 

激活函數是神經網絡中一個關鍵的組成部分,它引入了非線性,使得網絡可以學習和表示複雜的模式。常見的激活函數包括:- Sigmoid 函數:將輸出壓縮到 (0, 1) 區間,適合於二分類問題。

 

- Tanh 函數:將輸出壓縮到 (-1, 1) 區間,適合於輸出有正負之分的情況。

 

- ReLU 函數:修正線性單元,對輸入值小於零的部分設為零,適合於大多數深度學習模型。

 

神經網絡的訓練

 

神經網絡的訓練過程主要包括前向傳播、損失計算和反向傳播三個步驟。

 

1. 前向傳播:將輸入數據從輸入層傳遞到輸出層,經過每一層的計算,最終得到預測結果。
2. 損失計算:使用損失函數來衡量預測結果與真實標籤之間的差距。常見的損失函數包括均方誤差(MSE)和交叉熵損失。
3. 反向傳播:通過鏈式法則計算損失函數相對於每個參數的梯度,並使用優化算法(如梯度下降)來更新網絡的參數,以最小化損失函數。

 

反向傳播的數學公式如下:

 

其中, L 是損失函數,W 是權重,y 是輸出。

 

卷積神經網絡(CNN)

 

卷積神經網絡(Convolutional Neural Network, CNN)是一種專門用於處理圖像數據的深度學習模型。CNN 通過卷積層和池化層提取圖像中的特徵,並使用全連接層進行分類。

  • 卷積層:卷積層使用卷積核(或濾波器)在輸入圖像上滑動,提取局部特徵。每個卷積核生成一個特徵圖。

    其中,I  是輸入圖像,K 是卷積核。

  • 池化層:池化層通過下採樣操作減少特徵圖的尺寸,從而減少計算量和參數量。常見的池化方法包括最大池化和平均池化。

 

  • 全連接層:全連接層將卷積層和池化層提取的特徵展平,並通過一個或多個全連接層進行分類。

 

CNN 在圖像識別、物體檢測和圖像生成等任務中取得了顯著的成功。

 

遞歸神經網絡(RNN)

遞歸神經網絡(Recurrent Neural Network, RNN)是一種專門用於處理序列數據的深度學習模型。RNN 能夠記憶並利用序列數據中的時間依賴性,是自然語言處理和時序預測等任務的理想選擇。

 

  • RNN 結構:RNN 的核心是隱藏狀態(hidden state),它能夠記錄前一時刻的輸入信息。對於每個時間步,RNN 將當前輸入和前一時刻的隱藏狀態作為輸入,計算當前的隱藏狀態和輸出。

 

  其中, 是當前的隱藏狀態, 是前一時刻的隱藏狀態, 是當前輸入, 是權重矩陣,b 是偏置項,f 是激活函數。

RNN 在語音識別、機器翻譯和文本生成等任務中得到了廣泛應用。

  • LSTM 和 GRU:標準的 RNN 在處理長期依賴性時存在梯度消失和梯度爆炸問題。長短期記憶(LSTM)和門控循環單元(GRU)是兩種改進的 RNN 結構,它們通過引入門控機制來有效解決這些問題。

(Source)

  •  LSTM:LSTM 包含輸入門、遺忘門和輸出門,用於控制信息的流動和記憶的更新。

    
      

 

  •  GRU:GRU 結構與 LSTM 類似,但只包含更新門和重置門,計算更加簡單高效。

(Source) 

 

 

 

深度學習的應用場景

 

深度學習在許多領域中都有著廣泛的應用,以下是一些典型的應用場景:

 

1. 圖像識別:深度學習模型,如CNN,在圖像識別和分類方面表現出色。應用包括面部識別、醫學影像分析和自動標註等。

2. 語音識別:深度學習技術在語音識別中也發揮了重要作用,應用於語音助手(如Siri和Google Assistant)和語音轉文本等領域。

3. 自然語言處理:深度學習模型,如RNN和Transformer,被廣泛應用於機器翻譯、文本摘要和情感分析等自然語言處理任務。

4. 自動駕駛:深度學習技術在自動駕駛汽車的感知和決策系統中扮演著關鍵角色。自動駕駛汽車需要處理來自多種傳感器的數據,如攝像頭和激光雷達,並做出即時決策。

5. 推薦系統:深度學習模型被用於推薦系統中,通過分析用戶的行為數據,提供個性化的產品或內容推薦。這些應用在電商、流媒體和社交媒體平台中非常常見。

 

結論

 

深度學習是一個充滿潛力的領域,它使用多層神經網絡來模擬人腦的結構和功能,並在圖像識別、語音識別、自然語言處理等多個領域取得了顯著成果。通過理解神經網絡的基本結構和工作原理,我們可以更好地應用深度學習技術來解決現實世界中的複雜問題。隨著技術的不斷進步,深度學習將在更多領域發揮更大的作用,帶來更多創新和變革。

 

上一篇Lesson 2:了解機器學習

下一篇Lesson 4:生成式AI介紹