“足夠先進的技術與魔法沒有什麼區別。”
——亞瑟·C·克拉克(《2001:太空漫遊》作者)
使用 PyTorch 學習生成式 AI 旨在引導您從頭開始創建各種內容(形狀、數字、圖像、文字和音樂)。它從簡單的模型開始,幫助讀者在應對更複雜的挑戰之前建立基礎的深度學習技能。本書中的所有生成模型都是深度神經網路。本書從 PyTorch 中的綜合深度學習計畫開始,非常適合該領域的新手。每一章的結構都經過精心設計,以前一章為基礎。您將首先使用具有簡單架構的生成對抗網路 (GAN) 來創建基本內容,例如形狀、數字和圖像。隨著您的進步,複雜性會增加,最終會建立最先進的模型,例如變形金剛和擴散模型。
使用 PyTorch 學習生成式 AI 專為擁有中級 Python 程式設計技能的各個業務領域的機器學習愛好者和資料科學家而設計。本書旨在教授生成式人工智慧技術,用於創建新穎和創新的內容,例如圖像、文字、圖案、數位、形狀和音頻,以增強雇主的業務和自己的職業生涯。雖然網路上有許多涵蓋各個主題的免費學習材料,但本書將所有內容整合為清晰、易於理解和最新的格式,使其成為任何渴望成為生成人工智慧專家的寶貴資源。
本書共有16章,分為四個部分。
第一部分向您介紹 PyTorch 的生成式 AI 和深度學習。
• 第 1 章解釋了什麼是生成式 AI,以及在本書中選擇 PyTorch 而不是 TensorFlow 等其他 AI 框架來建立生成模型的理由。
• 第2 章使用PyTorch 建立深度神經網路來執行二元和多類別分類,以便您精通深度學習和分類任務。目的是讓您為接下來的章節做好準備,在這些章節中您將使用 PyTorch 中的深度神經網路來創建各種生成模型。
• 第3 章向您介紹生成對抗網路(GAN)。您將學習使用 GAN 產生具有特定模式的形狀和數字序列。
第二部分介紹影像生成。
• 第 4 章討論如何建構和訓練 GAN 以產生高解析度彩色影像。特別是,您將學習使用卷積神經網路 (CNN) 捕捉影像中的空間特徵。您還將學習使用轉置卷積層來上取樣並產生影像中的高解析度特徵圖。
• 第5 章詳細介紹了在產生的影像中選擇特徵的兩種方法。第一種方法涉及在潛在空間中選擇特定向量。第二種方法使用條件 GAN,您可以使用標記資料建置和訓練 GAN。
• 第6 章教您如何使用CycleGAN 在兩個域之間轉換影像,例如黑髮影像和金髮影像,或馬影像和斑馬影像。
• 第7 章說明如何使用另一種產生模型產生高解析度影像:自動編碼器(AE) 及其變體,變分自動編碼器(VAE)。
第三部分深入探討自然語言處理 (NLP) 和文本生成。
• 第8 章討論使用循環神經網路(RNN) 產生文字。在此過程中,您將了解標記化和詞嵌入的工作原理。您還將學習使用經過訓練的模型自回歸生成文本,以及如何使用溫度和 top-K 採樣來控制生成文本的創造力。
• 第 9 章根據論文《Attention Is All You Need》從頭開始建構一個 Transformer,用於在任意兩種語言之間進行翻譯。您將逐行實現多頭注意力機制和編碼器-解碼器 Transformer。
• 第10 章使用超過47,000 對英法翻譯來訓練您在第9 章中建立的Transformer。您將學習使用經過訓練的模型將常見的英語短語翻譯成法語。
• 第11 章從頭開始建構GPT-2XL,即GPT-2 的最大版本。之後,您將學習如何從 Hugging Face 中提取預訓練的權重並將其載入到您自己的 GPT-2 模型中以產生文字。
• 第12 章建立了一個具有大約500 萬個參數的縮小版本的GPT 模型,以便您可以在普通電腦上對其進行訓練。您將使用歐內斯特·海明威的三本小說作為訓練資料。經過訓練的模型可以產生海明威風格的文字。
第四部分討論了書中生成模型的一些實際應用以及生成人工智慧領域的最新發展。
• 第13 章建構並訓練MuseGAN 來產生音樂。 MuseGAN 將一段音樂視為類似影像的多維物件。生成器產生一段完整的音樂並將其提交給評論家進行評估。然後,生成器根據評論家的回饋修改音樂,直到它與訓練資料集中的真實音樂非常相似。聆聽產生的音樂範例:https://gattonweb.uky.edu/faculty/lium/ml/MuseGAN_song.mp3
• 第14 章採用不同的方法進行人工智慧音樂創作。您不是將一段音樂視為多維對象,而是將其視為一系列音樂事件。然後,您將應用文字產生技術來預測序列中的下一個元素。聆聽產生的音樂範例:https://gattonweb.uky.edu/faculty/lium/ml/musicTrans.mp3
• 第15 章向您介紹擴散模型,它構成了所有領先的文本到圖像轉換器(例如DALL-E 或Imagen)的基礎。您將建立並訓練擴散模型以產生高解析度的花卉圖像。
• 第16 章以一個專案結束本書,在專案中,您使用LangChain 函式庫將預先訓練的大型語言模型(LLM) 與Wolfram Alpha 和Wikipedia API 結合起來,建立一個零樣本萬事通的個人助理。
附錄討論如何在電腦上安裝 PyTorch,無論是否具有支援運算統一裝置架構 (CUDA) 的 GPU。
本書的所有Python程式都可以從本書的GitHub儲存庫https://github.com/markhliu/DGAI下載。這些程式按章節組織,每個章節都在一個 Jupyter Notebook 文件中。請參閱本書的附錄,了解如何在電腦上安裝 Python、PyTorch 和 Jupyter Notebook。