▶▶▶ 從深度學習的基礎知識到案例,快速掌握JAX深度學習框架!本書為繁體版第一本的JAX全方位指南!JAX是一個用於高性能數值計算的工具,專門為深度學習領域所設計。本書從基礎概念開始談起,教導讀者在Windows環境下架設WSL,以方便使用GPU,而不需要全新從Linux安裝,接著開始介紹一些機器學習和深度學習的理論。從第四章開始,便是JAX的正式介紹,包括了XLA、自動微分等,以及談到JAX和Numpy之間的關聯,並且有實際的程式說明。
到第六章開始,便陸續介紹JAX的開發細節,然後正式使用JAX進行深度學習的程式應用,包括CNN中的VGG模型,或是將JAX和TF結合,運用兩者間的搭配來解決大部分的問題。待前面的基礎都已經完備後,便引導你來放手使用JAX撰寫自訂函數,以及帶讀者使用JAX的高級套件,如experimental和nn。最後則是進階CNN的開發,使用ResNet來完成CIFAR100的分類、用JAX解決NLP的問題,以及進一步使用JAX來實作GAN網路。
不管你先前是TF或PyTorch的使用者,當你發現JAX的程式碼行數是TF的1/10,PyTorch的1/3,速度更快,且程式碼更容易理解,更加Pythnoic,你真的可以開心地踏入JAX的深度學習世界!
【本書看點】✪ 從零開始學JAX
✪ 把numpy放入TPU和GPU的數值套件
✪ JAX如何實作XLA
✪ 使用JAX實作CNN
✪ 用JAX自訂函數
✪ JAX實作ResNet CIFAR100資料集分類
✪ 用JAX實作自然語言處理的Word Embedding
✪ 用JAX實作GAN生成對抗網路
【適合讀者】☛ 人工智慧入門讀者。
☛ 深度學習入門讀者。
☛ 機器學習入門讀者。
☛ 大專院校人工智慧專業的師生。
☛ 專業教育訓練機構的師生。
☛ 其他對智慧化、自動化感興趣的開發者。
※ 本書附程式碼,可至深智官網下載:https://deepmind.com.tw/
作者簡介:
王曉華
計算機專業講師,研究方向為雲計算、大數據與人工智能。著有《Spark 3.0大數據分析與挖掘:基於機器學習》、《TensorFlow深度學習應用實踐》、《OpenCV+TensorFlow深度學習與計算機視覺實戰》、《TensorFlow知識圖譜實戰》、《TensorFlow人臉識別實戰》、《TensorFlow語音識別實戰》、《TensorFlow 2.0卷積神經網路實戰》、《Keras實戰:基於TensorFlow2.2的深度學習實踐》、《TensorFlow深度學習從零開始學》、《深度學習的數學原理與實現》等圖書。
作者序
【前言】
深度學習和人工智慧引領了一個新的研究和發展方向,同時正在改變人類固有的處理問題的思維。現在各個領域都處於運用深度學習技術進行重大技術突破的階段,與此同時,深度學習本身也展現出巨大的發展空間。
JAX是一個用於高性能數值計算的Python函數庫,專門為深度學習領域的高性能計算而設計,其包含豐富的數值計算與科學計算函數,能夠很好地滿足使用者的計算需求,特別是其基於GPU或其他硬體加速器的能力,能夠幫助我們在現有的條件下極大地加速深度學習模型的訓練與預測。
JAX繼承了Python簡單好用的優點,給使用者提供了一個「便於入門,能夠提昇」的深度學習實現方案。JAX在程式結構上採用物件導向方法撰寫,完全模組化,並具有可擴充性,其運行機制和說明文檔都將使用者體驗和使用難度納入考慮範圍,降低了複雜演算法的實現難度。JAX的計算核心使用的是自動微分,可以支援自動模式反向傳播和正向傳播,且二者可以任意組合成任何順序。
本書由淺到深地介紹JAX框架相關的知識,重要內容均結合程式進行實戰講解,讀者透過這些實例可以深入掌握JAX程式設計的內容,並能對深度學習有進一步的了解。
✤ 本書特色
-- 版本新,易入門 --
本書詳細介紹JAX最新版本的安裝和使用,包括CPU版本以及GPU版本。
-- 作者經驗豐富,程式撰寫細膩 --
作者是長期在科學研究和工業界的最前線演算法設計和程式撰寫人員,實戰經驗豐富,對程式中可能會出現的各種問題和「坑」有豐富的處理經驗,能讓讀者少走很多冤枉路。
-- 理論紮實,深入淺出 --
在程式設計的基礎上,本書深入淺出地介紹深度學習需要掌握的一些基本理論知識,並透過大量的公式與圖示對理論做介紹。
-- 對比多種應用方案,實戰案例豐富 --
本書列舉了大量的實例,同時提供多個實現同類功能的解決方案,涵蓋使用JAX進行深度學習開發中常用的知識。
✤ 本書內容
第1章--JAX從零開始
本章介紹JAX應用於深度學習的基本理念、基礎,並透過一個真實的深度學習例子介紹深度學習的一般訓練步驟。本章是全書的基礎,讀者需要先根據本章內容架設JAX開發環境,並下載合適的IDE。
第2章--一學就會的線性回歸、多層感知機與自動微分器
本章以深度學習中最常見的線性回歸和多層感知機的程式設計為基礎,循序漸進地介紹JAX進行深度學習程式設計的基本方法和步驟。
第3章--深度學習的理論基礎
本章主要介紹深度學習的理論基礎,從BP神經網路開始,介紹神經網路兩個基礎演算法,並著重介紹反向傳播演算法的完整過程和理論,最後透過撰寫基本Python的方式實現一個完整的回饋神經網路。
第4章--XLA與JAX一般特性
本章主要介紹JAX 的一些基礎特性,例如XLA、自動微分等。讀者需要了解XLA的運行原理,以及它能給JAX帶來什麼。
第5章--JAX的高級特性
本章是基於上一章的基礎來比較JAX與NumPy,重點解釋JAX在實踐中的一些程式設計和撰寫的規範要求,並對其中的迴圈函數做一個詳盡而細緻的說明。
第6章--JAX的一些細節
本章主要介紹JAX在設計性能較優的程式時的細節問題,並介紹JAX內部一整套結構儲存方法和對模型參數的控制,這些都是為我們能撰寫出更為強大的深度學習程式打下基礎。
第7章--JAX中的卷積
卷積可以說是深度學習中使用最為廣泛的計算部件,本章主要介紹卷積的基礎知識以及相關用法,並透過一個經典的卷積神經網路VGG模型,講解卷積的應用和JAX程式設計的一些基本內容。
第8章--JAX與TensorFlow的比較與互動
本章主要介紹在一些特定情況下使用已有的TensorFlow元件的一些方法。作為深度學習經典框架,TensorFlow 有很多值得JAX 參考和利用的內容。
第9章--遵循JAX函數基本規則下的自訂函數
本章介紹JAX 創建自訂函數的基本規則,並對其中涉及的一些細節問題進行詳細講解。期望讀者能在了解和掌握如何運用這些基本規則後,去創建既滿足需求又能夠符合JAX 函數規則的自訂函數。
第10章--JAX中的高級套件
本章詳細介紹JAX中高級程式設計子套件,特別是2個非常重要的模組jax.experimental和jax.nn。這兩個套件目前仍處於測試階段,但是包含了建立深度學習模型所必需的一些基本函數。
第11章--JAX實戰—使用ResNet完成CIFAR100資料集分類
本章主要介紹在神經網路領域具有里程碑意義的模型—ResNet。它改變了人們僅依靠堆積神經網路層來獲取更高性能的做法,在一定程度上解決了梯度消失和梯度爆炸的問題。這是一項跨時代的發明。本章以一步步的方式介紹ResNet模型的撰寫和架構方法。
第12章--JAX實戰—有趣的詞嵌入
本章介紹JAX於自然語言處理的應用,透過一個完整的例子向讀者說明自然語言處理所需要的全部內容,一步步地教會讀者使用不同的架構和維度進行文字分類的方法。
第13章--JAX實戰—生成對抗網路(GAN)
本章介紹使用JAX完成生成對抗網路模型的設計,講解如何利用JAX完成更為複雜的深度學習模型設計,掌握JAX程式設計的技巧。同時也期望透過本章內容,能夠幫助讀者全面複習本書所涉及的JAX深度學習程式設計內容。
✤ 原始程式下載與技術支援
本書附有原始程式可供下載,請至深智數位官網下載。
【本書目標讀者】
▶ 人工智慧入門讀者
▶ 深度學習入門讀者
▶ 機器學習入門讀者
▶ 大專院校人工智慧專業的師生
▶ 專業教育訓練機構的師生
▶ 其他對智慧化、自動化感興趣的開發者
✤ 技術支援、勘誤和鳴謝
由於作者的能力有限,加上JAX框架的演進較快,書中難免存在疏漏之處,懇請讀者來信批評指正。本書的順利出版,首先要感謝家人的理解和支持,他們給予我莫大的動力,讓我的努力更加有意義。此外特別感謝出版社的編輯們,感謝他們在本書撰寫過程中給予的無私指導。
編者
【前言】
深度學習和人工智慧引領了一個新的研究和發展方向,同時正在改變人類固有的處理問題的思維。現在各個領域都處於運用深度學習技術進行重大技術突破的階段,與此同時,深度學習本身也展現出巨大的發展空間。
JAX是一個用於高性能數值計算的Python函數庫,專門為深度學習領域的高性能計算而設計,其包含豐富的數值計算與科學計算函數,能夠很好地滿足使用者的計算需求,特別是其基於GPU或其他硬體加速器的能力,能夠幫助我們在現有的條件下極大地加速深度學習模型的訓練與預測。
JAX繼承了Python簡單好用的優點,給使用者提供了一...
目錄
01 JAX從零開始
1.1 JAX來了
1.2 JAX的安裝與使用
1.3 JAX實戰—MNIST手寫體的辨識
1.4 本章小結
02 一學就會的線性回歸、多層感知機與自動微分器
2.1 多層感知機
2.2 JAX實戰—鳶尾花分類
2.3 自動微分器
2.4 本章小結
03 深度學習的理論基礎
3.1 BP神經網路簡介
3.2 BP神經網路兩個基礎演算法詳解
3.3 回饋神經網路反向傳播演算法介紹
3.4 本章小結
04 XLA與JAX一般特性
4.1 JAX與XLA
4.2 JAX一般特性
4.3 本章小結
05 JAX的高級特性
5.1 JAX與NumPy
5.2 JAX程式的撰寫規範要求
5.3 本章小結
06 JAX的一些細節
6.1 JAX中的數值計算
6.2 JAX中的性能提高
6.3 JAX中的函數自動打包器—vmap
6.4 JAX中的結構儲存方法Pytrees
6.5 本章小結
07 JAX中的卷積
7.1 什麼是卷積
7.2 JAX實戰—基於VGG架構的MNIST資料集分類
7.3 本章小結
08 JAX 與TensorFlow的比較與互動
8.1 基於TensorFlow的MNIST分類
8.2 TensorFlow與JAX的互動
8.3 本章小結
09 遵循JAX函數基本規則下的自訂函數
9.1 JAX函數的基本規則
9.2 Jaxpr解譯器的使用
9.3 JAX維度名稱的使用
9.4 本章小結
10 JAX中的高級套件
10.1 JAX中的套件
10.2 jax.experimental套件和jax.example_libraries的使用
10.3 本章小結
11 JAX實戰—使用ResNet完成CIFAR100資料集分類
11.1 ResNet基礎原理與程式設計基礎
11.2 ResNet實戰—CIFAR100資料集分類
11.3 本章小結
12 JAX實戰—有趣的詞嵌入
12.1 文字資料處理
12.2 更多的詞嵌入方法—FastText和預訓練詞向量
12.3 針對文字的卷積神經網路模型—字元卷積
12.4 針對文字的卷積神經網路模型—詞卷積
12.5 使用卷積對文字分類的補充內容
12.6 本章小結
13 JAX實戰—生成對抗網路(GAN)
13.1 GAN的工作原理詳解
13.2 GAN的數學原理詳解
13.3 JAX實戰—GAN網路
13.4 本章小結
附錄A Windows 11 安裝GPU版本的JAX
01 JAX從零開始
1.1 JAX來了
1.2 JAX的安裝與使用
1.3 JAX實戰—MNIST手寫體的辨識
1.4 本章小結
02 一學就會的線性回歸、多層感知機與自動微分器
2.1 多層感知機
2.2 JAX實戰—鳶尾花分類
2.3 自動微分器
2.4 本章小結
03 深度學習的理論基礎
3.1 BP神經網路簡介
3.2 BP神經網路兩個基礎演算法詳解
3.3 回饋神經網路反向傳播演算法介紹
3.4 本章小結
04 XLA與JAX一般特性
4.1 JAX與XLA
4.2 JAX一般特性
4.3 本章小結
05 JAX的高級特性
5.1 JAX與NumPy
5.2 JAX程式的撰寫規範要求
5.3 本章小結
06 JAX的...
商品資料
出版社:深智數位股份有限公司出版日期:2023-01-18ISBN/ISSN:9786267146897 語言:繁體中文For input string: ""
裝訂方式:平裝頁數:400頁
購物須知
退換貨說明:
會員均享有10天的商品猶豫期(含例假日)。若您欲辦理退換貨,請於取得該商品10日內寄回。
辦理退換貨時,請保持商品全新狀態與完整包裝(商品本身、贈品、贈票、附件、內外包裝、保證書、隨貨文件等)一併寄回。若退回商品無法回復原狀者,可能影響退換貨權利之行使或須負擔部分費用。
訂購本商品前請務必詳閱退換貨原則。