十步直通深度學習

隨着深度學習的不斷火熱,任何一個開發者都想上深度學習這趟快車。可是?到底怎麼樣才能快速上手了?如下是我本身的方式學習。我毫不會聲稱這是最好的方式,可是直到如今看來這條道路是我認爲最佳的方式。算法

在這篇文章中,我將向你介紹10個步驟去轉型深度學習,但願能夠幫助到你。apache

aa85acef56dabd8d999b01e318bb9106a51e0012

OK,出發!數組

1-相信你能夠作到:網絡

不少人擔憂機器學習(ML)和深度學習(DL)對他們來講太複雜了,這些技術是否是過高深了?我能夠確切到底告訴你我作到了,你也能夠。必定要相信本身,自信才能讓你有信心的一直走下去。數據結構

你的第一個目標應該是瞭解深度學習是什麼,它能夠或不能夠作什麼以及如何在咱們本身的應用程序中使用它。大量的數據集?算法?模型?你應該首先肯定這些樂高積木是什麼,聽起來好像是堆積木,對沒有聽錯,它和其餘開發的流程是同樣的。你能夠把它們結合起來,開始構建一個很酷的深度學習模型。機器學習

提示#1:DL不是黑魔法,它是代碼,和其餘技術沒什麼差異。函數

2-忽略數學:工具

前向傳播、後向傳播、損失函數、梯度降低這是神馬??第一次接觸深度學習就被行話的壓倒在地。是的,不得不認可的是數學是ML的基礎。但,這不該該是你的出發點。在編寫一行代碼以前,誰會花費幾個小時或者更長的的時間去研究這行代碼中的數學知識?這一般是你如何在DL庫中啓動訓練過程:學習

 

model.train(data, labels, loss_function, optimizer)

 

你能夠花幾個星期來了解基礎數學,僅僅是瞭解,做爲一個開發者,千萬不要深究這裏面是什麼。使用黑匣子的方法是以最小的焦慮開始。隨着時間的推移,你能夠更好地瞭解每一個模塊的工做原理,而且能夠進一步深刻,但不是如今。阿里雲

提示#2:把你不明白的東西看成黑盒子,專一於界面。

3-Python

DL是代碼,那麼,你應該掌握什麼語言?若是你必須選擇一個,那就是Python,由於它不只是數據科學,也是ML和DL的主要語言,它是一個很是有用的語言,正如Python AWS SDK aka boto3所示。若是你尚未使用它,或者你正在學習它,那麼確保你對列表,元組,字典等有一個很好的理解,這些數據結構在DL代碼中無處不在。對於核心語言,我強烈建議你也學習這些Python工具的基礎知識:

1.Mathplotlib(https://matplotlib.org/):繪圖庫。

2.Numpy(http://www.numpy.org/):科學計算,對於數組和特別有用矩陣操縱。

3.Pandas(https://pandas.pydata.org/):數據分析庫。

4.OpenCV(https://opencv.org/):圖像處理庫。

5.Jupyter(http://jupyter.org/):構建Python筆記本的Web應用程序。

提示#3:學習Python ,享受終生的紅利。

4-奔跑以前:

在你跑步學習以前,我建議你瞭解AI,ML和DL的關係(防止學術錯誤)。DL是ML的一個子集,因此在跳入DL以前,你應該知道一些關於ML的知識。你應該花時間學習「傳統」ML的數據集、主要問題(迴歸,分類,聚類等),每一個問題的流行算法等等,神經網絡只是其中的一種技術。對ML的更普遍的理解將幫助你看到什麼時候使用DL,學習Python是一件好事,由於如今你能夠經過scikit-learn(http://scikit-learn.org/stable/)來學習ML。這個庫很容易使用,而且支持大量的ML算法。若是你想要挑戰一下本身,你也能夠看看PySpark(Spark的Python API)和Spark MLlib(Spark的機器學習庫)。若是你須要處理大型數據集,Spark的強大的數據管理功能是一個不錯的選擇。在你的學習階段,它們是過分的,可是當你開始構建生產應用程序時,記得使用它們。

提示#4:首先,深度學習是機器學習,按照正確的順序學習它們。

5-選擇一個庫:

在選擇庫是記住一點,你選擇哪個DL庫並不重要。只要它有一個Python API而且足夠友好來隱藏低級庫,這樣就好了。這裏有一些選擇:

1.Keras(https://keras.io/)。

2.Apache MXNet和它的Gluon API(https://mxnet.incubator.apache.org/)。

3.Caffe2(https://caffe2.ai/)。

4.PyTorch(http://pytorch.org/)(偏向於實驗,但頗有但願)。

注意:Theano(http://deeplearning.net/software/theano/)是很是低級的,Tensorflow也是低級別的,很難學習,而且會產生挫折感,我不會推薦這些給初學者。查看文檔,運行一些教程,作出本身的想法。其中總會有一個庫會讓你感受更溫馨。

提示#5:選擇庫時必定要忽略炒做,這將有助於你學的更舒服。

63c75bbbf3582b353a2f2f11dfeb1a5118868f45

6-代碼,代碼!

7-堅持,堅持!

 

8-不要擔憂,數學很好玩!

2c09c96b9c81abfb1fbc4ad259c6e97a411980e8

9-專一學習!

10-繼續學習!

另附雲棲社區進階寶典:

請收下這份關於人工智能的根目錄——博客整理系列(一)

關於數據科學的那些事——博客整理系列(二)

機器學習必備手冊——博客整理系列(三)

擴展眼界的都在這——博客整理系列(四)

深度學習必備手冊(上)——博客整理系列(五)

深度學習必備手冊——博客整理系列(六)

本文由北郵@愛可可-愛生活老師推薦,阿里云云棲社區組織翻譯。

文章原標題《10+steps+on+the+road+to+Deep+Learning》,

做者:Julien Simon

譯者:虎說八道,審閱:

 

文章爲簡譯,更爲詳細的內容,請查看原文

閱讀原文http://click.aliyun.com/m/40411/

相關文章
相關標籤/搜索