閱讀668 返回首頁    go 阿裏雲 go 技術社區[雲棲]


成為機器學習工程師要知道的多種學習路徑(附圖)

如果你決心成為一名機器學習工程師的話,在這篇文章中,我們將從簡單的線性回歸到最新的神經網絡,讓你了解機器學習的所有方麵,你不僅可以學習如何使用它們,還將學習如何從頭開始構建它們。

本文的學習路徑大部分基於計算機視覺(CV),因為它是獲得各方麵知識的最快途徑,而從CV中獲得的經驗可以簡單地轉移到機器學習的任何一個領域。

我們將使用TensorFlow作為一個機器學習框架,因為它非常好用。TesnorFlow官方地址:https://www.tensorflow.org/

如果你同時學習了理論和實踐材料,那麼將會得到更好的學習結果和實用的學習材料。

前提要求:Python,你不需要在這方麵是專家級別,隻要懂得基本知識就好。

1.課程

1.1 約翰霍普金斯大學的實用機器學習;地址:https://www.coursera.org/learn/practical-machine-learning

__20170828132538

1.2 斯坦福大學的機器學習;地址:https://www.coursera.org/learn/machine-learning
這兩個課程將教給你關於數據科學和機器學習的基本知識。

1.3 CS231n:2017年用於視覺識別的卷積神經網絡(2016);地址:https://cs231n.stanford.edu/
這是你在網上找到的關於機器學習和CV相關的最好課程之一。它能為你進一步的學習調查打下良好的基礎。

__20170828132803

1.4* 穀歌的深度學習;地址:https://www.udacity.com/course/deep-learning–ud730
可選擇的課程。

1.5* CS224d:自然語言處理的深度學習;地址:https://cs224d.stanford.edu/
對於想要使用自然語言處理的人來說,也是可選擇的課程。

3

1.6 * 深度學習的書籍;地址:https://leonardoaraujosantos.gitbooks.io/artificial-inteligence/content/
涵蓋許多機器學習的相關知識的手冊,可選。

2.實踐部分

這個列表包含許多教程和項目,你可以理解它們是如何工作的,並思考如何改進它們。創建這個列表是為了增加你對機器學習的專業知識和興趣,所以不要害怕,如果有些任務對你來說很困難,你可以在你準備好的時候再開始實踐。

2.1 來自Kadenze的簡單實用的TensorFlow課程;地址:https://www.kadenze.com/courses/creative-applications-of-deep-learning-with-tensorflow-iv/info

2.2 TensorFlow碼元書;地址:https://github.com/nfmcclure/tensorflow_cookbook

4

2.3 Tensorflow – 101教程集;地址:https://github.com/sjchoi86/Tensorflow-101

2.4 快速的風格轉變網絡;地址:https://github.com/lengstrom/fast-style-transfer
教你如何使用神經網絡將風格從名畫類轉變為照片類。

5

2.5 圖像分割;地址:https://github.com/MarvinTeichmann/tensorflow-fcn

2.6 使用SSD的對象檢測;地址:https://github.com/balancap/SSD-Tensorflow
對象檢測的最快(也是最簡單的)模型之一。

6

2.7 用於對象檢測和分割的快速蒙版RCNN;地址:https://github.com/CharlesShang/FastMaskRCNN

2.8 強化學習;地址:https://github.com/dennybritz/reinforcement-learning
非常有用的東西,特別是在你想要創建一個機器人或下一個Dota AI上的時候。

2.9 穀歌大腦團隊的Magenta項目;地址:https://github.com/tensorflow/magenta/tree/master/magenta/models
這個項目的目的是在神經網絡的幫助下創造出引人注目的藝術和音樂作品,它的結果通常都是非常驚人的。

2.10 深度雙邊學習實時圖像增強;地址:https://groups.csail.mit.edu/graphics/hdrnet/
這裏包含了穀歌圖片增強的新算法。

7

2.11 自駕車項目;地址:https://github.com/udacity/self-driving-car
想讓你的車完全自動嗎? -這是一個很好的學習起點。

3.常見問題解答

如果你在問題上卡住了怎麼辦?
首先,你必須知道機器學習並不是100%準確的——大多數情況隻是一個很好的猜測和大量的調優迭代。因此,在大多數情況下,想出一些獨特的見解是非常困難的,因為你將花費大量的時間和資源在訓練模型上。所以,不要試圖自己找到解決辦法。

這有一些網站可以幫助你解決一些問題:

我在哪裏可以找到新的學習材料?
我使用https://www.gitxiv.com/,https://www.arxiv-sanity.com/還有 https://arxiv.org/這三個網站。gitxiv這個網站不僅可以找到論文,而且還能找到相關代碼,因此它對學習者來說更加實用。

8

我應該使用雲或PC/筆記本電腦來計算嗎?
雲是最適合用於生產模型的密集計算。對於學習和測試,使用CUDA顯卡的PC/筆記本電腦要便宜得多。例如,我在我的GTX GeForce 960M和690CUDA內核的筆記本電腦上訓練所有模型的。當然,如果你有雲的話,你可以使用它。

如何提高模型的超參數的調優?
訓練的主要問題是時間。你不能隻是坐在那裏看訓練數據。出於這個原因,我建議你使用網格搜索(Grid Search)。基本上,隻需創建超參數和模型架構的集合,然後在流中運行它們,從而保存結果。因此,你可以在晚上進行訓練,並在第二天比較結果,然後找到最良好的那個。

你可以在sklearn庫看到這個過程是如何完成的。sklearn庫地址:https://scikit-learn.org/stable/modules/grid_search.html

本文為編譯作品,轉載請注明出處,更多內容關注微信公眾號:atyun_com

最後更新:2017-10-20 10:03:33

  上一篇:go  我將開通雲棲社區博客
  下一篇:go  【轉載】企業安全建設之數據庫安全(中)