【深智書摘】AI 2.0 - 5年前出現的TF接班人—JAX—重磅出世

更新於 發佈於 閱讀時間約 6 分鐘
在AI已經全民運動的年代,Google還是希望有一個更小巧精美的深度學習套件讓大家都能快速上手──JAX就這麼誕生了。
在台灣,本書可說是領先群雄的第一本JAX手冊。不管你是Tensorflow或PyTorch的使用者,都可以試著從MNIST開始。當你發現JAX的程式碼行數是Tensorflow的1/10、PyTorch的1/3,不僅速度更快,程式還更容易理解、更加「Pythnoic」。現在,你真的可以放心的進入JAX的世界,當你上手之後,不論是CNN、RNN、NLP或是GAN,全部可以又快又好又清楚地做出來。

JAX是什麼?】

「工欲善其事,必先利其器」。人工智慧或其核心理論深度學習也一樣。任何一個好的成果實作並在將來發揮其巨大作用,都需要一個能夠將其實作並應用的基本框架工具。JAX 是機器學習框架領域的新生力量,它具有更快的高階微分計算方法,可以採用先編譯後執行的模式,突破了已有深度學習框架的局限性,同時具有更好的硬體支援,甚至將來可能會成為Google 的主要科學計算深度學習函數庫。

JAX 官方文件的解釋是:「JAX 是CPU、GPU 和TPU 上的NumPy,具有出色的自動差異化功能,可用於高性能機器學習研究。」就像JAX 官方文件解釋的那樣,最簡單的JAX 是加速器支持的NumPy,它具有一些便利的功能,具有一定靈活性,可用於常見的機器學習操作。

【JAX與XLA】

在全面講解JAX 之前先介紹一下XLA。簡單來說,XLA 是將JAX轉化為加速器支持操作的中堅力量。XLA 的全稱是Accelerated Linear Algebra,即加速線性代數。身為深度學習編譯器,其長期以來作為Google 在深度學習領域的重要特性被開發,歷時至今已經超過兩年,特別是作為TensorFlow 2.0 背後支持力量之一,XLA 也終於從試驗特性變成了預設打開的特性。

JAX 可以自動微分本機Python 和NumPy 程式。它可以透過Python的大部分功能(包括迴圈、if、遞迴和閉包)進行微分,甚至可以採用衍生類別的衍生類別。它支援反向模式和正向模式微分,並且兩者可以以任意順序組成。

JAX 的新功能是使用XLA 在諸如GPU 和TPU 的加速器上編譯和執行NumPy 程式。預設情況下,編譯是在後台進行的,而函數庫呼叫將得到即時的編譯和執行。但是,JAX 允許使用單功能API 將Python 函數編譯為XLA 最佳化的核心。編譯和自動微分可以任意組合,因此我們無需離開Python 即可表達複雜的演算法並獲得最佳性能。

【JAX NumPy】

JAX 在應用上是想取代NumPy 成為下一代標準運算函數庫。眾所皆知,NumPy 提供了一個功能強大的數字處理API。JAX 吸取NumPy 的優點並使之成為自己框架的部分,同時這也能在不改變使用者使用習慣的基礎上方便使用者快速掌握JAX。

在一定程度上,NumPy 的API 可以無縫平移到JAX 中使用,可以說JAX API 緊接NumPy 的API。然而還是有一些重要的區別的。最重要的區別就是JAX 是被設計為函數式的,就像函數式程式設計一樣(例如Scala 語言)。這背後的原因是JAX 支援的程式轉換類型在函數式程式中更可行。

【用JAX實作GAN生成對抗網路】

GAN 是一種生成式的對抗網路。具體來說,就是透過對抗的方式去學習資料分佈的生成式模型。所謂的對抗,指的是生成網路和判別網路的互相對抗。生成網路盡可能生成逼真樣本,判別網路則盡可能去判別該樣本是真實樣本還是生成的假樣本。

  • 判別器:學習不同類別和標籤之間的區分界限。
  • 生成器:學習標籤中某一類的機率分佈進行建模。

判別器中的判別演算法能夠判別這幅畫是不是由真正的畫家完成的。

標籤被定義為y,而特徵向量被定義為x,那麼判別器的判定公式就是:discriminator = p( y | x)

標籤被定義為y,而特徵向量被定義為x,那麼判別器的判定公式就是:discriminator = p( y | x)

生成器的做法恰恰相反,它不關心向量是什麼形式和內容,只關心給定標籤資訊,嘗試由給定的標籤內容去生成特徵,這也和人類思考的過程相類似。

正如其他一些具有非常大研究價值和潛力的學科一樣,GAN 的發展也越來越受到關注,對其的研究也越深入。GAN 採用簡單的生成與判別關係,在大量重複學習運算之後,可能為行業發展帶來十分巨大的想像力。從基本原理上看,GAN 可以透過不斷地自我判別來推導出更真實、更符合訓練目的的生成樣本。這就給圖片、視訊等領域帶來了極大的想像空間。

--

本書深度解說最新人工智慧套件JAX的使用。從基本概念開始談起,在Windows環境下架設WSL以方便使用GPU,而不需要全新從Linux安裝。

人工智慧時代的來臨造就了Keras的大流行,你可以開始使用JAX連貫所有技能,習得更多元的機器學習技能。

--

raw-image


本文取自深智數位出版之〈Tensorflow 接班王者:Google JAX 深度學習又快又強大〉

天瓏:https://reurl.cc/gZ8L44

博客來:https://reurl.cc/Q478Zo

深智數位:https://deepmind.com.tw

留言
avatar-img
留言分享你的想法!
avatar-img
深智數位的沙龍
9會員
25內容數
深智數位的沙龍的其他內容
2023/08/02
在機器學習中,我們的目標是找到一種能夠最好地描述數據的模型。例如,在迴歸問題中,我們希望找到一種函數,該函數能以一種對我們的目標變數(例如:銷售量、股票價格等) 的最佳估計的方式,描述輸入特徵(例如:廣告支出、市場狀況等)。
Thumbnail
2023/08/02
在機器學習中,我們的目標是找到一種能夠最好地描述數據的模型。例如,在迴歸問題中,我們希望找到一種函數,該函數能以一種對我們的目標變數(例如:銷售量、股票價格等) 的最佳估計的方式,描述輸入特徵(例如:廣告支出、市場狀況等)。
Thumbnail
2023/07/21
  在程式設計中,變數(Variable)是一個代表內存位置的符號,用於存儲和操作數據。它是一個內存單元,可以存儲各種類型的數據,例如整數、浮點數、字符串等。變數的值可以在程式執行時改變,並在需要時被讀取。 變數是暫時存放資料用的,可以將變數想像成是一個箱子,箱子裡面可以是空的,
Thumbnail
2023/07/21
  在程式設計中,變數(Variable)是一個代表內存位置的符號,用於存儲和操作數據。它是一個內存單元,可以存儲各種類型的數據,例如整數、浮點數、字符串等。變數的值可以在程式執行時改變,並在需要時被讀取。 變數是暫時存放資料用的,可以將變數想像成是一個箱子,箱子裡面可以是空的,
Thumbnail
2023/05/17
新手在使用ChatGPT 時,對於ChatGPT的回答普遍印象是廢話連篇,而這通常是因為沒有給出足夠清晰的指示所導致,以下將介紹3個讓你跟ChatGPT溝通更有效的提示技巧,幫助讀者快速掌握提升回答品質的秘訣!
Thumbnail
2023/05/17
新手在使用ChatGPT 時,對於ChatGPT的回答普遍印象是廢話連篇,而這通常是因為沒有給出足夠清晰的指示所導致,以下將介紹3個讓你跟ChatGPT溝通更有效的提示技巧,幫助讀者快速掌握提升回答品質的秘訣!
Thumbnail
看更多
你可能也想看
Thumbnail
沙龍一直是創作與交流的重要空間,這次 vocus 全面改版了沙龍介面,就是為了讓好內容被好好看見! 你可以自由編排你的沙龍首頁版位,新版手機介面也讓每位訪客都能更快找到感興趣的內容、成為你的支持者。 改版完成後可以在社群媒體分享新版面,並標記 @vocus.official⁠ ♥️ ⁠
Thumbnail
沙龍一直是創作與交流的重要空間,這次 vocus 全面改版了沙龍介面,就是為了讓好內容被好好看見! 你可以自由編排你的沙龍首頁版位,新版手機介面也讓每位訪客都能更快找到感興趣的內容、成為你的支持者。 改版完成後可以在社群媒體分享新版面,並標記 @vocus.official⁠ ♥️ ⁠
Thumbnail
每年4月、5月都是最多稅要繳的月份,當然大部份的人都是有機會繳到「綜合所得稅」,只是相當相當多人還不知道,原來繳給政府的稅!可以透過一些有活動的銀行信用卡或電子支付來繳,從繳費中賺一點點小確幸!就是賺個1%~2%大家也是很開心的,因為你們把沒回饋變成有回饋,就是用卡的最高境界 所得稅線上申報
Thumbnail
每年4月、5月都是最多稅要繳的月份,當然大部份的人都是有機會繳到「綜合所得稅」,只是相當相當多人還不知道,原來繳給政府的稅!可以透過一些有活動的銀行信用卡或電子支付來繳,從繳費中賺一點點小確幸!就是賺個1%~2%大家也是很開心的,因為你們把沒回饋變成有回饋,就是用卡的最高境界 所得稅線上申報
Thumbnail
我想要一天分享一點「LLM從底層堆疊的技術」,並且每篇文章長度控制在三分鐘以內,讓大家不會壓力太大,但是又能夠每天成長一點。 我們已經在 AI說書 - 從0開始 - 114 建立了 Transformer 模型,並在 AI說書 - 從0開始 - 115 載入權重並執行 Tokenizing,現
Thumbnail
我想要一天分享一點「LLM從底層堆疊的技術」,並且每篇文章長度控制在三分鐘以內,讓大家不會壓力太大,但是又能夠每天成長一點。 我們已經在 AI說書 - 從0開始 - 114 建立了 Transformer 模型,並在 AI說書 - 從0開始 - 115 載入權重並執行 Tokenizing,現
Thumbnail
本文參考TensorFlow官網Deep Convolutional Generative Adversarial Network的程式碼來加以實作說明。 示範如何使用深度卷積生成對抗網路(DCGAN) 生成手寫數位影像。
Thumbnail
本文參考TensorFlow官網Deep Convolutional Generative Adversarial Network的程式碼來加以實作說明。 示範如何使用深度卷積生成對抗網路(DCGAN) 生成手寫數位影像。
Thumbnail
本文主要介紹,如何利用GAN生成對抗網路來訓練生成圖片。 利用tensorflow,中的keras來建立生成器及鑑別器互相競爭訓練,最後利用訓練好的生成器來生成圖片。 GAN生成對抗網路的介紹 它由生成網路(Generator Network)和鑑別網路(Discriminator Netwo
Thumbnail
本文主要介紹,如何利用GAN生成對抗網路來訓練生成圖片。 利用tensorflow,中的keras來建立生成器及鑑別器互相競爭訓練,最後利用訓練好的生成器來生成圖片。 GAN生成對抗網路的介紹 它由生成網路(Generator Network)和鑑別網路(Discriminator Netwo
Thumbnail
這篇文章探討了生成式對抗網路中機率分佈的使用與相關的訓練方式,包括Generator不同的點、Distriminator的訓練過程、生成圖片的條件設定等。此外,也提到了GAN訓練的困難與解決方式以及不同的learning方式。文章內容豐富且詳細,涵蓋了GAN的各個相關面向。
Thumbnail
這篇文章探討了生成式對抗網路中機率分佈的使用與相關的訓練方式,包括Generator不同的點、Distriminator的訓練過程、生成圖片的條件設定等。此外,也提到了GAN訓練的困難與解決方式以及不同的learning方式。文章內容豐富且詳細,涵蓋了GAN的各個相關面向。
Thumbnail
對於熱衷於語言科技的你, 大語言模型(LLMs)在自然語言處理(NLP)領域的發展無疑是一個革命性的進展。 從傳統的規則系統到基於深度學習的方法, LLMs展現了在理解、生成和翻譯人類語言方面的巨大突破。 這不僅是技術上的飛躍, 更是開啟了新的應用和可能性。 下面將介紹這一變革帶來的三大
Thumbnail
對於熱衷於語言科技的你, 大語言模型(LLMs)在自然語言處理(NLP)領域的發展無疑是一個革命性的進展。 從傳統的規則系統到基於深度學習的方法, LLMs展現了在理解、生成和翻譯人類語言方面的巨大突破。 這不僅是技術上的飛躍, 更是開啟了新的應用和可能性。 下面將介紹這一變革帶來的三大
Thumbnail
前言 在先前的文章中,我們探討了 IBM Watsonx 在客戶滿意度分析中的應用。今天,我們將利用 Google 的兩款大型語言模型(LLM)— flan-ul2 和 flan-t5-xxl,展示它們如何串聯起來生成關於特定主題的隨機問題和回答。 在這篇文章中,將使用 SimpleSequen
Thumbnail
前言 在先前的文章中,我們探討了 IBM Watsonx 在客戶滿意度分析中的應用。今天,我們將利用 Google 的兩款大型語言模型(LLM)— flan-ul2 和 flan-t5-xxl,展示它們如何串聯起來生成關於特定主題的隨機問題和回答。 在這篇文章中,將使用 SimpleSequen
Thumbnail
最近 AI 開發者間最熱門的話題,無非是 LangChain 這套開源開源框架簡化了開發流程。 Flowise,也是一款開源工具,結合了LangChain 的強大功能,推出了一種無需編碼的解決方案,透過簡單的拖拉功能建立流程,縮短開發時間。
Thumbnail
最近 AI 開發者間最熱門的話題,無非是 LangChain 這套開源開源框架簡化了開發流程。 Flowise,也是一款開源工具,結合了LangChain 的強大功能,推出了一種無需編碼的解決方案,透過簡單的拖拉功能建立流程,縮短開發時間。
Thumbnail
在AI已經全民運動的年代,Google還是希望有一個更小巧精美的深度學習套件讓大家都能快速上手──JAX就這麼誕生了。 現在,你真的可以放心的進入JAX的世界,當你上手之後,不論是CNN、RNN、NLP或是GAN,全部可以又快又好又清楚的做出來
Thumbnail
在AI已經全民運動的年代,Google還是希望有一個更小巧精美的深度學習套件讓大家都能快速上手──JAX就這麼誕生了。 現在,你真的可以放心的進入JAX的世界,當你上手之後,不論是CNN、RNN、NLP或是GAN,全部可以又快又好又清楚的做出來
Thumbnail
  卷積神經網路(Convolutional Neural Networks,CNN),其應用包括影像辨識、自然語言處理(NLP)等領域。若能從其發展至今的脈絡開始了解,必定可以更進一步地理解專案的想法,將該技術掌握得更得心應手。以下就其發展和結構分別詳細說明。 1. LeNet
Thumbnail
  卷積神經網路(Convolutional Neural Networks,CNN),其應用包括影像辨識、自然語言處理(NLP)等領域。若能從其發展至今的脈絡開始了解,必定可以更進一步地理解專案的想法,將該技術掌握得更得心應手。以下就其發展和結構分別詳細說明。 1. LeNet
追蹤感興趣的內容從 Google News 追蹤更多 vocus 的最新精選內容追蹤 Google News