Taiwan’s pioneering and highest deep learning meetup, launched on 2016/11/11 @ 83F, Taipei 101
AI是一條孤獨且充滿惶恐及未知的旅程,花俏絢麗的收費課程或活動絕非通往成功的捷徑。
衷心感謝當時來自不同單位的AI同好參與者實名分享的寶貴經驗;如欲移除資訊還請告知。
由 TonTon Huang Ph.D. 發起,及其當時任職公司(台灣雪豹科技)無償贊助場地及茶水點心。
YouTube | Facebook | 回 GitHub Pages | 網站 | Hugging Face Space
深入解析自編碼器的核心概念、主要變體及其多樣化應用
核心目標 (Core Objective): 自編碼器的主要目標是學習輸入數據的有效低維編碼表示 (隱藏層),並能利用此編碼準確重構原始輸入。這個過程迫使模型從高維輸入中提取最重要、最具代表性的特徵。
基本架構 (Basic Architecture): 由編碼器 (encoder) $f(x)$ 將輸入 $x$ 映射到潛在表示 $h$,以及解碼器 (decoder) $g(h)$ 從 $h$ 重建輸出 $r$ 組成。中間層稱為潛在表示或隱藏層。
訓練目標 (Training Goal): 最小化原始輸入與重建輸出之間的重構誤差 $L(x, r)$,常用均方誤差 (Mean Squared Error, MSE)。
特點: 隱藏層的維度小於輸入層維度。
機制: 強制模型對輸入數據進行壓縮,被迫學習並保留輸入中最顯著、最有信息的特徵。
與非線性 PCA 類似,有助於捕捉最顯著的特徵,不學習過多細節。
特點: 除了重構誤差,還懲罰隱藏層編碼 $h$ 的非稀疏性。
機制: 通過 L1 正則化 (λ $\sum_i |h_i|$) 或 KL 散度懲罰誘導稀疏性,鼓勵模型只激活少數隱藏單元。
優勢:被迫發現數據中更本質的特徵,潛在優勢包括更具可解釋性的特徵、更好的泛化能力。
訓練目標: 接收一個被隨機損壞 (加噪) 的輸入版本 $\tilde{x}$,並學習重構原始的、未被損壞的輸入 $x$ ($L(x, g(f(\tilde{x})))$)。
機制: 迫使模型學習數據變數之間的依賴關係,並能從損壞數據中恢復。DAE 學習從偏離流形點「拉回」到流形上,其重構方向可視為估計數據流形在該點的局部切線方向。
當噪聲很小時,DAE 的訓練目標近似於學習數據分佈的得分 (score),即 $\nabla_x \log p_{\text{data}}(x)$。
特點: 編碼器和解碼器包含多個隱藏層。
訓練 (Training): 通常採用逐層預訓練後進行微調的方式。
特點: 結合了稀疏編碼和自編碼器的思想。不僅尋找稀疏表示,也學習一個編碼器來直接預測這個稀疏表示。
損失函數: 包含重構誤差項 ($||x - g(h)||^2$)、稀疏懲罰項 ($\lambda||h||_1$)、以及預測誤差項 ($\gamma||h - f(x)||^2$)。
機制: 通過懲罰編碼函數對輸入的敏感度 (即導數的大小) 來實現。
目標: 學習能夠捕捉數據本質結構,同時對無關擾動不敏感的特徵。
高維數據點實際上集中在一個嵌入在高維空間中的低維光滑子空間 (流形) 上或其附近。自編碼器試圖學習這個低維流形的結構。DAE 通過學習將損壞點拉回流形,間接學習了流形的局部幾何結構。
確定性自編碼器可視為隨機模型的一種特殊或退化情況。確定性解碼器 $r=g(h)$ 可解釋為一個隨機解碼器 $p_{\text{decoder}}(x|h)$,其機率質量完全集中在點 $g(h)$ 上。最小化重構誤差可解釋為最大化條件對數概似。
雖然以下案例非特指自編碼器,但體現了機器學習應用中的考量:
模型大小: 影響部署,尤其在行動裝置或需快速響應的後端服務。
響應時間 (Latency): 實際應用常需毫秒級預測,大型模型計算耗時。
訓練資源: 大型模型需大量數據、計算資源 (GPU) 和時間。
效果與大小權衡: 有時為縮小模型犧牲微小精度以符部署需求。
數據特性: 需根據數據特性選擇合適模型,Random Forest 等在某些結構化數據上可能更優。
學術界與業界差異: 業界需考量部署可行性、成本、效率和商業目標。