兩岸焦點評論經濟

潘禺:理解DeepSeek的中國式創新,要先回顧深度學習的歷史

文/觀察者網專欄作者 潘禺

深度學習,這個在科技圈的熱門詞彙,究竟為何讓人如此著迷?它就像一個資料的探險家,借助深層神經網路(DNN)在資訊的海洋中探尋奧秘。而這裡的「深度」就意味著一個層層深入的學習過程,能從複雜的資料中自動提取有價值的特徵,無需人類費勁心力去設計。

不論是圖像識別還是自然語言處理,深度學習已經成為它們的幕後英雄。然而,當你聽到GPT或Transformer的名字時,是不是總忍不住想知道它們背後的秘密?

近來在網上被熱捧的中國「AI界拼多多」DeepSeek,以模型架構的創新,在性能表現出眾的同時節約了顯存和計算資源,證明了中國人不是只能做從1-10的應用創新,也能做從0-1的技術創新。你也許聽說過其創新的架構設計,叫多頭潛在注意力(MLA)機制,想粗淺理解一下這是什麼意思?

這正是本文的目的——用通俗易懂的語言,心智觀察所帶你回顧深度學習的發展史,從感知機的萌芽到GPT的輝煌,揭開那些重要的技術突破。

從感知機到深度神經網路

讓我們回到1958年,那時候,Frank Rosenblatt提出了感知機,這可是神經網路的鼻祖。感知機就像一個簡單的開關,接收信號,加權計算,然後通過一個神奇的啟動函數決定是開還是關。這就像是在說:「嘿,這個圖像是貓還是狗?」如果信號足夠強,它就會說:「是貓!」否則就是:「不是貓!」通過學習,感知機能夠調整自己的權重,變得越來越聰明。

感知機的基本結構類似於生物神經元,它接收多個輸入信號,並通過加權計算生成一個輸出信號。每個輸入代表一個特定的特徵,例如圖像中的圖元值。每個輸入都有一個與之關聯的權重,感知機會將所有輸入乘以相應的權重,並將結果求和。

求和後的結果通過一個啟動函數,決定輸出是0還是1。例如,如果和超過某個閾值,感知機輸出1,表示屬於某個類別;否則輸出0。通過一組已標注的訓練資料,感知機可以調整輸入的權重,以不斷優化其判斷的準確性。

感知機特別適合用於處理線性可分的問題,比如簡單的分類任務,例如判斷一封電子郵件是「垃圾郵件」還是「正常郵件」。然而,感知機也有其局限性,它只能處理線性可分的情況,也就是說,對於一些更加複雜的非線性問題(例如某些圖像識別任務),單層感知機無法得到正確的分類。

儘管感知機有其局限性,但它的提出標誌著神經網路技術的開端,隨後更複雜的多層神經網路得到了發展。

多層神經網路(也稱為深度神經網路)通常由多個層次構成,包括輸入層、隱藏層和輸出層。每一層由多個神經元組成,神經元之間通過權重連接,形成一個複雜的網路結構。當輸入資料通過網路時,逐層進行處理和變換,從而實現最終的輸出。

到了1986年,三位大師Rumelhart、Hinton和Williams推出了反向傳播(Backpropagation)演算法,為訓練多層神經網路開闢了新天地。這套演算法的核心理念是:當模型預測錯了,就通過誤差資訊「反向追蹤」,告訴每一層網路的權重該如何調整。

想像一下,反向傳播就像是老師在批改作業,指出學生的錯誤並給予具體的改進建議。它通過鏈式法則計算梯度,逐層調整權重,最終讓模型的預測誤差越來越小。

梯度計算的目的是為了找到損失函數的最小值。損失函數衡量了網路預測輸出與實際輸出之間的差異,優化的過程就是通過調整網路中的權重和偏差來使得損失函數的值不斷降低,從而提高模型的預測性能。

反向傳播演算法的核心在於通過鏈式法則有效地計算每個參數(權重)的梯度,從而優化網路的性能。

整個過程中,在網路中輸入資料,神經元通過啟動函數計算輸出,從輸入層一路傳播到輸出層。預測輸出與實際輸出之間的誤差(損失函數)被計算出來,這個誤差將用於後續的權重更新。

反向傳播從輸出層開始,首先,計算輸出層每個神經元的誤差,通常使用均方誤差(MSE)等損失函數來衡量。然後,通過鏈式法則將輸出層的誤差向後傳播到每一個隱藏層。對每一層神經元的各個權重進行求導,計算出每個權重對應的梯度。最後,使用計算得到的梯度資訊,通過優化演算法(如梯度下降法),調整網路中的權重,以減小預測誤差。這一過程會反復進行,直至網路收斂到一個較低的誤差水準。

儘管這一演算法解決了訓練深層網路的技術難題,但受限於當時的計算資源和資料量,深度學習的發展仍然步履蹣跚。

梯度消失也是一個問題,隨著網路層數的增加,反向傳播過程中,誤差的梯度可能會逐漸減小至接近零,導致權重更新變得非常緩慢,影響模型的學習效果。

卷積神經網路與迴圈神經網路

面對深度學習的瓶頸,科學家們開始研發針對不同任務的私人網路絡模型。其中,卷積神經網路(CNN)和迴圈神經網路(RNN)成為了兩大明星。

卷積神經網路(CNN)是為了解決傳統深度神經網路在處理圖像資料時的效率和精度問題而提出的。CNN通過引入卷積操作,優化了網路結構,有效地解決了一系列影像處理中的挑戰。

想像一下,你是一位偵探,正在分析一幅複雜的地圖(例如城市的俯視圖)。這幅地圖包含許多細節:道路、建築物、河流等。為了找到重要的資訊,你不會一次性看完整張地圖,而是使用一個「放大鏡」逐步掃描地圖的不同區域。

放大鏡就是卷積核,放大鏡是一個固定大小的工具(例如 3×3 的矩陣),你用它覆蓋地圖的一個小區域(感受野),捕捉局部特徵(如建築物形狀或道路交叉口)。

逐步移動放大鏡就是卷積操作,你會逐步移動放大鏡(滑動視窗),掃描整張地圖。每次移動時,你記錄下當前區域的特徵。每個小區域的分析結果都會形成一張「總結表」(特徵圖),告訴你哪些區域更重要。多層放大鏡就是多層卷積,你可以用不同的放大鏡(卷積核)關注不同的細節,例如一個看建築形狀,另一個看道路模式。經過多層分析後,你能更全面地理解整張地圖。

與CNN不同,迴圈神經網路(RNN)是為了解決序列資料學習任務而提出的,它特別適合處理時間序列或序列資料(如文本、音訊等)。

想像你正在閱讀一本小說,而不是一口氣看完整本書,你會逐句閱讀,並不斷記住之前的資訊,以便理解當前的情節。

當前句子就是當前時間步的資料,每次你只看一小段內容(一個時間步的輸入,例如一個單詞或一句話)。你的記憶力就是隱藏狀態(Hidden State),你會用「記憶力」記住之前的內容(例如上一章發生了什麼),並結合當前句子的內容,理解當前的情節。每次閱讀新的句子時,你的理解依賴於之前的記憶。

例如,讀到「她突然哭了」時,你需要記得前面提到她失去了最好的朋友。這種前後依賴就是迴圈結構。如果你的記憶力有限(梯度消失問題),可能會忘記很久之前的細節。例如,剛讀完的句子影響最大,而幾章之前的內容逐漸淡忘。遺忘舊資訊,對應於模型中的資訊遺忘機制。

CNN就像一位元用放大鏡掃描圖片的偵探,逐步提取局部資訊並整合成全域理解,非常適合處理圖像資料。RNN就像一個讀者,逐步讀取和理解時間序列資料(例如文本或語音),通過記憶力捕捉前後文的關聯。

RNN在處理時間序列資料時,會遇到的梯度消失和梯度爆炸問題。梯度消失是指,在反向傳播過程中,隨著時間步的增加,梯度值可能不斷減小,最終導致網路難以更新前面時刻的權重。這使得模型無法有效學習長程依賴的資訊。相反,某些情況下,梯度可能會迅速增大,導致數值不穩和模型難以訓練,這就是梯度爆炸。

另外,傳統RNN在處理上下文關聯時,較難捕捉到長時間間隔的依賴關係。例如,在分析一段文本時,可能需要理解更早時間位置的資訊,而標準RNN的設計無法保證。

為了解決這些問題,Sepp Hochreiter和Jürgen Schmidhuber在1997年提出一種特殊類型的遞迴神經網路(RNN),也就是長短時記憶網路(LSTM,Long Short-Term Memory)。LSTM通過引入門控機制,有效解決了上述問題。

想像你在聽一場漫長的演講。速記員需要快速記錄演講中的關鍵內容,同時避免被冗長的資訊淹沒。

速記員有一本筆記本,專門用來記錄重要的內容(長期記憶),但他必須謹慎選擇哪些資訊應該保留。筆記本就是細胞狀態(Cell State),可以理解為記憶單元,能夠存儲資訊,並在序列處理過程中通過門控機制進行調整。記憶單元的狀態可以在長時間內保持,不易受到梯度消失的影響。

速記員會根據當前聽到的話,判斷哪些資訊值得記錄。如果是重要內容(例如演講的核心觀點),就寫入筆記本;如果是無關資訊(例如冗長的細節),就忽略。速記員的耳朵就是輸入門(Input Gate),輸入門控制資訊的流入,即決定哪些新資訊需要加入到記憶單元。它通過啟動函數的組合來實現,輸出值在0到1之間,控制著輸入的程度。

為了保持筆記簡潔,速記員會定期用橡皮擦擦掉不再重要的資訊。例如,早前提到的背景內容可能在後續的演講中已經無用。速記員的橡皮擦就是遺忘門(Forget Gate),遺忘門用於控制記憶單元中資訊的丟棄程度,決定哪些資訊是多餘的或不需要保持的。它也是通過啟動函數來實現,輸出值越接近1,表示越應該保留資訊。

每當有人問速記員演講的核心內容時,他會從筆記本中提取關鍵點,用清晰的語言表達出來。速記員的總結就是輸出門(Output Gate),輸出門決定從記憶單元中輸出哪些資訊,它根據當前輸入和前一個隱狀態來設置輸出的權重。

LSTM就像一位精明的速記員,通過門控機制管理資訊流動,在長時間的任務中高效記錄關鍵內容,忽略無用的細節。LSTM的關鍵是能有效地記住長期重要的資訊,同時捨棄無用的內容,因此比普通的RNN更聰明,因為它解決了普通RNN記憶力短、容易忘記長距離依賴問題的缺點。其獨特的結構和功能使其在捕捉長程依賴和順序資訊上具有顯著優勢,廣泛應用於語音辨識、自然語言處理、時間序列分析等多個領域。

隨著硬體(GPU)的進步和大規模資料集(如 ImageNet)的興起,深度學習得到突破。ImageNet是一個由超過1400萬標注圖像構成的大型圖像資料庫,涵蓋了多種類別的物體。它為深度學習研究提供了豐富的資料支援。2012年,AlexNet利用CNN在ImageNet比賽中取得革命性成果,標誌著深度學習的全面復興。

在AlexNet之前,電腦視覺領域主要依賴傳統的特徵提取技術,這些技術通常需要手動設計特徵提取演算法。儘管一些基本的機器學習演算法(如支援向量機)被應用於圖像分類,但在複雜性的處理上受到了限制。在2010年及之前,雖然已有的深度學習模型在一些任務上取得了成功,但大規模資料集的處理能力以及計算資源的短缺限制了深度學習方法的推廣與發展。

在2012年的ILSVRC比賽中,AlexNet以超過15.3%的錯誤率取得了第一名,而第二名的錯誤率為25.7%。AlexNet的架構設計中包含了一些重要的創新點,如更深的神經網路、訓練過程中的資料增強與圖像預處理、充分利用了圖形處理單元(GPU)進行平行計算,大幅提高了訓練速度。這成功展示了卷積神經網路在圖像分類中的強大能力,也為後續深度學習研究與應用創造了廣闊的前景。

注意力機制與Transformer的誕生

如果說CNN和RNN各司其職,那麼2017年的Transformer則是一場徹底的革命。由Vaswani等人提出的Transformer,用「自注意力機制」取代了傳統的RNN結構,實現了序列資料的並行處理。

什麼是注意力機制?2014年,Bahdanau等人提出了注意力機制(Attention Mechanism),用於機器翻譯任務。

這一機制的提出針對的是傳統序列到序列(seq2seq)模型的不足,特別是在長序列輸入的情況下,模型在生成翻譯時往往難以有效捕捉到輸入序列的關鍵資訊。前面所說的RNN及其變體LSTM都可以被歸類為傳統的seq2seq模型。

在傳統的seq2seq模型中,通常使用編碼器-解碼器結構,其中編碼器將整個輸入序列壓縮成一個固定長度的上下文向量,這個向量隨後被解碼器用於生成輸出序列。然而,編碼器將所有資訊映射到一個固定長度的向量,導致對長序列的資訊壓縮不足,使得模型在處理長文本時喪失了重要的上下文資訊。此外,固定長度的上下文向量限制了模型的表達能力,導致性能下降。

Bahdanau等人的注意力機制允許模型在解碼時,根據當前生成的詞動態地關注輸入序列中的不同部分,這樣就可以有效地捕捉到與輸出相關的輸入資訊,而不是依賴於一個固定的上下文向量,從而提升了性能。注意力機制使得模型更容易捕捉長距離依賴關係,因為模型在每個時間步都可以選擇關注距離較遠的輸入部分。

注意力機制的核心思想是為輸入序列的每個元素分配一個權重,這些權重表示在生成輸出時各元素的重要性。通過這種方式,模型可以在許多輸入中判斷出哪些是最相關的。

注意力機制的設計理念直接影響了後來的Transformer架構,使得Transformer能夠利用注意力機制進行高效的序列處理。

2017年,Ashish Vaswani等人提出了Transformer模型,這一模型在自然語言處理(NLP)領域取得了革命性的進展。Transformer的提出,標誌著從迴圈神經網路(RNN)到基於注意力機制的新一代序列處理架構的轉變。其論文《Attention is All You Need》不僅明確了Transformer的結構和功能,還展現了如何利用注意力機制來取代傳統的RNN結構。

在Transformer出現之前,自然語言處理中廣泛使用的架構是基於RNN(如LSTM和GRU)的方法。RNN使用序列方式處理資訊,這意味著模型一次只處理一個單詞或一個時間步。這種方式效率較低,並且難以捕捉長距離詞彙之間的關係。這就像在看一本書時,每次只能看一頁,而無法快速把上下文全部整合起來。

儘管RNN能夠有效處理序列資料,具有遞迴性質的網路結構在長序列任務時卻存在一些問題。由於RNN的時間步依賴性,訓練時必須依次處理輸入序列,造成並行化處理的困難。此外,在從一個固定長度的上下文向量中提取資訊時,RNN會損失許多關鍵資訊。最後,儘管LSTM部分解決了梯度消失問題,但對於長距離依賴的捕捉仍然有限,特別在處理非常長的文本時表現不佳。

LSTM通過遞迴的方式處理序列資料,使用隱藏狀態和細胞狀態來捕捉時間上的依賴關係。它的每個輸出都依賴於前一個時間步的狀態。

Transformer使用自注意力機制並行處理輸入序列,允許所有位置的輸入在同一時間步內相互聯繫。該機制支援模型對所有輸入位置的動態關注。

Transformer模型通過完全依賴自注意力機制解決了上述問題。Attention機制是Transformer的核心。它允許模型在處理單詞時,根據上下文的其他單詞的相關性動態調整關注點。具體來說,Attention可以回答這樣一個問題:「在生成這個單詞時,哪些其他單詞我需要特別關注?」

Transformer就像是一個高效的團隊,每位專家在開會時可以直接和其他所有專家討論,快速解決問題,而不需要逐層傳遞消息。

每位專家就是輸入序列中的一個詞,例如,你有一句話:「The cat sat on the mat」。每個詞可以看作一個專家,每位專家都關心自己和其他詞的關係。自注意力機制使得模型能夠根據輸入的每個位置動態地關注其他位置的資訊。在生成每個輸出時,模型會計算與所有輸入位置的相關性,從而選擇性地聚焦在相關資訊上。

通過平行計算多個自注意力機制,Transformer能夠在不同的子空間中學習資訊。就像每位專家可以從多個角度分析問題。例如,一個頭關注語法結構,另一個頭關注語義關聯,最終結合所有角度得出更完整的結論。這種多角度思考就是多頭注意力(Multi-Head Attention)。

每位元專家會根據問題的重要性計算一個「交流表」,這個表告訴他們應該重點關注哪些同事。例如,「on」可能需要重點聽取「sat」和「mat」的資訊,而不需要過多關注「the」。如果說交流表就是Attention,那麼同時討論就是並行處理,所有專家可以同時查看「交流表」,並綜合其他人的意見,更新自己的理解。這種並行討論比傳統的逐個傳遞資訊(如 RNN)更快。為了避免開會討論變得混亂,每次更新專家意見時,都要保留原始資訊,並對資料進行標準化處理。

理解了多頭注意力(Multi-Head Attention),就能理解被稱道的中國大模型創業公司DeepSeek,在模型架構上進行的深度創新是什麼。DeepSeek推出了一種新的多頭潛在注意力(MLA)機制,與傳統的多頭注意力(MHA)架構相比,其顯存佔用了過去最常用的MHA架構的5%-13%。

在MHA中,輸入被映射為查詢(Query)、鍵(Key)和值(Value),然後通過計算這些向量之間的相似性來生成注意力權重,最終通過加權求和獲得輸出。這種機制的優點在於能夠捕捉輸入資料中的局部和全域資訊,但其缺點在於對顯存和計算資源的需求較高。

而MLA架構引入了一個潛在化的概念,意味著它在處理輸入資訊時會利用一些更高效的計算方式以減少資源佔用。在這個架構中,有效的對輸入進行一定的預處理,從而在生成查詢、鍵和值時減少了相關的資料量。MLA架構還在分配注意力時採用了一種更靈活的方式,使得在處理不同輸入時,系統能夠更加智慧地選擇關注的特徵,而不是一味地產生多個頭部的注意力。這種動態選擇能力不僅可以優化計算資源的使用,同時也提升了模型的性能。

此外,通過對輸入資訊進行選擇性地壓縮和簡化,MLA能夠顯著減少需要存儲和計算的維度,也就是減少了參數的數量,使得模型能夠在保留資訊的前提下大幅降低對顯存的需求。

沒有終點的深度學習探險

以自注意力機制為核心思想的Transformer,在深度學習歷史上有著革命性的地位。

Transformer模型相較於傳統RNN具有顯著的優勢,因為Transformer模型不再依賴於時間序列的遞迴結構,而是使用矩陣運算實現自注意力,高效的平行計算可以在訓練時大幅提高計算效率。通過自注意力機制,Transformer可以直接關注輸入序列的任意部分,從而顯著增強了模型對長距離依賴關係的建模能力。

從上述介紹中不難理解,Transformer架構天然適合處理語言任務。Transformer的提出迅速改變了NLP領域的格局,催生了一系列新型模型。GPT(Generative Pre-trained Transformer)就是一系列基於Transformer架構的生成式預訓練模型,專門用於自然語言處理(NLP)任務。

GPT具體使用Transformer中的解碼器部分。其主要由多層自注意力機制和前饋神經網路組成,強調的是生成能力,適用於文本生成、對話系統和其他自然語言生成任務。GPT的輸入是上下文文本,輸出則是生成的下一個Token(單詞或字元),通過逐步生成文本來實現完整的文本。

GPT採用了預訓練的方式,使用大量未標記文本進行訓練,以捕捉語言的基本特性和結構。這一過程使得模型能夠理解語言特徵,對電腦生成語言能力的提升至關重要。在特定任務上,GPT通常會在預訓練之後進行微調,使之在特定NLP任務(如文本分類、問答、對話生成等)中表現更好。微調依賴於特定任務的標記資料,確保模型能夠適應新的應用場景。

從感知機到Transformer,深度學習的每一步都在不斷突破技術極限。如今,得益於GPU的進步和大規模資料集(如ImageNet)的支持,深度學習已經從實驗室走向現實世界。儘管我們已經看到了深度學習的巨大潛力,但它的未來依然充滿挑戰與可能。或許,下一個改變世界的創新,就在這條探險之路上等待著被發現。

連結:理解DeepSeek的中国式创新,要先回顾深度学习的历史-心智观察所、潘禺-观察者网

發佈留言

發佈留言必須填寫的電子郵件地址不會公開。 必填欄位標示為 *