深度學習(Deep Learning)自學素材推薦

https://dt42.github.io/2016/04/27/deep-learning-material-recommendations/

網路上關於深度學習的資料實在太多了,這裡列出的只是我個人讀過覺得相當不錯的資源,看不夠的話請右轉 Google 搜尋「Deep Learning」,絕對能滿足絕大部分的需求。如果有好的文章卻被漏掉了,也非常歡迎留言推薦,一定儘快補上。

機器學習

如果完全還不知道 Deep Learning 是什麼,甚至對機器學習 (Machine Learning) 都沒有概念,Andrew Ng 在 Coursera 開的課程(1)絕對能給你一個好的開始,雖然是英文授課,但有中文字幕可以參考。除了 Andrew Ng 開的課,華語世界也有個相當熱門的 MOOC 課程─台大林軒田老師在 Coursear 上教授的 Machine Learing;雖然課程已經結束,但所有的影片都公開在 Youtube 上(2)。不過要提醒一下,雖然林老師是中文授課,但可別因此覺得親切,與 Andrew 的課程相比,林軒田老師的課程更重視理論根基,數學很重。

深度學習

對機器學習有概念,但不知道什麼是深度學習的讀者,可以從 PyData 2015 London 的一個 talk 開始(3),它提供了簡短的摘要,從 Learning 的概念開始講起,到介紹如何使用 Python libraries 來達成基本的深度學習任務。有一點概念以後,相當推薦 Michael Nielsen 所寫的 Neural Networks and Deep Learning(4),這篇深入淺出地帶領讀者從最基本的 Perception,一路走到近年來深度學習熱門的技巧像是 Dropout, Batch Normalization 等等,配合大量的 Javascript 導讀與實作範例,是本非常實用的小書。想要收藏更完整的 Deep Learning 知識,可以參考這本由 Ian Goodfellow, Yoshua Bengio 與 Aaron Courville 合著的 Deep Learning(5)。一邊唸書的同時,推薦可以配合著看 Christopher Olah 的部落格(6),她把很多不易理解的概念(例如 Backpropagation)做了視覺化,或者是用不同的角度切入,常常能帶給讀者「原來還可以這樣看啊!」的收穫。對於對深度學習有相當好的理解、甚至自己開發新 model 的讀者,如果遇到困難,推薦可以看看 Russell Stewart 的這篇 Introduction to debugging neural networks (8),或許解 bug 的靈感就藏在其中。

電腦視覺 (Computer Vision)

Deep Learning 其實不只能拿來做視覺辨識,它在自然語言、推薦系統甚至金融商品預測等等也都有很好的表現。不過本篇文章是以視覺辨識為主要範例,如果對電腦視覺有興趣,Stanford 開設的 CS231n Computer Vision (7)是很好的入門課程。

  1. https://www.coursera.org/learn/machine-learning/
  2. https://www.youtube.com/playlist?list=PLXVfgk9fNX2I7tB6oIINGBmW50rrmFTqf
  3. Python For Image Understanding: Deep Learning with Convolutional Neural Nets
  4. http://neuralnetworksanddeeplearning.com/index.html
  5. http://www.deeplearningbook.org/
  6. http://colah.github.io/
  7. http://cs231n.stanford.edu/
  8. http://russellsstewart.com/blog/0