實用|一文帶你零基礎(chǔ)入行深度學(xué)習(xí)
本文希望從一個小白的角度出發(fā),真正從零基礎(chǔ)的角度來為大家提供一些專業(yè)的建議和指導(dǎo)。
深度學(xué)習(xí)到底有多熱,這里我就不再強(qiáng)調(diào)了,也因此有很多人關(guān)心這樣的幾個問題,“適不適合轉(zhuǎn)行深度學(xué)習(xí)(機(jī)器學(xué)習(xí))”,“怎么樣轉(zhuǎn)行深度學(xué)習(xí)(機(jī)器學(xué)習(xí))”,“轉(zhuǎn)行深度學(xué)習(xí)需要哪些入門材料?”等等。
而網(wǎng)上相應(yīng)問題的回答也比較雜亂,存在不走心、不夠基礎(chǔ)等等問題。
考慮到太多的人沒有一定的專業(yè)基礎(chǔ),又恰恰對轉(zhuǎn)行、學(xué)習(xí)的問題比較關(guān)心,因此,本文希望從一個小白的角度出來,真正從零基礎(chǔ)的角度來為大家提供一些專業(yè)的建議和指導(dǎo)。
避免大家看很多無用的信息,少走彎路。接下來,本文從以下幾個方向出發(fā),來展開敘述:
- 什么樣的人適合入行深度學(xué)習(xí)?
- 怎樣學(xué)習(xí)深度學(xué)習(xí)?
- 有哪些入門深度學(xué)習(xí)的材料推薦?
哪些人適合入行深度學(xué)習(xí)
深度學(xué)習(xí)存在一定的門檻,這是必然的,并不是網(wǎng)上說的僅僅成為一個“調(diào)包狹”。你可能是結(jié)合一些實際的業(yè)務(wù)場景,需要復(fù)現(xiàn)一些模型,甚至自己設(shè)計一些模型,所以需要具備一定的數(shù)學(xué)、英語、編程等等能力。
1. 初中畢業(yè)、高中畢業(yè)是否適合學(xué)習(xí)深度學(xué)習(xí)?
這里,我不建議這樣的人轉(zhuǎn)行深度學(xué)習(xí),因為你現(xiàn)在需要的不是深度學(xué)習(xí),而是高中知識積累、大學(xué)的知識積累,思維模式的培養(yǎng),如果你還年輕,那我建議你先去把這些該走的路走完,再考慮入行深度學(xué)習(xí)。
你們的人生還有很多種可能,沒有必要急著早早的作出選擇。當(dāng)然,如果你已經(jīng)到了一定年紀(jì)了,那我覺得真的沒必要在這個上面折騰了,賺錢的機(jī)會還有很多。
2. 文科生是否適合學(xué)習(xí)深度學(xué)習(xí)?
對于文科生的話,我覺得不能一概而論。有些文科生,尤其學(xué)習(xí)語言學(xué)、文學(xué)專業(yè)的,他們的思維方式可能更多的偏向于發(fā)散思維,對于邏輯思維能力可能會有所欠缺。
對于這樣的人,不是很建議入行深度學(xué)習(xí),更多的是希望把本行業(yè)的事情做好,或者可以選擇一些深度學(xué)習(xí)產(chǎn)品經(jīng)理等等這樣的崗位,避免一些編程、模型設(shè)計訓(xùn)練的任務(wù)。
3. 機(jī)械、電氣等理工科的專業(yè)背景的人是否適合入行深度學(xué)習(xí)?
對于諸如電氣、電子、機(jī)械、化工、生物等等這樣的理工科專業(yè)的學(xué)生,如果選擇入行深度學(xué)習(xí),個人覺得還是存在可能的。
以機(jī)械為例,很多機(jī)械行業(yè)的朋友,也會接觸到底層編程的一些任務(wù);對于一些電子和電氣相關(guān)的專業(yè)的學(xué)生,往往也會接觸到一些編程的任務(wù)。
同樣,還具備一些信號處理的知識,對于這些人來講,深度學(xué)習(xí)和機(jī)器學(xué)習(xí),入門相對門檻會低一些。當(dāng)然,實際上還要結(jié)合自身的情況來看,具體是否合適,可以對照我后面的幾個標(biāo)準(zhǔn)。
4. 年紀(jì)太大了是否適合轉(zhuǎn)行深度學(xué)習(xí)?
個人不建議,因為核心競爭力確實會和一些年輕人存在一些差距。如果有可能,更希望能夠在本領(lǐng)域深耕下去。
5. 期待學(xué)習(xí)兩三個月成大神,年薪20萬+。
任何一門技術(shù)的學(xué)習(xí),都需要一定時間的積累,尤其對于深度學(xué)習(xí)、機(jī)器學(xué)習(xí)這樣的工作。短期內(nèi),結(jié)合專業(yè)的指導(dǎo),你可能會初窺門徑,但精通一定不行。虛心學(xué)習(xí),經(jīng)過一定時間積累,年薪20萬+希望還是很大的。
總結(jié)下,有哪些人適合入行深度學(xué)習(xí)?
- 大學(xué)里學(xué)習(xí)過高等數(shù)學(xué)的本科生,碩博士研究生;
- 有高等數(shù)學(xué)基礎(chǔ)的公司技術(shù)崗在職人員,需要 AI 賦能;
- 過去 PC、iOS、安卓開發(fā)的碼農(nóng),有編程基礎(chǔ)的人;
- 具備較好的邏輯思維能力的本科生。
如何入行深度學(xué)習(xí)
聊完了什么人適合入行深度學(xué)習(xí),我們再來看一看如何學(xué)習(xí)深度學(xué)習(xí)?
具體你需要經(jīng)歷以下幾個步驟:
- 深度學(xué)習(xí)整體概述:了解深度學(xué)習(xí)的前世今生、為什么會爆發(fā)深度學(xué)習(xí)熱潮?代表的技術(shù)有哪些,涉及到什么樣的領(lǐng)域、產(chǎn)品、公司,以及各行各業(yè)中的應(yīng)用。盡可能的科普深度學(xué)習(xí)的相關(guān)知識;
- 深度學(xué)習(xí)概論知識:深度學(xué)習(xí)、機(jī)器學(xué)習(xí)、人工智能等區(qū)別和聯(lián)系;
- 深度學(xué)習(xí)預(yù)備知識:數(shù)學(xué)基礎(chǔ)(線性代數(shù)、矩陣、概率統(tǒng)計、優(yōu)化等等)、機(jī)器學(xué)習(xí)基礎(chǔ)、編程基礎(chǔ);
- 深度學(xué)習(xí)核心知識:神經(jīng)網(wǎng)絡(luò)、深度網(wǎng)絡(luò)結(jié)構(gòu)、圖像任務(wù)、語音任務(wù)、自然語言任務(wù);
- 深度學(xué)習(xí)進(jìn)階知識:如何使用深度學(xué)習(xí)框架,完成網(wǎng)絡(luò)的搭建、訓(xùn)練。
關(guān)于深度學(xué)習(xí)的公司,也就是人工智能公司,我們在之前也提到過,這里,我們再重點介紹一些代表性的企業(yè):
- 語音識別技術(shù),國內(nèi)公司訊飛、百度。國外公司 Google、亞馬遜,微軟等,行業(yè)應(yīng)用就是智能音箱等產(chǎn)品;
- 圖像識別技術(shù),比如做安防的??低?,圖森科技,依圖科技,曠視科技,代表性的就是面部識別,iPhone X 的人臉識別;
- 自動駕駛技術(shù),比如特斯拉,Uber,百度等公司開發(fā)的自動駕駛技術(shù);
- 金融領(lǐng)域的預(yù)測股價、醫(yī)療領(lǐng)域的疾病監(jiān)測,教育領(lǐng)域的技術(shù)賦能等;
- 阿里巴巴淘寶網(wǎng)的千人千面等。
接下來我們看一些關(guān)于深度學(xué)習(xí)的概論知識。
我們必須要清楚的就是深度學(xué)習(xí)屬于機(jī)器學(xué)習(xí)的一種方法,除了深度學(xué)習(xí)以外,還包括了線性回歸、邏輯回歸、SVM、隨機(jī)森林、圖模型、貝葉斯等等很多方法。
而深度學(xué)習(xí),并不是對所有的任務(wù)都有效,有些時候,也需要用到一些傳統(tǒng)的機(jī)器學(xué)習(xí)方法。而機(jī)器學(xué)習(xí)則是實現(xiàn)人工智能必不可少一種技術(shù)手段。
深度學(xué)習(xí)和傳統(tǒng)機(jī)器學(xué)習(xí)有哪些區(qū)別和聯(lián)系呢?請看下面這幾點。
- 數(shù)據(jù)依賴性。深度學(xué)習(xí)與傳統(tǒng)的機(jī)器學(xué)習(xí)最主要的區(qū)別在于,隨著數(shù)據(jù)規(guī)模的增加其性能也不斷增長。當(dāng)數(shù)據(jù)很少時,深度學(xué)習(xí)算法很容易過擬合(可以簡單理解成性能不好)。
- 硬件依賴。深度學(xué)習(xí)算法需要進(jìn)行大量的矩陣運(yùn)算,GPU 主要用來高效優(yōu)化矩陣運(yùn)算,所以 GPU 是深度學(xué)習(xí)正常工作的必須硬件。與傳統(tǒng)機(jī)器學(xué)習(xí)算法相比,深度學(xué)習(xí)更依賴安裝 GPU 的高端機(jī)器。當(dāng)然,除了 GPU 以外,還有一些其他的深度學(xué)習(xí)芯片發(fā)展也十分重要。通常的做法是,GPU 訓(xùn)練,而在實際的項目中則使用其他的深度學(xué)習(xí)芯片代替。
- 特征表示。傳統(tǒng)機(jī)器學(xué)習(xí)更多的依賴手動設(shè)計特征,需要引入更多的領(lǐng)域知識,而深度學(xué)習(xí),則能夠直接抽取不同粒度上的特征,因此,能夠具有更高的表示能力。
- 端到端。對于傳統(tǒng)的機(jī)器學(xué)習(xí)方法,更加注重邏輯規(guī)則的設(shè)計,在解決一個問題的時候,會將其拆分成幾個不同的子問題,而深度學(xué)習(xí)則更加強(qiáng)調(diào)從數(shù)據(jù)的角度出發(fā),直接對問題進(jìn)行求解,也就是更加的端到端。
- 訓(xùn)練時間。深度學(xué)習(xí)模型的訓(xùn)練一般需要較長的時間,不過好在測試的時候,則需要較少的時間。
- 可解釋性。深度學(xué)習(xí)算法的可解釋性較差,更像一個黑盒運(yùn)算。
了解完深度學(xué)習(xí)的一個基本情況以后,我們再來看一些學(xué)習(xí)深度學(xué)習(xí),你需要學(xué)習(xí)哪些預(yù)備知識?
- 數(shù)學(xué)(高數(shù)、線性代數(shù)、概率統(tǒng)計、矩陣分析,如果還有機(jī)會,可以了解下優(yōu)化的相關(guān)知識);
- 英語,需要閱讀大量的英語文獻(xiàn),英語閱讀和理解的能力還是應(yīng)該具備的;
- 編程,至少會 Python,如果有精力再學(xué)一下 C/C++;
- 機(jī)器學(xué)習(xí),關(guān)于一些傳統(tǒng)的機(jī)器學(xué)習(xí)算法建議還是要了解一下的。
準(zhǔn)備好了上述的一些基本能力以后,我們再看看關(guān)于深度學(xué)習(xí)的一些核心知識,你需要了解:
- 神經(jīng)網(wǎng)絡(luò);
- CNN、RNN、LSTM 等不同的網(wǎng)絡(luò)結(jié)構(gòu);
- 深度學(xué)習(xí)的框架:Caffe、TensorFlow,以及這些框架如何使用;
- 深度學(xué)習(xí)+圖像處理模型;
- 深度學(xué)習(xí)+語音識別模型;
- 深度學(xué)習(xí)+自然語言處理模型。
注意: 對于上述提到的(深度學(xué)習(xí)+圖像處理模型、深度學(xué)習(xí)+語音識別模型、深度學(xué)習(xí)+自然語言處理模型)三個任務(wù),其實不需要你都精通,只要專注于其中一個領(lǐng)域就可以,這個要結(jié)合自己的興趣來看。
具體可以看一下之前的幾篇文章“深度學(xué)習(xí)在計算機(jī)視覺行業(yè)中的應(yīng)用、深度學(xué)習(xí)在語音技術(shù)領(lǐng)域的應(yīng)用、深度學(xué)習(xí)在自然語言處理行業(yè)中的應(yīng)用”,看看自己更喜歡哪個行業(yè),初期就以這個行業(yè)研究為主,后續(xù)如果有機(jī)會,在考慮更高層面上的通用技術(shù)和框架。
***,理論部分都強(qiáng)調(diào)完了以后,我們在重點強(qiáng)調(diào)一下進(jìn)階的知識,也就是實戰(zhàn)部分。大家在學(xué)習(xí)深度學(xué)習(xí)的時候,一定要認(rèn)識到,深度學(xué)習(xí)更多的還是需要編程!編程!編程!也就是說,不能僅僅停留在理論層面,更多的還是需要動手實戰(zhàn)的能力,利用 Caffe 或者 TensorFlow 針對一些實際的分類任務(wù)進(jìn)行實驗。只有這樣才能更快地積累經(jīng)驗,更早的入行深度學(xué)習(xí)。
***,為大家推薦一些課程和教材:
- 首先是線性代數(shù),推薦麻省理工推出的課程《麻省理工公開課:線性代數(shù)》,你會發(fā)現(xiàn)和我們本科學(xué)得線性代數(shù)好像不太一樣,這個講解的更加容易理解!!不再是停留在做計算題的層次,是真的有用!
- 斯坦福機(jī)器學(xué)習(xí):斯坦福大學(xué)公開課 :機(jī)器學(xué)習(xí)課程,這個就不強(qiáng)調(diào)了,NG 的課程,一般這個行業(yè)的的都會學(xué)習(xí)下!
- 張志華老師的《統(tǒng)計機(jī)器學(xué)習(xí)》,《機(jī)器學(xué)習(xí)導(dǎo)論》,這個課程涉及到更加深入的統(tǒng)計機(jī)器學(xué)習(xí)理論,看完以后你會對概率論有更深入的了解!
- 周志華老師的西瓜書,它對機(jī)器學(xué)習(xí)整體的介紹還是比較基礎(chǔ)的!記得在找工作時候,每次面試前都會看一遍這本書!
- Caffe 和 TensorFlow 的學(xué)習(xí)則更多的是實現(xiàn)一些 Demo 和閱讀文章,后續(xù)我也會推出一些入門的課程,希望大家能夠持續(xù)學(xué)習(xí)下去。