推薦12本深度學習相關的書籍,大家可以根據介紹,選擇適合自己的書來讀。
《Hands-On Machine Learning with Scikit-Learn and TensorFlow》
首先,在我看來,這是12本書中最好的一本書,它採用了一種“動手”的方法,利用流行的機器學習庫Scikit – Learning和Google的Tensorflow進行深度學習實戰。
和許多“深度學習”相關的書一樣,比如《Deep Learning》,本書中也有很多方程式,但它比《Deep Learning》少得多,可讀性也更強。
作者試圖用一種幾乎任何人都能理解的方式來解釋複雜的問題,這在我看來是一大優勢。
我喜歡這本書的原因是,它會帶你從頭到尾完成一個完整機器學習專案。因此,你可以看到使用真實資料的感覺,如何視覺化資料以獲得直觀感覺,以及更重要的是,如何為機器學習演演算法準備資料。
在本書的後面,你將看到著名的MNIST分類器,模型是如何訓練的,以及一些基本的機器學習分類器,如SVMs、決策樹、隨機森林等。
所有這一切都是為了本書的第二部分做準備,這本書涉及Tensorflow(包括安裝)和一個基本的神經網路和深層神經網路。
我認為這本書的結構非常好,並以正確的順序介紹了主題。儘管這本書有很多公式,但書中的思想和具體例子都得到了很好的解釋。
《Deep Learning》
好的,接下來就是《Deep Learning》。可能是這12本書中最全面和完整的書。
這本書是由這一領域的三位專家,Ian Goodfellow、Yoshua Bengio和Aaron Courville寫的。
這本書也是這12本書中唯一得到企業家Elon Musk認可的書。
這本書被許多人認為是一本深度學習領域的聖經,這是正確的——它把多年來值得學習和專註研究的東西集中在一本書裡。
這本書並不是為膽小的人寫的,可能更適合睡前閱讀,因為它充滿了方程式,而且是以典型的教科書方式寫的,所以不是以最有趣的方式寫的。然而,它確實適合於初學者,並介紹了基本數學,如線性代數,機率論,然後進入機器學習基礎,最後深度網路和深度學習。
因此,如果你是一個有抱負的學生,希望掌握這門學科,並深度學習研究,或者即使你想進行深度學習教學,那麼這本書肯定會讓你受益。這可能是目前關於這個主題最全面的書。
《Deep Learning for the Layman》
我之所以把這本書包括在內,是因為正如書名所示,這本書是為一般讀者寫的。
對於外行人來說,《Deep Learning for the Layman》首先介紹深度學習基礎,特別是它是什麼,以及為什麼需要它。
本書的下一部分解釋了監督學習、非監督學習和強化學習之間的區別,並介紹了分類和聚類等主題。
在本書的後面部分,將討論人工神經網路,包括它們是如何構建的,以及構成網路中每個層的部分。
最後討論了深度學習,包括摺積神經網路,它構成了目前使用的許多計算機視覺演演算法的一部分。
我把這本書看作是深度學習的入門書,並瞭解其中涉及的概念。雖然實際上,我不確定這本書會有什麼好處,但如果你想要一本簡明的英文指南,同時又能尋求一點突破,那麼這本書可能適合你。
《Make Your Own Neural Network》
嚴格來說,這並不是一本“深度學習”有關的書,但這本書將帶你踏上一段完全理解神經網路及其工作原理的旅程,這將有助於你理解深度神經網路。
在這本書裡,你將被帶領,透過神經網路的數學公式,並將使一個初學者完全理解神經網路是如何工作的。
不僅指導你瞭解它們的工作方式,還將基於Python,實現兩個神經網路示例,這將有助於加深你對該主題的理解。
本書從機器學習相關的高階概述開始,然後深入研究神經網路的細節。所涉及的數學並不超出中學水平,但包括微積分的一小部分的介紹,解釋的方式也是讓盡可能多的人能理解。
搭建自己的神經網路有兩個部分,第一部分是關於思想和理論,第二部分是比較實用的部分。 在第二部分中,你將學習Python程式語言,並逐步獨立建立能夠識別手寫數字的神經網路。
作為獎勵,你還將學習如何讓你的神經網路執行在Raspberry Pi環境上!
這是一本非常棒的書,對於那些希望瞭解基本神經網路的本質的人來說,這可能是這12本書中一個很好的先決選擇。
《Deep Learning for Beginners》
《Deep learning for beginners》並不太關註深度學習的數學公式,而是使用圖形來幫助你理解深度學習的基本概念和演演算法。
本書採用了一種不同於其他許多書的寫作的方法,提供了深度學習演演算法如何工作的簡單示例,然後逐步構建這些示例,並逐步介紹演演算法中更複雜的部分。
這本書的標的讀者是多種多樣的,從電腦科學的新手,到資料科學的專業人員和導師,他們希望以最簡單的方式向學生解釋這一主題。
在本書的結構方面,你將首先學習人工神經網路的基礎知識,並瞭解機器學習和深度學習之間的區別。
接下來,你將學習所有關於多層感知器( MLP )的知識,然後再學習摺積神經網路( CNN )和其他深度學習演演算法。
這是一本適合與初學者的書,很好地解釋了這些概念,但是如果你正在尋找一個更實用的東西,那麼你可能應該看看其他的書。
《Neural Networks and Deep Learning: Deep Learning explained to your granny》
一本書,解釋事情如此簡單,以至於你的奶奶都可以理解,在我看來,必須推薦給大家!
《Neural Networks and Deep Learning》將帶你逐步瞭解神經網路和深度學習的基礎知識,對於那些想瞭解這個主題但不一定想深入瞭解它背後的所有數學知識的人來說,這是一本很好的書。
因此,在簡要介紹了機器學習之後,你將瞭解有監督和無監督學習,然後深入研究神經元、啟用函式和不同型別的網路體系結構等內容。
最後,你將瞭解深度學習實際上是如何工作的,深度神經網路的主要型別是什麼(包括摺積神經網路),如何賦予神經網路Memory,並討論了各種可用的框架和庫。
《Fundamentals of Deep Learning: Designing Next-Generation Machine Intelligence Algorithms》
這本書由Nikhil Buduma和Nicholas Locascio的所寫,旨在針對那些熟悉Python和有微積分背景的人,開始學習深度學習,。
儘管如此,深度學習的基礎知識確實涵蓋了機器學習和神經網路的基礎,並教你如何訓練前饋神經網路。
在我看來,這本書的亮點之一是它大量使用了Tensorflow,這是谷歌構建神經網路的API。事實上有整整一章專門討論這個問題,在我看來這是一個很大的加分點。
在本書的其餘部分,它討論了一些相當先進的特點,如梯度下降問題,摺積濾波器,深度強化學習等。然而,這本書的包含了一些很好的圖表,儘量少設計數學相關的東西,也有一些優秀的解釋。
《Learning TensorFlow: A Guide to Building Deep Learning Systems》
下一步是一本書,重點放在Tensorflow上一個端到端的指南。這本書從實踐的角度來講解Tensorflow,面向從資料科學家到工程師、學生和研究者等廣泛的技術受眾。
這本書一開始講得很慢,提供了一些Tensorflow的基本示例,但隨後轉向更深入的主題,如摺積神經網路等神經網路體系結構、如何處理文字和序列、Tensorboard視覺化、Tensorflow抽象庫和多執行緒輸入管道。
《Learning TensorFlow》的最終標的是教你如何透過儲存和匯出模型以及如何使用TensorFlow服務API在TensorFlow中構建和部署深度學習系統。
《Deep Learning with Python》
《Deep learning with python》(如標題所示)介紹了使用Python做為程式語言,基於開源Keras庫來進行深度學習研究,該庫可以輕鬆快速地進行原型開發。
這本書最大的優點是非常引人入勝,這使得這本書非常易讀。因此,人工智慧和深度學習的一些更具挑戰性的方面被簡單地列出,這使得理解變得更容易。
這本書也避免大量使用數學符號,著重於透過程式碼片段來解釋概念(其中有30多個程式碼片段)。
在《Deep learning with python》中,你將從一開始就瞭解深度學習,學習所有關於影象分類模型、如何對文字和序列使用深度學習等知識,甚至還將學習如何使用神經網路生成文字和影象。
這本書是為那些有中級Python技能的人寫的,但是你不需要有任何以前的機器學習經驗,Tensorflow或Keras。
哦,你也不需要一個高等數學背景,僅僅是基礎高中水平的數學應該讓你跟隨和理解核心思想。
《Deep Learning: A Practitioner’s Approach》
我名單上的第十本書是《Deep Learning: A Practitioner’s Approach》。
與這12本書中的其他書籍不同,本書側重於將深度學習與Java結合 ( DL4J ),這是一個用於訓練和實現深層神經網路的Java框架/庫。
現在,大多數人工智慧研究都是在Python中進行的,因為快速原型製作通常更快,但是隨著更多的組織(其中許多組織使用Java )採用人工智慧,我們可能會看到更多的人工智慧演演算法轉向像DL4J這樣的Java框架。
這本書首先是一本關於深度學習的入門書,但是如果你已經有Java或深度學習的經驗,那麼你可以直接去看看例子。
如果你沒有深度學習的經驗,但有很強的Java經驗,那麼你應該從頭到尾閱讀它。
如果你根本不懂Java,那麼我強烈建議你讀一本Java初學者的書。
透過閱讀這本書,你將瞭解機器學習的一般概念,特別是關於深度學習。你將瞭解深層神經網路是如何從基本神經網路演變而來的,還將瞭解一些深層網路體系結構,如摺積和遞迴神經網路。
如果你熟悉Hadoop和Spark,那麼你將能夠瞭解如何在DL4J中本機使用這些技術。
《Pro Deep Learning with TensorFlow》
本書將以實踐的方式教你如何使用Tensorflow,使你能夠從頭開始學習深度學習,快速掌握Tensorflow API,並瞭解如何最佳化各種深度學習網路體系結構。
《pro Deep Learning》將幫助你培養所需的數學知識和直覺,以調整現有的神經網路結構,甚至發明全新的體系結構來挑戰最先進的網路結構
本書中的所有程式碼都以iPython筆記本的形式提供,並且在過去使用過Tensorflow之後,我發現在開發過程中使用iPython筆記本非常有用。
本書面向資料科學家和機器學習專業人員、軟體開發人員、研究生和開源愛好者,將為你提供數學基礎和機器學習原理,使你能夠開展研究,併在生產中進行部署等更深入的解決方案。
《TensorFlow for Deep Learning》
在撰寫本文章時,《TensorFlow for Deep Learning》尚未釋出,但可以預訂。
這本書將透過實際例子從頭開始教你深度學習的概念,是為那些有構建軟體系統經驗,但沒有深度學習體系結構經驗的開發人員設計的。
因此,本書將向你展示如何設計能夠執行標的檢測、翻譯人類語音、分析影片甚至預測潛在藥物效能的系統!
你將深入瞭解TensorflowAPI、如何在大型資料集上訓練神經網路以及如何將Tensorflow與摺積網路、遞迴網路、LSTMs和強化學習結合使用。
這本書需要一些基本線性代數和微積分的背景知識,但這是一本實用的書,旨在教你如何建立可以學習的系統。
全文總結
這就是我們,目前最好的一些深度學習書籍。人工智慧,特別是深度學習,已經非常有用,並且已經用這種技術取得了非凡的成就。然而,它仍處於初級階段,許多組織尚未接受它。但這為那些願意學習這門學科的人提供了機會。
深度學習有能力改變許多行業,還有很多創業的想法還沒有被想象出來。我覺得我們才剛剛開始革命。作為一名深度學習研究人員,我有一些深度學習的經驗,但我知道我的許多同事尚未學習這個主題。
那麼,為什麼不藉此機會脫穎而出,盡你所能學習有關深度學習的知識,或許你可以把下一個大型人工智慧初創企業帶到矽谷?即使你沒有建立一個創業公司,這是一個了不起的經歷以附加到任何簡歷中。
往期內容推薦:
AI、神經網路、機器學習、深度學習和大資料的核心知識備忘錄分享
DeepLearning_NLP
深度學習與NLP
商務合作請聯絡微訊號:lqfarmerlq