內容簡介
本書以Google開發的JAX開源框架為載體,詳細介紹了JAX在可微分編程領域的應用,具體包括自動微分的基本原理、數據結構,以及自動微分在實際場景中的應用,其涉及的領域包括但不限於演算法優化、神經網絡、工程建模、量子計算等。 本書分為3部分,總計10章外加5篇附錄。第1部分介紹了可微分編程的基本原理,包括手動求導、數值微分、符號微分以及自動微分的前向模式和反向模式,在未調用任何庫函數的情況下,從零開始構建起了符號微分及自動微分的數據結構。第2部分是對JAX庫特性的介紹,包括JAX的基本語法、自動微分、即時編譯和并行計算,並以此為切口,對深度學習、λ演算等領域進行了深入淺出的講解。第3部分是自動微分在實際場景中的應用,除了演算法優化、神經網絡等極其經典的應用場景,這一部分還給出了自動微分在工程建模、量子計算等方面的理論及應用。 本書涵蓋的範圍雖廣,但對其中每個領域的介紹都絕非淺嘗輒止,無論材料的選取、內容的編排,還是論述的視角、觀點的呈現,均不乏新穎之處。通過本書的學習,讀者不但可以掌握JAX開源框架的用法,還可以獲悉JAX在可微分編程領域的具體應用方法。本書適合在工作中會用到自動微分技術的工程技術人員、高校科研人員閱讀,也適合對JAX感興趣並希望能掌握其應用的AI技術人員閱讀。作者簡介
程琪皓,北京大學物理學院本科生,曾獲第36屆全國中學生物理競賽(浙江賽區)一等獎、「未名學子」獎學金、沈克琦獎學金、北京大學三等獎學金等多項獎勵。研究方向涉及強化學習、低維超導實驗、量子計算、分子模擬等多個領域。目錄
六重奏女士的詛咒