編輯:David
【新智元導讀】新的一年到了,小夥伴是不是總覺得時間太少,要學的東西太多?今天這篇薦書貼挑選了8本機器學習經典教程,由淺入深,從理論到實踐,大部分可免費下載,一起來充電吧!
新的一年,是不是感覺時間太少,要學的東西太多了?
在過去的幾年裡,有不少講深度學習的書籍。今天給小夥伴們推薦8本關於AI和機器學習的經典書籍,大部分都有完整版PDF下載。
這8本書從內容上看,可以分為四類:
- 機器和深度學習基礎知識(適合初學者)
- 機器學習框架:Pytorch、Tensorflow 和 Keras
- MLOP:雲、生產和深度學習工程
- 深度學習理論
機器學習和深度學習基礎
Andriy Burkov:The Hundred-Page Machine Learning Book
如果你是新手,看這本書就很適合。如果是老手,可能會覺得這本書很無聊,講的都是你已經知道的東西。
前兩章重點介紹機器學習公式、符號和關鍵術語。隨後,Burkov 分析了最重要的 ML 演算法,如迴歸、決策樹、支援向量機和 k-最近鄰。
第 4 章是關於梯度下降和學習過程的,第 5 章是最佳實踐的集合;即特徵工程、正則化、超引數調整等。第 6 章專門介紹神經網路。
之後,Burkov 討論瞭如何使用上述方法解決特定問題。書中解釋了常見的機器學習挑戰、陷阱以及有針對性的解決方案。最後講到了無監督、自監督和推薦系統等內容。
PDF:
https://pdf.zlibcdn.com/dtoken/4d82356f2bb44f73f4a94a7c489f6b4f/The_hundred-page_machine_learning_book_by_Burkov,__3710356_(z-lib.org).pdf
Meor Amer:A visual introduction to Deep Learning
這本書非常適合喜歡透過直觀視覺學習深度學習的人。
總的來說,我們發現這本書很容易理解,因為書中的圖和文字之間處於很好的平衡。上一本100多頁的書相比,這本書涉及的數學更少,插圖更多。
書中在解釋反向傳播時非常關注細節,不會讓讀者迷失在數學中。不可否認,反向傳播真的很難教,作者Meor在這方面做得很好。此外,書中還對混淆矩陣和 F1 分數等效能指標進行了徹底分析。
但是,這本書讓程式設計人員可能不大方便。這本書講的是理論的基本部分,但把程式碼留給讀者去嘗試。由於這本書的介紹比較籠統,理論和程式設計實踐之間可能會有差距。
相關資源:https://www.kdimensions.com/l/visualdl
機器學習框架:Pytorch、Tensorflow、Keras
Eli Stevens, Luca Antiga, and Thomas Viehmann:Deep Learning with PyTorch
無論你處於什麼階段,要學習Pytorch大概都少不了這本書。本書分為3個部分。
第 1 部分:前 3 章介紹了 PyTorch 和張量操作。第 4 章從字面上描述瞭如何獲取任何資料、影片或一行文字,並將其表示為張量,其中涵蓋了醫學影象、表格資料和帶具體示例的文字,對於初學者,這些內容非常有價值。
第5、6章涵蓋了使用簡單神經網路(如反向傳播)學習過程的所有基礎知識,重點是講如何在Pytorch 中的動手寫程式碼。
第 2 部分講的是面向現實問題的模型,包括從 3D 影象資料中檢測癌症和肺結節等。這部分內容會引導讀者完成整個設計和思考過程。作為機器學習建模人員,讀者可以掌握需要遵循的所有必要步驟。
雖然我在這裡有點偏見,但我喜歡這本書的這一部分,老實說,我認為這裡介紹的方法可以轉移到解決新問題上。
第 3 部分介紹了從 Pytorch 匯出的模型,包括執行推理或移動裝置所需的步驟。對於想要學習如何最佳化訓練後模型,並在硬體資源有限的嵌入式裝置中使用的工程師來說,這部分內容會很有幫助。
PDF :
https://pytorch.org/assets/deep-learning/Deep-Learning-with-PyTorch.pdf
François Chollet:Deep Learning with Python(2nd Edition)
這本書基於 Keras 框架講述深度學習。本書的第 2 版包含大量新增內容,強烈建議閱讀第二版。
前 4 章為新手基礎知識,如張量運算、反向傳播、基本的 Keras 模組,以及聚類和迴歸問題。
第 5 章分析了最佳化和泛化之間的權衡以及它與訓練資料的關係。這一章節解釋了為什麼訓練後的模型會透過逼近其資料的潛在流形實現泛化,並可以透過插值對新的輸入做出高質量的預測。
第 6 章教你如何處理一個新的機器學習專案,包括設定切合實際的目標、收集資料、打破良好的基線和部署。第 7 章說明了如何更好地理解 Keras API 和回撥。
第 8 章和第 9 章透過利用卷積神經網路進行影象分類和影象分割,全面概述了計算機視覺中的深度學習。第 10 章側重於使用迴圈神經網路處理時間序列,第 11 章介紹了用於處理文字資料的Transformer架構。
第12章提出了各種生成模型來生成新的文字、影象。作者對生成對抗網路 (GAN) 、變分自動編碼器 (VAE) 以及對潛在空間的解釋和觀點很有意思。
最後,本書涵蓋了現實世界的高階概念,例如超引數調整、模型整合、混合精度訓練、多 GPU 或多 TPU 訓練等。
PDF:
https://drive.google.com/uc?export=download&id=1czfFQr2qWRBVGmrYyg_jzv0Q_-eJl5ip
Laurence Moroney:AI and Machine Learning for Coders: A Programmer's Guide to Artificial Intelligence
如果你正在找有關 Tensorflow 的完整教程,這本書可能是最佳選擇。Laurence Moroney 是 Google 的首席 AI 倡導者,在 Tensorflow 及其相關庫方面擁有豐富的經驗。
本書分為兩部分。第一部分關於研究機器學習應用、如何利用 Tensorflow 來開發這些應用。包括計算機視覺、自然語言處理、時間序列分析和序列模型。在這部分可以學習如下內容:
如何使用 Tensorflow 構建 CNN 和 RNN;如何處理文字、影象和時間序列資料;如何利用 Tensorflow 資料集進行資料處理和探索。
第二部分是在實際應用中使用這些模型。讀者將熟悉移動或 Web 應用程式上的模型部署。主要內容包括:
如何使用 Tensorflow Lite 在 Android 或 iOS 中嵌入模型;如何利用 Tensoflow.js;什麼是 Tensorflow 服務、如何部署模型等。
這本書非常實用,有很多程式碼段和漂亮的視覺化效果。
PDF :
https://drive.google.com/file/d/1-WViisjDgKzvdw-AZ0CLXctiGspP84SJ/view?usp=sharing
MLOP:雲、生產和深度學習工程
Sergios Karagianakos:Deep learning in production
本書採用動手實踐的方法來學習 MLOps。這本書的前提是,讀者從一個深度學習模型開始,努力構建一個可擴充套件的 Web 應用程式。書中包含大量程式碼段和視覺化效果,對於軟體背景有限的機器學習研究人員和資料科學家來說,本書是個不錯的資源。
書中各章節涉及機器學習生命週期的不同階段。在討論了設計階段之後,讀者將熟悉如何編寫可維護的深度學習程式碼(如 OOP、單元測試和除錯)的最佳實踐。第 5 章是關於構建高效的資料管道,第 6 章涉及雲中的模型訓練以及各種分散式訓練技術。
接著,本書討論服務和部署技術,同時強調 Flask、uWSGI、Nginx 和 Docker 等工具。最後兩章探討了 MLOP。
更具體地說,是討論如何使用 Kubernetes 擴充套件深度學習應用程式,如何使用 Tensorflow Extended 構建端到端pipeline,以及如何利用谷歌雲和 Vertex AI。
相關資源:
https://github.com/The-AI-Summer/Deep-Learning-In-Production
Andriy Burkov:Machine learning engineering
這是本文推薦的 Burkov 的第二本書。作者在書中如何構建機器學習應用程式的設計模式和最佳實踐方面建立了聯絡。
與前一本書類似,每一章都側重於 ML 生命週期的一個單獨階段。從設計階段開始描述了 ML 專案的挑戰和優先順序,然後講到資料處理和特徵工程,書中包括了常用行業術語的清晰解釋,以及相應解決方案的常見陷阱。
訓練和評估階段分為三章,分析瞭如何使用正則化、超引數調節等技術提高模型的精度。還講了關於處理分佈偏移、模型校準、a/b 測試等問題。最後兩章則討論了部署策略、模型服務和維護。
PDF:
https://drive.google.com/uc?export=download&id=1P0h-3e5Po-gIO-eb8dtYdyHkmzlDGLCS
深度學習理論
Ian Goodfellow, Yoshua Bengio, Aaron Courville:Deep Learning
最後,深度學習理論部分只有這一本書(花書)。
為什麼?因為如果你開始一頁一頁地閱讀這本書,你不太可能讀完。
這本書更像是一本手冊,可以對深度學習從數學的角度進行更深入的理解,獲得更可靠的資訊。
本書介紹了深度學習理論的廣泛主題,建立了堅實的數學背景。書中涵蓋的數學領域包括線性代數、機率論、資訊理論和數值計算。
此外本書還展示了多樣化的深度學習技術,如正則化、最佳化演算法、卷積網路、序列建模。涉及到的應用方向包括線上推薦系統、生物資訊學和影片遊戲等。
最後,本書中還講了不少有見地的理論觀點,如線性因子模型、自動編碼器、表示學習、結構化機率模型、蒙特卡羅方法、分割槽函式、近似推理和深度生成模型等。
PDF:
https://polarai.cn/265.html
參考資料:
https://theaisummer.com/deep-learning-books-2022/