隨著深度學習的不斷火熱,任何乙個開發者都想上深度學習這趟快車。但是?到底怎麼樣才能快速上手了?以下是我自己的方式學習。我絕不會聲稱這是最好的方式,但是直到現在看來這條道路是我認為最佳的方式。
在這篇文章中,我將向你介紹10個步驟去轉型深度學習,希望可以幫助到你。
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(繪相簿。
2.numpy(科學計算,對於陣列和特別有用矩陣操縱。
3.pandas(資料分析庫。
4.opencv(影象處理庫。
5.jupyter(構建python筆記本的web應用程式。
提示#3:學習python ,享受終生的紅利。
4-奔跑之前:
在你跑步學習之前,我建議你了解ai,ml和dl的關係(防止學術錯誤)。dl是ml的乙個子集,所以在跳入dl之前,你應該知道一些關於ml的知識。你應該花時間學習「傳統」ml的資料集、主要問題(回歸,分類,聚類等),每個問題的流行演算法等等,神經網路只是其中的一種技術。對ml的更廣泛的理解將幫助你看到何時使用dl,學習python是一件好事,因為現在你可以通過scikit-learn(來學習ml。這個庫很容易使用,並且支援大量的ml演算法。如果你想要挑戰一下自己,你也可以看看pyspark(spark的python api)和spark mllib(spark的機器學習庫)。如果你需要處理大型資料集,spark的強大的資料管理功能是乙個不錯的選擇。在你的學習階段,它們是過度的,但是當你開始構建生產應用程式時,記得使用它們。
提示#4:首先,深度學習是機器學習,按照正確的順序學習它們。
5-選擇乙個庫:
在選擇庫是記住一點,你選擇哪乙個dl庫並不重要。只要它有乙個python api並且足夠友好來隱藏低階庫,這樣就行了。這裡有一些選擇:
1.keras(
2.apache mxnet
和它的gluon api(
3.caffe2(
4.pytorch(偏向於實驗,但很有希望)。
注意:theano(是非常低階的,tensorflow也是低階別的,很難學習,並且會產生挫折感,我不會推薦這些給初學者。檢視文件,執行一些教程,做出自己的想法。其中總會有乙個庫會讓你感覺更舒適。
提示#5:選擇庫時一定要忽略炒作,這將有助於你學的更舒服。
7-堅持,堅持!
8-不要擔心,數學很好玩!
9-專注學習!
10-繼續學習!
另附雲棲社群高階寶典:
請收下這份關於人工智慧的根目錄——部落格整理系列(一)
關於資料科學的那些事——部落格整理系列(二)
機器學習必備手冊——部落格整理系列(三)
擴充套件眼界的都在這——部落格整理系列(四)
深度學習必備手冊(上)——部落格整理系列(五)
深度學習必備手冊——部落格整理系列(六)
本文由北郵@愛可可-愛生活老師推薦,阿里云云棲社群組織翻譯。
文章原標題《10+steps+on+the+road+to+deep+learning》,
譯者:虎說八道,審閱:
文章為簡譯,更為詳細的內容,請檢視原文
閱讀原文
「十步學習法「學習實踐
最近拜讀了 軟技能 之外的軟技能 給了我很大的啟發,對其中的十步學習法很感興趣,打算學習使用它,準備在csdn中記錄學習使用的過程及成果。十步學習法的基本思想 對自己要學習的內容有個基本的了解 了解自己不知道什麼就可以 勾勒自己的學習範圍,即需要學習的內容,以及學成之後又會獲得什麼。依靠這些尋找資源...
軟技能 十步學習法
集中精力完成足夠的前期調研,確保自己明確知道學習的內容,以及如何確定自己達成目標,挑選最好的資源來幫助自己實現目標,制定學習計畫。首先對需要學習的課題進行一些基礎性研究,對該主題有乙個全域性性的了解。根據自身的需求,決定學習的重點和學習的範圍,在此階段容易犯的乙個錯誤就是 試 決太大的問題而讓自己陷...
十步寫Cartridge 一
十步寫 cartridge 這篇文章告訴你如何寫乙個 andromda cartridge在10 個不同的步驟中,使用乙個簡單的 cartridge 從uml 開發模型中生成乙個類似於 ant的構建指令碼。這就是為什麼教程 cartridge 被叫做 andromeda deployment 新的 ...