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/07/07, Representation Learning @ Deep Learning Book Chapter 15

表示學習重點摘要

探索數據的內在結構:從理想特徵到深度學習的遷移與應用

表示學習的核心思想與理想屬性 Core Ideas & Ideal Properties

表示學習 (Representation Learning) 的核心思想是學習數據的良好表示或特徵,以便更容易解決後續的學習任務,例如分類或回歸。一個好的表示能夠捕捉數據中的本質結構和有用信息

理想的表示應捕捉數據的潛在成因 (latent factors of variation)。基於潛在成因的表示具有更高的可解釋性、泛化能力和魯棒性。

解耦表示 Disentangled Representation

單個潛在單元對數據變化的單個獨立生成因素敏感,具強可解釋性、易於控制操作,利於遷移和泛化。

分佈式表示 Distributed Representation

許多特徵同時激活,每個特徵可參與多個表示。優勢:指數級表示能力、更好泛化、更豐富相似性度量。

平滑性/局部不變性 Smoothness/Local Invariance

相似輸入映射到相似表示,或表示對不重要局部變化保持不變,助於魯棒性、泛化並簡化決策邊界。

層次組織 Hierarchical Organization

現實世界概念具層次結構,深度網路多層結構自然體現此點,從低層簡單特徵組合到高層抽象特徵。

稀疏性 Sparsity

表示中只有少數特徵活躍,助於提取本質信息、提高可解釋性、計算效率並作為正則化避免過擬合。

流形學習 Manifold Learning

高維數據位於低維非線性流形上,表示學習目標之一是找到並學習數據在流形上的表示以捕捉內在結構。

Autoencoder 及其變體 Autoencoders & Variants

Autoencoder 是一種神經網路,訓練目標是使輸出與輸入相似。它包含將輸入映射到隱藏層 (Code Layer) 的編碼器 (Encoder) 和將隱藏層映射回輸出的解碼器 (Decoder)

欠完備自編碼器 Undercomplete AE

隱藏層維度比輸入維度小,強迫模型捕捉輸入數據的最顯著特徵。

稀疏自編碼器 Sparse AE

在隱藏層輸出上施加稀疏性懲罰,鼓勵學習更多特徵。

去噪自編碼器 Denoising AE

訓練目標是從帶有雜訊的輸入中重構出原始的乾淨數據。

收縮自編碼器 Contractive AE

懲罰表示對輸入微小變化的敏感度,助於學習數據分佈結構。

深度 Autoencoder Deep AE

相較淺層具更高表示效率,可能需更少數據和訓練時間。

參數化稀疏編碼 (PSC) Parametric Sparse Coding

結合 Autoencoder 與稀疏編碼,預測輸出並推斷稀疏潛在表示。

深度學習中的預訓練與遷移學習 Pre-training & Transfer Learning

貪心逐層無監督預訓練 Greedy Layer-wise Unsupervised Pre-training

一種早期訓練深度網路的方法,逐層獨立地無監督訓練網路,為後續監督學習(精調)提供更好參數初始值。有助於緩解梯度消失/爆炸等優化困難。

有效性因素: 標註數據稀少但有大量未標註數據時特別有效;可作正則化;助於解決優化困難;任務相關性重要。

遷移學習與精調 Transfer Learning & Fine-tuning

利用在大規模數據集上預訓練好的模型,作為特徵提取器或進行精調 (Fine-tuning) 應用於新任務。專家建議在實際應用中不要從零開始訓練極深的網路 ("don't be a hero")。

精調策略 (Fine-tuning Strategies):

  • 數據小且相似:作固定特徵提取器,只訓分類器。
  • 數據大且相似:精調最後幾層。
  • 數據小但不同:替換後幾層,考慮前層加SVM。
  • 數據大但不同:精調較多層。

可對不同層使用不同學習率。

層次遷移 (Layer Transfer):複製預訓練模型的部分層到新模型初始化。

實際應用與挑戰 Practical Applications & Challenges

APP通知推薦 App Notification Recommendation

利用多種用戶和設備特徵預測用戶點擊通知的可能性,提升點擊率及收益,減少打擾。

病毒檢測 Virus Detection

將二進位數據轉換成圖像,使用 CNN (如 Inception V3) 分析,可能識別未知病毒,避免複雜特徵工程。

部署挑戰 Deployment Challenges

  • 模型大小與延遲: 複雜模型檔案大,影響部署和響應速度。
  • 計算資源與時間: 訓練需強大硬體和長時間。
  • 實務與學術落差: 業界需考慮成本、效率、用戶體驗和收益。