課程總覽
📚 內容摘要
深度學習是機器學習的一個子領域,專注於利用人工神經網絡從原始數據中學習複雜且層次化的特徵表示。本課程涵蓋基本原理、背後的數學基礎、優化概念(梯度下降、反向傳播)、網路模組(線性層、卷積層、池化層)以及常見架構(CNN、RNN)。應用範例包括電腦視覺、自然語言處理和強化學習。學生將使用 PyTorch 深度學習庫進行實現,並完成一個針對真實世界情境的最終專案。
核心目標簡要總結:掌握深度學習理論,使用 PyTorch 實現模型,理解專用架構(CNN、RNN、Transformer),並將這些概念應用於電腦視覺、自然語言處理與序列決策問題。
🎯 學習目標
- 解釋訓練深度神經網絡所需的數學基礎與核心優化技術(梯度下降、反向傳播)。
- 利用 PyTorch 深度學習框架,高效地實現、訓練與調試現代網路架構,並運用 CUDA 加速與高效的資料處理技術。
- 設計並分析專用架構,包括適用於影像資料的卷積神經網絡(CNN)與用於序列依賴關係的 Transformer 模型。
- 將深度學習技術應用於核心應用領域中的實際問題解決:電腦視覺、自然語言處理與強化學習。
- 基於穩健性、可解釋性與道德公平性評估模型,比較各種進階架構(例如生成模型、半監督學習)的優勢。
🔹 第一課:深度學習基礎與優化
概覽: 本課作為基礎,介紹深度學習的核心構建單元。我們首先探討線性分類器,特別聚焦於 Softmax 函數及使用交叉熵損失量化錯誤的方式。在此基礎上,定義基本前饋神經網絡(多層感知機)的結構,詳述權重、偏置與非線性激活函數(如 ReLU)的角色。重點轉移至訓練高度參數化的模型所必需的優化過程。我們將引入梯度下降(GD)作為核心優化演算法,對比其與隨機梯度下降(SGD)及小批量梯度下降(Mini-batch GD)在計算需求上的差異。關鍵在於,本課以詳細說明反向傳播演算法作結,展示如何透過計算圖有效運用微積分中的鏈式法則,計算出所有層所需之權重更新梯度。 學習成果:
- 定義基本前饋神經網絡的結構,並解釋非線性激活函數(如 ReLU)的必要性。
- 設定分類損失函數(如 Softmax 與交叉熵),並理解其如何量化模型誤差。
- 解釋梯度下降(GD)的運作機制,並區分其變體(SGD、Mini-batch GD)在收斂速度與計算效率上的差異。
- 使用鏈式法則推導反向傳播演算法,並透過計算圖示範梯度計算的實作方式。
- 釐清理解神經網絡優化所需的關鍵數學前提(線性代數與多變量微積分)。
🔹 第二課:實務實現與深度學習工具
概覽: 本課由理論概念過渡到使用 PyTorch(本課程的核心工具)進行生產級深度學習實作。我們從 PyTorch 的基本概念開始,詳述張量(Tensor)結構,利用 CUDA 進行 GPU 加速,並理解透過動態計算圖實現的自動微分。重點放在高效資料處理:介紹 PyTorch 的 Dataset 類別以抽象資料,以及 DataLoader 用於管理大型資料集,支援批次處理、打亂順序與多流程資料載入。最後,我們討論擴展訓練規模的實務考量,包含記憶體管理最佳化、梯度累積等技巧,並介紹分散式訓練的核心概念(如資料平行),以應對超出單一 GPU 能力的模型。 學習成果:
- 使用 PyTorch 張量實現核心深度學習操作,並利用其自動微分功能計算梯度。
- 設計並實作使用 PyTorch Dataset 與 DataLoader 抽象的高效資料管道,以處理大規模、批次資料輸入。
- 配置模型與資料以在支援 CUDA 的 GPU 上訓練,大幅加速訓練與推理過程。
- 解釋記憶體最佳化技術(如梯度累積)的作用,並理解分散式訓練的基本概念以達成可擴展性。
🔹 第三課:卷積網路:層與架構
概覽: 本課介紹卷積神經網絡(CNN),現代電腦視覺的基石。我們深入探討基礎模組:卷積層與池化層。針對卷積層,我們涵蓋運算數學,包括核(濾波器)、步幅與填充的角色,並討論局部連接與參數共享等關鍵概念,使 CNN 對高維影像資料更具效率。我們將區分最大池化與平均池化,並說明其在降採樣與建立平移不變性方面的關鍵作用。最後,我們將這些層整合為完整的基礎 CNN 架構,展示從原始像素資料經由層次特徵提取堆疊,轉換至全連接層以進行最終分類的常見順序流程,並以 LeNet-5 等經典模型為代表範例。 學習成果:
- 解釋二維卷積的數學運算,包括濾波器大小、步幅與填充如何影響輸出特徵圖的尺寸。
- 阐述局部連接與參數共享的概念,並說明它們如何提升 CNN 相較於全連接網路在影像資料上的效率與效能。
- 區分最大池化與平均池化,並描述池化層在特徵圖降採樣與實現平移不變性的主要目的。
- 設計並分析由交錯排列的卷積、激活(ReLU)、池化與全連接層組成的基本序列式 CNN 架構。
🔹 第四課:電腦視覺:先進模型與解讀
概覽: 本課超越基礎的 CNN(如 AlexNet),探討用於尖端電腦視覺任務的複雜且影響深遠的深度學習架構。我們將分析關鍵模型的設計原則與創新,包括 VGG 網路的精簡深度、Inception(GoogLeNet)的多尺度特徵聚合,以及 ResNet 中殘差連接的關鍵運用,以克服極深網路中的梯度消失問題。課程後半部分聚焦於模型可解釋性與可解釋人工智慧(XAI)這一重要議題。學生將學習可視化技術,例如檢視特徵圖激活,並深入探討基於梯度的定位方法。具體而言,我們將介紹類別激活映射(CAM)及其基於梯度的推廣——Grad-CAM 的機制與實作,該技術能透過標示輸入影像中顯著區域來視覺化神經網絡的決策。 學習成果:
- 比較與區分 VGG、GoogLeNet 與 ResNet 模型的核心架構創新(如殘差連接、Inception 模組)。
- 解釋擴展網路深度的相關角色與挑戰,特別是針對退化問題,並說明 ResNet 如何加以緩解。
- 詳述基本的特徵可視化方法,包括檢視中間層激活與學習到的濾波器。
- 概述類別激活映射(CAM)與 Grad-CAM 的理論機制,以產生基於梯度流的視覺解釋。
- 應用可解釋性技術分析與診斷先進 CNN 在分類任務中的決策過程。
🔹 第五課:循環神經網絡與序列建模
概覽: 本課介紹建模結構化資料(特別是序列,如文字、時間序列)所面臨的挑戰,這些資料違反了前饋網路中常見的獨立性假設。我們將定義序列建模任務,如機器翻譯、語音辨識與時間序列預測,強調維持狀態資訊的需求。核心焦點在於傳統循環神經網絡(RNN)的架構。重點概念包括共享權重機制、跨時間步的計算圖展開、隱藏狀態更新(h_t)的計算,以及處理可變長度輸入序列的方法。我們也將檢視基本 RNN 的主要限制,即由於反向傳播通過時間(BPTT)期間出現的梯度消失與爆炸問題,導致無法捕捉長期依賴性。 學習成果:
- 定義結構化資料(序列),並解釋標準前饋網路(FNN)為何不適合建模序列依賴性。
- 描述基本循環神經網絡(RNN)的架構,識別隱藏狀態與共享權重矩陣等元件。
- 展示 RNN 計算圖在時間步上的「展開」過程,並討論如何處理可變長度的輸入序列。
- 解釋反向傳播通過時間(BPTT)的機制,並分析傳統 RNN 訓練中固有的梯度消失與爆炸問題。
🔹 第六課:注意力機制與 Transformer 架構
概覽: 本課深入探討《Attention Is All You Need》論文所引發的范式轉移,透過消除循環性,僅依靠注意力機制來推動序列建模,擺脫傳統 RNN。我們首先建立注意力機制的數學基礎,特別聚焦於使用 Query(Q)、Key(K)、Value(V)向量的縮放點積注意力。講座接著將此概念擴展至多頭注意力機制,說明其在捕捉多樣上下文依賴性中的角色。核心焦點在於完整的 Transformer 架構,分析編碼器與解碼器堆疊的結構,包含殘差連接、層歸一化,以及維持序列資訊所必需的位置編碼。最後,我們探討 Transformer 如何實現顯著的平行化,並對神經機器翻譯與預訓練語言模型等領域產生革命性影響。 學習成果:
- 定義注意力機制的目的,並解釋其如何解決傳統循環神經網絡的限制(如長距離依賴、序列處理瓶頸)。
- 詳細說明縮放點積注意力的數學運算,準確指出 Query、Key 與 Value 向量的角色。
- 描述 Transformer 模型的整體架構,區分編碼器與解碼器堆疊,並解釋多頭注意力與前饋網路的功能。
- 解釋位置編碼在 permutation-invariant(排列不變)的 Transformer 架構中之必要性與數學實現。
- 分析 Transformer 架構在現代深度學習任務中所帶來的計算優勢(平行化)與廣泛適用性,並引用 BERT 與 GPT 等模型作為例證。
🔹 第七課:自然語言處理應用與嵌入
概覽: 本講座深入探討深度學習在自然語言處理(NLP)中的基礎與應用面向。我們首先探討有效的詞彙表徵的關鍵需求,從稀疏方法過渡到密集、學習得到的詞嵌入。核心機制將說明 Word2Vec(Skip-gram 與 CBOW)的原理,強調上下文如何生成能捕捉語意意義的豐富向量表示。接著,我們將這些基礎概念應用於兩項主要 NLP 任務:神經機器翻譯(NMT),利用序列到序列的編碼器-解碼器架構,並強調注意力機制在處理長距離依賴與對齊中的關鍵作用;以及自動語音辨識(ASR),探討深度模型如何處理聲學資料的時序序列,以產生文字輸出。討論將強調嵌入與序列深度學習架構如何構成現代商業 NLP 系統的骨幹。 學習成果:
- 解釋稀疏詞彙表示(如 one-hot 編碼)的限制,並說明密集詞向量嵌入的必要性。
- 描述如 Word2Vec(Skip-gram/CBOW)等模型的基本原理與架構,用於學習分佈式表示。
- 概述現代神經機器翻譯系統的核心組件(編碼器、解碼器、注意力),並與傳統方法做對比。
- 分析神經機器翻譯(NMT)與自動語音辨識(ASR)等序列到序列任務中固有的挑戰,特別是輸入/輸出長度可變的問題。
- 識別神經架構如何調整以處理自動語音辨識中的音訊輸入。
🔹 第八課:生成模型:VAE 與生成對抗網路
概覽: 本課介紹兩種現代深度生成模型的基石:變分自編碼器(VAEs)與生成對抗網路(GANs)。我們首先探討 VAE,詳述其架構——編碼器將資料映射至參數化的潛在分佈,解碼器則生成樣本。強調重點在於背後的數學,特別是 Evidence Lower Bound(ELBO)目標函數,剖析重建損失與 KL 散度項在正規化中的角色。關鍵的重參數化技巧(Reparameterization Trick)將被徹底解釋,以確保樣本過程中的梯度流得以實現。接著我們轉向 GAN,定義生成器(G)與判別器(D)之間的對抗、零和遊戲。講座涵蓋理論上的最小最大值函數,探討最優判別器如何最大化目標,並討論重大實務挑戰,如模式崩潰與訓練不穩定。最後,我們提供質性比較,對比 VAE 可解釋的潛在空間與 GAN 通常更優秀的樣本保真度。 學習成果:
- 辨別判別式與生成式建模的差異,並解釋學習複雜資料分佈的數學目標。
- 解釋變分自編碼器(VAE)的架構,並推導 Evidence Lower Bound(ELBO)目標函數。
- 分析重參數化技巧在 VAE 訓練中的必要性與功能,以確保有效的反向傳播。
- 描述生成對抗網路(GAN)的訓練過程,作為生成器與判別器之間的最小最大博弈。
- 根據樣本品質、潛在空間可解釋性與常見訓練挑戰(如模式崩潰)比較與區分 VAE 與 GAN。
🔹 第九課:深度強化學習
概覽: 本課透過建立馬爾可夫決策過程(MDP)這基礎決策框架,介紹深度強化學習(DRL)。我們定義代理-環境迴圈、狀態與動作空間,並說明最大化期望折現回報的目標。核心概念涵蓋傳統強化學習中的價值函數與貝爾曼最優方程。課程隨後轉向 DRL,探討大狀態空間的挑戰,並說明深度 Q 網絡(DQN)如何利用神經網絡近似 Q 函數以克服此問題。我們將詳細說明 DQN 所需的穩定技術,如經驗回放與目標網絡。最後,我們對比基於價值的方法與策略梯度技術,詳述 REINFORCE 算法的數學直覺以直接優化策略,並為更先進的演員-評分者(Actor-Critic)架構奠定基礎。 學習成果:
- 使用馬爾可夫決策過程(MDP)框架形式化序列決策問題,包含狀態、動作、獎勵與價值函數的定義。
- 解釋從表格 Q 學習過渡到深度 Q 網絡(DQN)的過程,並識別穩定 DRL 訓練的關鍵技術(經驗回放、目標網絡)。
- 基本區分基於價值的方法(如 DQN)與基於策略的方法(如 REINFORCE)。
- 描述策略梯度定理的目標函數與數學直覺,並說明其在 REINFORCE 算法中的實作方式。
- 對比現代深度強化學習情境中基於價值與基於策略方法的應用。
🔹 第十課:進階學習範式與道德人工智慧
概覽: 本課介紹深度學習部署所需的進階範式,並探討重要的社會影響。我們首先探討無監督深度學習的理論基礎與實務應用,聚焦於自編碼器與生成模型在表示學習與異常偵測中的用途。隨後,我們深入探討半監督學習(SSL)技術,如偽標籤與一致性正則化(如 \Pi-Model、MixMatch),這些技術對於利用大量未標記資料與稀缺標記樣本至關重要。課程第二部分批判性地審查道德人工智慧,詳述資料篩選與架構選擇如何引入演算法偏見。我們定義並分析關鍵公平性指標(如平等機會差異、人口比例公平性),並討論有效的緩解策略,強調在高風險深度學習系統中模型可解釋性(XAI)與責任感的重要性。 學習成果:
- 辨別無監督、半監督與標準監督學習的差異,並識別各範式適宜的現實世界情境。
- 描述關鍵無監督模型(如自編碼器)的功能與架構,以及其在降維或表示學習中的應用。
- 解釋現代半監督技術的方法,包括偽標籤與一致性正則化的概念。
- 識別並分類深度學習生命周期中引入演算法偏見的主要來源(資料取得、建模、部署)。
- 定義並比較常見的演算法公平性指標(如均等奇異性),並討論偏見緩解策略中的取捨。