Deep Learning 101

Taiwan’s pioneering and highest deep learning meetup, launched on 2016/11/11 @ 83F, Taipei 101

AI是一條孤獨且充滿惶恐及未知的旅程,花俏絢麗的收費課程或活動絕非通往成功的捷徑。
衷心感謝當時來自不同單位的AI同好參與者實名分享的寶貴經驗;如欲移除資訊還請告知。
TonTon Huang Ph.D. 發起,及其當時任職公司(台灣雪豹科技)無償贊助場地及茶水點心。

Deep Learning 101 Buy Me A Coffee

YouTube | Facebook | 回 GitHub Pages | 網站 | Hugging Face Space

2017/09/08, Autoencoders @ Deep Learning Book Chapter 14

自編碼器 (Autoencoder)

深入解析自編碼器的核心概念、主要變體及其多樣化應用

核心目標與基本架構 Core Concepts & Architecture

核心目標 (Core Objective): 自編碼器的主要目標是學習輸入數據的有效低維編碼表示 (隱藏層),並能利用此編碼準確重構原始輸入。這個過程迫使模型從高維輸入中提取最重要、最具代表性的特徵。

基本架構 (Basic Architecture):編碼器 (encoder) $f(x)$ 將輸入 $x$ 映射到潛在表示 $h$,以及解碼器 (decoder) $g(h)$ 從 $h$ 重建輸出 $r$ 組成。中間層稱為潛在表示或隱藏層。

訓練目標 (Training Goal): 最小化原始輸入與重建輸出之間的重構誤差 $L(x, r)$,常用均方誤差 (Mean Squared Error, MSE)

自編碼器的主要變體 Main Variants

欠完備自編碼器 Undercomplete AE

特點: 隱藏層的維度小於輸入層維度

機制: 強制模型對輸入數據進行壓縮,被迫學習並保留輸入中最顯著、最有信息的特徵。

與非線性 PCA 類似,有助於捕捉最顯著的特徵,不學習過多細節。

稀疏自編碼器 Sparse AE

特點: 除了重構誤差,還懲罰隱藏層編碼 $h$ 的非稀疏性

機制: 通過 L1 正則化 (λ $\sum_i |h_i|$) 或 KL 散度懲罰誘導稀疏性,鼓勵模型只激活少數隱藏單元。

優勢:被迫發現數據中更本質的特徵,潛在優勢包括更具可解釋性的特徵、更好的泛化能力。

去噪自編碼器 (DAE) Denoising AE

訓練目標: 接收一個被隨機損壞 (加噪) 的輸入版本 $\tilde{x}$,並學習重構原始的、未被損壞的輸入 $x$ ($L(x, g(f(\tilde{x})))$)。

機制: 迫使模型學習數據變數之間的依賴關係,並能從損壞數據中恢復。DAE 學習從偏離流形點「拉回」到流形上,其重構方向可視為估計數據流形在該點的局部切線方向。

當噪聲很小時,DAE 的訓練目標近似於學習數據分佈的得分 (score),即 $\nabla_x \log p_{\text{data}}(x)$。

深度自編碼器 Deep Autoencoder

特點: 編碼器和解碼器包含多個隱藏層

優勢 Advantages

  • 能學習到更複雜的非線性函數
  • 更少參數逼近複雜目標。
  • 能夠學習層次化特徵
  • 可以更有效地將數據壓縮到低維空間
  • 潛在減少訓練數據量和時間,將複雜映射分解為多層可能更容易優化。

訓練 (Training): 通常採用逐層預訓練後進行微調的方式。

預測稀疏分解 (PSD) Predictive Sparse Decomposition

特點: 結合了稀疏編碼自編碼器的思想。不僅尋找稀疏表示,也學習一個編碼器來直接預測這個稀疏表示。

損失函數: 包含重構誤差項 ($||x - g(h)||^2$)、稀疏懲罰項 ($\lambda||h||_1$)、以及預測誤差項 ($\gamma||h - f(x)||^2$)。

收縮自編碼器 Contractive AE

機制: 通過懲罰編碼函數對輸入的敏感度 (即導數的大小) 來實現。

目標: 學習能夠捕捉數據本質結構,同時對無關擾動不敏感的特徵。

與理論概念的連結 Theoretical Connections

數據流形假設 Data Manifold Hypothesis

高維數據點實際上集中在一個嵌入在高維空間中的低維光滑子空間 (流形) 上或其附近。自編碼器試圖學習這個低維流形的結構。DAE 通過學習將損壞點拉回流形,間接學習了流形的局部幾何結構。

與機率模型的關係 Relation to Probabilistic Models

確定性自編碼器可視為隨機模型的一種特殊或退化情況。確定性解碼器 $r=g(h)$ 可解釋為一個隨機解碼器 $p_{\text{decoder}}(x|h)$,其機率質量完全集中在點 $g(h)$ 上。最小化重構誤差可解釋為最大化條件對數概似

實際應用與實務考量 Applications & Practicalities

主要用途 Main Uses

  • 降維與可視化 (如 MNIST)
  • 信息檢索 (語義哈希)
  • 異常檢測
  • 生成模型 (VAE 核心)
  • 特徵學習 (預訓練)

實際應用案例 (音頻來源) Example Use Cases (from audio)

雖然以下案例非特指自編碼器,但體現了機器學習應用中的考量:

  • APP 推送通知點擊預測: 利用用戶行為和設備特徵預測點擊率,以減少打擾、提高轉換率。
  • 二進制文件病毒檢測: 將二進制文件 (如 APK) 轉換為圖像,利用 CNN (如 InceptionV3) 進行分類檢測,有潛力識別新變種病毒。

實務部署考量 (音頻來源) Deployment Considerations (from audio)

模型大小: 影響部署,尤其在行動裝置或需快速響應的後端服務。

響應時間 (Latency): 實際應用常需毫秒級預測,大型模型計算耗時。

訓練資源: 大型模型需大量數據、計算資源 (GPU) 和時間。

效果與大小權衡: 有時為縮小模型犧牲微小精度以符部署需求。

數據特性: 需根據數據特性選擇合適模型,Random Forest 等在某些結構化數據上可能更優。

學術界與業界差異: 業界需考量部署可行性、成本、效率和商業目標。