
為什麼神經網路與加密密碼如此相似?
這篇文章探討了神經網路與加密密碼之間的結構相似性,並將這種相似歸因於趨同演化,其背後是由複雜混合需求、較弱的正確性限制以及對硬體效能的高度追求所驅動。
背景
這篇文章探討了神經網路訓練與密碼學演算法之間令人驚訝的結構相似性。儘管兩者的目標截然不同——一個旨在從數據中學習模式以生成內容,另一個則是為了隱藏資訊而打亂數據——但它們在處理序列、交替使用線性與非線性層,以及針對硬體優化混合效率等方面,展現出了高度一致的演算法邏輯。
社群觀點
在 Hacker News 的討論中,許多讀者對這種相似性提出了演化論式的解釋。有留言者將此現象比作生物學中的「趨同演化」(Carcinization),認為當不同領域的系統面臨相似的限制條件時,最終會演化出相似的結構。這些限制包括必須在狀態空間中運作、確保輸入能影響輸出的大部分區域、引入非線性以處理複雜度,以及為了配合硬體效能而重複簡單的轉換單元。這種觀點認為,神經網路與密碼學並非互相抄襲,而是共同受限於底層矽晶片硬體的運算特性,為了追求極致的並行處理效率,兩者不約而同地選擇了矩陣運算與簡單指令的重複堆疊。
然而,也有觀點從資訊理論的角度指出兩者本質上的對稱性而非一致性。一位評論者認為,密碼學的核心在於「防止推論」,即便擁有密鑰以外的所有資訊,也無法還原原始數據,因此需要近乎完美的資訊混合;而機器學習之所以可行,正是因為資訊混合並不完美,使得系統能夠從大量的輸入輸出對中「推論」出隱藏的參數。換言之,神經網路需要足夠的混合來提供多樣的數據流向,但必須保留足夠的資訊痕跡供梯度下降法追蹤。另一種補充觀點則提到,兩者都在追求熵的最大化:密碼學要求每一位元的輸入變動都能連鎖反應到輸出,而機器學習則要求輸出能盡可能依賴於輸入的每一個維度。
此外,討論也延伸到了認知科學與程式範式的層面。有讀者思考這是否反映了人類處理複雜性的一貫邏輯,即將非線性問題拆解為微小的原子單元進行組合。無論是物件導向、函數式編程或是數據導向設計,本質上都是在尋找最適合的分解方式。有趣的是,也有人感嘆資訊科學的兩位奠基者圖靈與香農,同時也是人工智慧與密碼學的先驅,這或許暗示了這兩個領域在處理「資訊」這一核心命題時,本就共享著相同的數學根基。
延伸閱讀
針對想要深入了解密碼學設計原理的讀者,社群推薦了多本經典著作。入門者可以參考 Christof Paar 的《Understanding Cryptography》或《Crypto 101》免費電子書;若具備數學與資訊科學背景,Dan Boneh 與 Victor Shoup 的《A Graduate Course in Applied Cryptography》以及 Nigel Smart 的《Cryptography Made Simple》被視為極佳的進階教材。此外,Rijndael(AES 前身)設計者的著作《The Design of Rijndael》則能幫助讀者理解現代加密演算法背後的設計策略。
相關文章