每日最新頭條.有趣資訊

LeCun力薦,PyTorch官方權威教程書來了,意外的通俗易懂

機器之心報導

參與:一鳴、澤南

千呼萬喚始出來,PyTorch 官方權威教程書終於來了。書籍一出便獲 LeCun 轉推力薦。

PyTorch 無疑是當今最火熱的深度學習框架之一。自 2016 年誕生以來,PyTorch 已發展成一個非常繁榮的開發社區。據統計,在 2017 年,深度學習頂會中使用 PyTorch 的論文比例還不到 10%;如今,PyTorch 已經稱霸學界,在 CVPR 接收論文中佔比 69%,NAACL 和 ACL 都超過了 75%,ICLR 和 ICML 也都超過了 50%。

遺憾的是,PyTorch 官方尚未提供一部權威的教程書籍,儘管官網和其他渠道的相關教程已經浩如煙海。最近,PyTroch 官方終於宣布,官方權威的 PyTorch 教程書終於問世了。消息一經宣布就獲得了社區的關注,而圖靈獎獲得者、Facebook 首席 AI 科學家 Yann LeCun 則直接轉推力薦。

雖然紙質書還沒有正式出版,但本著開源的原則,這部書的電子版是可以免費下載使用的,因此開發者再也不需要擔心沒有充足資源學習的問題。畢竟,官方是卯著勁讓你學呢。

下載地址:https://pytorch.org/deep-learning-with-pytorch-thank-you

書籍初探

本書圍繞 PyTorch 這一主題,通過 5 個章節介紹使用方法。本書最大的特點在於:非常通俗易懂,力求讓讀者理解。注意:本書基於的編程語言是 Python。

書籍內容

本書在開頭寫到:

這本書意圖為熟悉 Python 和希望更好地使用 PyTorch 的軟體工程師、數據科學家和有激情的學生提供入門方法,構建深度學習項目。最終,本書會提供上手方法。我們鼓勵讀者準備好電腦,這樣可以嘗試研究相關案例,並繼續深入學習。

全書重點在於以簡單易懂的語言向讀者普及深度學習和 PyTorch 的內容。一改往日教程或教科書刻板的風格,全書使用了大量簡單易懂的插圖,力圖讓讀者能夠理解。

圖 1.3:單個神經元的簡單計算過程,使用動態圖。

以圖 1.3 為例,它向讀者介紹了機器學習中簡單的神經元計算過程。除了公式外,還通過圖解的直觀形式展現了神經元及其權重、偏置量在計算過程中的變化。

而在介紹神經網絡的計算過程時,書裡也不惜用公式+手繪流程圖+插圖的形式,力求將整個抽象過程簡單明了的顯示出來。

圖 5.3:一個三層的神經網絡架構。

全書各處可見的插圖令人印象深刻。為了很好地展示所有可能需要理解的信息,作者不惜採用大量手繪的形式進行展示。例如說,下圖中將一維張量轉換到二維過程中,使用圖解方式說明數據的變化形態。如果只是用標準的張量表示來解讀則會造成一定的理解困難。

圖 3.2:將一維多通道數據轉換為二維多通道數據。在這個過程中,我們需要將每個樣本的日期和時間放在不同的坐標軸上。

儘管書中沒有配套代碼,但是全書隨處可見的案例和代碼塊已經發揮了相應的作用,可以說邊看書邊寫代碼都沒有問題,而且很多代碼都會有類似的「腳注」說明。

設計訓練循環的代碼塊示例。

當然,這部書並不是「神經網絡大全」或者「高級 Python 代碼進階」這樣的書,讀者閱讀學習後也只是理解了深度學習的相關知識和 PyTorch 的使用方法。但是作為最基礎的入門教程已經很好了,對有高中數學基礎的人可能就已經足夠。

全書目錄

《PyTorch 深度學習》旨在指導人們開始自己的 AI/機器學習開發之路,全書總共只有 5 個章節、120 頁,不像很多大部頭那樣啃不完。本書目錄如下:

第一章是通俗易懂的入門內容,主要介紹了「什麽是 PyTorch」和「為什麽我們要選擇 PyTorch」,以及對本書內容層次的總體介紹,讓剛剛入門的讀者能夠順暢地閱讀下去,並對 PyTorch 有一個淺層但是完整的初步認知。

第二章則從張量這一深度學習的基本概念開始,介紹了張量的相關數學機制,以及深度學習是怎樣處理數據,完成「學習」這一過程的。

第三章開始則通過張量和真實世界的數據進行聯繫,說明了如何使用張量表示表格、時序、圖像和文本等數據。

第四章則進入機器學習機制的介紹,說明了深度學習的權重更新和反向傳播原理。

最後一章主要集中在使用 PyTorch 構建神經網絡並擬合數據分布。有了前幾章的理論基礎,這一章會增加很多代碼方面實踐介紹。

看起來理論有點多?作者在開頭表示,儘管深度學習的上手實踐很重要,但是本書的最終目標不僅僅是為讀者提供一個工具技能的使用。作者們希望這本書提供的理論知識能夠幫助下一代的研究者和從業者在下一個十年的工作中,將書提供的理論作為骨架構建起新的軟體和應用。

其他教程

PyTorch 第一個官方的書籍不夠過癮?機器之心還整理過很多相關教程。

MIT 線性代數課程:https://ocw.mit.edu/courses/mathematics/18-06-linear-algebra-spring-2010/

史丹佛 CS231N《用於視覺識別的卷積神經網絡(Convolutional Neural Networks for Visual Recognition)》:https://www.youtube.com/playlist?list=PLzUTmXVwsnXod6WNdg57Yc3zFx_f-RYsq

史丹佛 CS224N

《深度學習自然語言處理(Natural Language Processing with Deep Learning)》:https://www.youtube.com/playlist?list=PLU40WL8Ol94IJzQtileLTqGZuXtGlLMP_

60 分鐘入門 PyTorch,官方教程手把手教你訓練第一個深度學習模型

獲得更多的PTT最新消息
按讚加入粉絲團