[AI] 1-3. 深度學習的發展
卷積神經網路與反向傳播這兩個應用於電腦視覺的深度學習關鍵概念,在 1989 年就已經被研究透徹。長短期記憶(Long Short-Term Memory, LSTM) 演算法是時間序列的深度學習基礎,也於 1997 年發展出來,之後幾乎沒有什麼演進。那麼為什麼深度學習會在 2012 年後才開始蓬勃發展呢? 技術演變 硬體 資料集和競賽評比 演算法的進步 因為機器學習的發展是經由實驗結果來驗證(而不是由理論引導),所有只有當資料和硬體可支撐新思維時,才能促進演算法的進步。 硬體 從 1990 到 2010 年,CPU 提升了約 5000 倍,但這仍然無法供應電腦視覺或語音辨識的典型深度學習模型。 在 2000 年代,由 NVIDIA 和 AMD 等公司投資大規模平行運算晶片(graphical processing units, 圖形處理單元, GPU),以應愈來愈逼真的影音遊戲。在 2007 年,NVIDIA 推出了 CUDA,一個針對 GPU 的程式開發介面。從物理建模開始,只需要 GPU 就可以在各種高度平行化運算中取代大量 CPU。深度神經網路主要由許多矩陣多項式構成,也屬於高度平行化處理。因此在 2011 年,開始有研究人員(Dan Ciresan, Alex Krizhevsky)以 CUDA 來開發神經網路。 資料 除了過去 20 年儲存設備爆發式的發展外,網際網路的興起才是真正影響資料源的重大關鍵,大量來自於網路的資料被應用於機器學習上。 ImageNet 提供了大量的已被標註(labled)的影像,包含許多大尺寸的影像資料,還有最重要的,其相關的年度影像辨識競賽。 Kaggle 是一個專注於資料科學和機器學習的競賽平台,於 2010 年成立。這個平台不僅提供大量的公開資料集,還定期舉辦競賽,讓研究者和工程師能夠透過實際問題來測試與優化他們的演算法。Kaggle 競賽的主題多元,涵蓋醫學影像分析、自然語言處理、時間序列預測等。透過這樣的競爭環境,不僅促進了演算法的進步,也加速了實驗結果的分享與技術的迭代。 ImageNet 與 Kaggle 的共同點在於,它們都提供了一個標準化的評測基準,使得研究人員能夠客觀地比較不同的模型表現。此外,這些平台的出現,使得深度學習的研究與應用從少數實驗室走向全球,更多人參與的結果是加速了技術的發展。 演算法的進步 深度學習模型的核心挑戰之一在於深層網路結構中的梯度傳播問題(gradient propagation)。隨著網路層數的增加,用於訓練神經網路的回饋訊號可能會逐漸消失。這個問題在早期深度學習的研究中,極大地限制了神經網路的深度及其表現能力。然而,隨著多項關鍵演算法改進的提出,這一瓶頸逐漸被克服,深層網路得以成功訓練並展現強大的性能。 ...