PDF 鏈接:https://pan.baidu.com/s/1gO9M2Q-WgQueXZ6yOtQiaQ
提取碼:z5t5
書中代碼github:https://github.com/L1aoXingyu/code-of-learn-deep-learning-with-pytorch
Pytorch學習資源與建議
隨着近年深度學習的興起,很多研究者都投入這個領域當中,由於各個大學都將自己的課程放到了網上,出現了很多學習資源和網絡課程,而且很多大公司如Google.Facebook都將自己的開源框架放到了Github上,使得深度學習的人門越來越簡單,很多麻煩的重復操作已經通過框架簡化了,這也讓我們每個人都能有機會接觸深度學習。
網上有各種各樣的學習經驗分享,有的人注重理論知識的積累,看了很多書,但是動手實踐的經驗為0;也有一些人熱衷於代碼的實現,每天學習別人已經寫好的代碼。對於這兩種情況,我認為都是不好的,深度學習是理論和工程相結合的領域,不僅僅需要寫代碼的能力強,也需要有理論知識能夠看懂論文,實現論文提出來的新想法,所以我們的學習路線應該是理論與代碼相結合,平衡兩邊的學習任務,不能出現只管一邊而不學另外一邊的情況,因為只有理論與代碼兼顧才不至於一旦學習深入,就會發現自己會有很多知識的漏洞。
在學習本書之前,需要一定的Python語言基礎和微積分、線性代數的基礎,下面將給出開始閱讀本書之前的學習建議,以及讀完本書后繼續深入了解深度學習領域的學習建議。
在開始本書之前,對於微積分和線性代數需要掌握的知識並不多,對於微積分只需要知道導數和偏導數,對於線性導數只需要知道矩陣乘法就可以了對於Python語言,給出三個學習資源,學完第一個學習資源之后就可以沒有障礙地閱讀完本書,后續的兩個學習資源幫助你更深入地了解Python語言及其數值計算。
(1)《笨方法學Python)(Learn Python the Hard May)
本書面向零基礎的學者,通過一系列簡單的例子快速入門Python的基本操作。
(2)雪峰的Python人門
這個系列教程可用來更全面地學習Python,掌握前幾章的Python基礎即可,后面講授的部分是更為專業的Web開發的內容,對於機器學習而言不需要掌握這些部分。
(3)Edx:Introduction to Computer Science and Programming Using Python這是MIT的公開課,以Python作為人門語言,簡潔、全面地講述了計算機科學的內容,適合更進一步的學習。
以上的Python人門課程只需要看完第一個學習資源便可開始本書的閱讀。
下面給出讀完本書,以及在本書的閱讀過程中的一些參考學習資源。
(1)線性代數
線性代數相當於深度學習的基石,深度學習里面有着大量的矩陣運算,而且線性代數的一些矩陣分解的思想也被借鑒到了機器學習中,所以必須熟練掌握線性代數。可參考以下資源學習:
-
《線性代數應該這樣學》(Linear Algebra done right)
-
MIT的線性代數公開課
-
Coding The Matrix
(2)機器學習基礎
雖然深度學習現在很火,但是也需要掌握其根本,即機器學習,這才是本質與核心。
這里的學習資源從易到難排列:
-
Coursera上Andrew Ng的機器學習入門課程
-
林軒田的機器學習基石和機器學習技法
-
Udacity的機器學習納米學位
-
周志華著的《機器學習》
-
李航著的《統計學習方法》
-
Pattern Recognition and Machine Learning
(3)深度學習
這是最近幾年最為活躍的研究領域,爆發了很多革命性的突破,很多前沿的學習
資源,如:
-
Udacity的兩個深度學習課程
-
Coursera的Neural Networks for Machine Learning
-
Stanford的cs231n
-
Stanford的cs224n
以上的學習資源很多,可以學習及參考,很多課程都是理論與實踐相結合的,通過上面資源的學習,可以完成深度學習領域絕大部分的知識儲備。
