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


怎樣找到一份深度學習的工作 | 附學習材料,資源與建議


0?wx_fmt=jpeg

如果你是一個軟件工程師(或者你現在正在學習這一方麵),你肯定有機會聽說過深度學習(有時候深度學習縮寫為"DL")。它現在是一個熱門、且快速發展的研究領域,解決工業界的一係列問題,從圖像識別、手寫識別到機器翻譯,更甚於AlphaGo4比1擊敗了世界圍棋冠軍。 


大部分人認為找與深度學習相關的工作應該具有博士學位或者大量的相關經驗,但是如果你已經是一名很好的工程師,那你就可以很快、很好的學習這些必要的技能和技巧。至少,這是我們的觀點。(即使你是深度學習的初學者,非常歡迎您加入我們的職位申請) 


重點:你對這一行業有著激情與興趣,且具有很好的編程和解決問題的能力就足夠了。


在Deepgram中,我們主要應用深度學習來解決語音搜索的問題。主要是我們教會機器去聽、記錄電話、在線視頻、播客和其他音頻等的談話內容。但聽僅僅是其任務的一半。正如我們的大腦是通過你回想起的那些關鍵詞和短語的聲音來尋找記憶中的談話一樣,我們也教會機器回想起那些記錄中的關鍵詞和短語。(如果你還沒有玩弄Deepgram,我們有一個小演示來展示它的一些功能。)


乍看起來,感覺深度學習有點嚇人,但好消息是,現在有比以往任何時候都要多的學習資源。(還有大量被禁錮需求的工程師知道如何實現深度學習的軟件)。所以,如果你想要找到一份深度學習工作,首先你需要調整你自己的學習速度,那就讓這篇成為你深度學習的指導吧!(如果你已經非常了解深度學習,且隻是尋找工作信息,那就跳到底部。)


◆ ◆ 

什麼是深度學習? 


總的來說,深度學習包括建立和訓練一個大型的人工神經網絡,該神經網絡在輸入和輸出之間具有許多隱藏層。正是因為這些隱藏層,我們才稱唿這些神經網絡為"深度"。至少具有三層隱藏層才能叫深度神經網絡,但現有的一些神經網絡已具有上百層。 



0?wx_fmt=png 


神經網絡是一個複雜的統計模型,它通過計算機來對信息進行一個非常準確的抽象表示。你可能會問,什麼樣的信息?就像我們以前提及的,Deepgram的深度神經網絡是專門訓練來“理解”並在語音數據上進行操作,但深度神經網絡已經應用於大量的其他方麵,從醫學掃描檢測癌症到預測能源價格和氣象建模。


在深度學習方向有很多著名的成員。在學術方麵,多倫多大學的傑弗裏-辛頓的實驗室、紐約大學的雅安·勒存小組和斯坦福大學人工智能實驗室是深度學習研究領域的引領者。在工業界,穀歌已經率先應用深度學習於搜索和計算機視覺,百度首席科學家AndrewNg,其作為Coursera的主要創始人,在上麵貢獻了大量深度學習有關的科學文獻和教程。


今天學習深度學習為什麼如此容易,即便是新手?主要有兩個原因:首先,計算硬件設施的快速發展和便宜足以讓深度學習技術能在幾乎任何一個像樣的顯卡上運行。(通過我們的測試,發現對於一個正在使用的算法,基於GPU服務器的速度是CPU核的400倍) 其次,大量的深度學習資源開放平台,如TensorFlow、Theano和 Caffe,使實現自己的深度神經網絡相當容易,尤其是自己不必從頭開始構建一個神經網絡。


當然,還有很多深度學習相關的知識需要去學習,但這就是本篇指南的目的!


◆ ◆ 

深度學習前的必備知識


說到數學,你肯定對微積分、概率論和線性代數很熟悉。這些知識將幫助你去理解深度學習的理論和規則。 



0?wx_fmt=png 



當然了,這也需要一些編程知識。正如你所看到的這個深度學習庫列表,大部分流行的深度學習庫是用Python和R語言編寫的,所以,了解Python和R語言會對你很有幫助。


如果你需要提高你的數學和編程技巧,網上有大量的高質量資源可以學習和使用。


同時,正如我們上麵提到的,需要有一個像樣的顯卡(或通過雲計算平台,如Amazon Web服務或這裏列出的其他提供商之一來訪問GPU實例)。


◆ ◆ 

去哪學習深度學習


關於深度學習的探討和文章


如果你是在全新的領域,且在尋找一些深度學習知識概念後的高層次解釋,而不是迷失在數學和編程方麵的話,這有一些資料來幫助你對這些專業概念和術語的了解。


  • 威斯康星大學有一個one-webpage神經網絡的綜述。

  • Brandon Rohrer,微軟的主要數據科學家,在波士頓開放數據科學會議上做過一個演講,其主要是通過少量數學和計算機術語來解釋和闡明深度學習。這個頁麵有相關的視頻和資料。

  • 深度學習的開拓者Geoffrey Hinton,他是第一個演示使用backpropogation算法訓練神經網絡。他現在不怎麼參加多倫多大學的學術,而是領導穀歌的一些人工智能研究工作,我們都很喜歡他的“神經網絡實際怎樣工作”這麼一個簡短但卻富有啟發性的談話。你還可以在他的教師主頁找到他的"沒有太多數學"的深度學習論文列表。

  • Steve Jurvetson,DFJ的創始合夥人,矽穀的風險投資公司成員,在深度學習領域領導了一個斯坦福大學商學院的討論小組。如果你有興趣從工業界一些創業者和工程師的角度來學習深度學習,看看視頻吧。


如果你想深入,熟悉一些數學,有著簡單的代碼示例,還可以討論深度學習的應用,可查閱斯坦福畢業生Andrej Karpathy的博文“The Unreasonable Effectiveness of Recurrent Neural Networks”。


在線課程


如果你是那種喜歡和從在線課程獲取大量知識的人,你很幸運。這有幾個很好的深度學習網上課程。


  • Andrew Ng的斯坦福大學機器學習課程很受歡迎,通常廣受好評。它被認為是最好的機器學習入門課程,將給你一些深入研究深度學習的準備。

  • Udacity有一個免費的,十周的機器學習課程,著重於理論與實際的應用。對深度學習感興趣的人這會是一個全麵的預備課程。加州理工學院的Yaser S. Abu-Mostafa自學課程,“Learning From Data”課程在數學上密度涉及較少,但它仍然是一個非常全麵的學習機器學習理論和技術的課程。

  • Andrej Karpathy的"CS231n: Convolutional Neural Networks for Visual Recognition",斯坦福大學的課程是具有一定的挑戰性,但它是在深度學習上很好的教程,其教學大綱和詳細的課程筆記在網上都可以下載。

  • Geoffrey Hinton的課程"Neural Networks for Machine Learning" 也很好,這是一個做為該領域的教父級別課程。


書籍


也許在線學習不是你的菜,或你隻是喜歡看講座和複習幻燈片。我們推薦一些值得閱讀的書籍:


  • Andrew Trask的Grokking Deep Learning旨在提供一個可理解、實用指南的深度學習技術。如果你以前了解一些Python和代數知識,那你100%的需要這本書。

  • Ian Goodfellow、 Yoshua Bengio 和 Aaron Courville的Deep Learning,將在麻省理工學院出版社(MIT Press)出版。到目前為止,這是一個早期在線的免費版本、外加一些幻燈片講座和練習。


其他學習資源和網站


  • Metacademy是一個非常酷的站點,它是一個非常切實可靠的 深度學習概述,且有許多該領域特定主題的大量鏈接。

  • 穀歌Brain team中的Denny Britz,在他的網站WildML上有很全麵的深度學習專業術語介紹。他還建了a weekly newsletter,其中還包含了對機器學習和深入學習的技術性與非技術性文章。


◆ ◆ 

深度學習在哪實踐


一旦你具備了相關的基礎知識,你將準備好進行一些實際數據和練習。這有些網站,你能夠找到一些簡單的數據集和實現時遇到的一些問題:


  • Kaggle有大量的數據集,其從SF/Bay Area Pokemon Go spawn points到Y Combinator companies再到Hillary Clinton's leaked emails的巨大文本語料。

  • UC Irvine收藏了一個大的數據集來訓練深層神經網絡。

  • 對於喜歡Python筆記的人,Alexander Johansen整理了一個很不錯的關於如何使用TensorFlow的5個部分教程(與其他的深度神經網絡DNN庫教程相鏈接)。


◆ ◆ 

在哪尋找也對深度學習感興趣的人


不管你是一個業餘者還是在深度學習研究最前沿的博士生,在社區之間進行交流總是好的。這裏提供了一些地方來尋找都對深度學習感興趣的同道中人:


  • 你應該看看你所在的城市是否有一個機器學習或深度學習的小組,比如說Meetup.com。大部分的主要城市是有的。

  • 有關於數據深度學習和衍生見解的幾個在線社區:

    • Deeplearning.net是一個學習深度學習相關信息的網站。它的資源包括:綜合閱讀書單,深度學習研究實驗室列表和一組優秀的演示,這樣你就能發現深度學習的實際應用。

    • Datatau有點像黑客新聞,但特別關注數據和機器學習。它的評論部分不是很活躍但有定期發布的新鏈接。

    • 這有一個非常活躍的機器學習板塊,(他們有非常有用的wiki和其他更多資源)。但深度學習板塊就稍微要沉悶一點。

    • 令人驚訝的是,Google+發展了一個超過30000注冊用戶的深度學習小組。(誰知道人們現在還用Google+嗎?)


◆ ◆ 

關於深度學習在哪找工作


好消息是,基本上每個人都想招聘懂深度學習的人。

你可能知道去一些大眾的地方尋找相關工作:股權眾籌平台AngelList,黑客新聞的每月“誰招聘”欄目,StackOverflow的招聘工作板塊和許多求職網站。


一些關於深度學習崗位的工作可在Deeplearning.net的招聘板塊上發現,在Kaggle上也有更多的關於機器學習工作的招聘板塊。


這絕對是一個重磅消息。大多數公司在尋找深度學習和機器學習的人才時,並不會設置申請人要通過人力資源部門的環節。


當你申請職位了你該怎麼做


在你申請這份工作前公司想看你是否做過一些很好、很酷的東西。


如果你沒做過那你就沒有麵試的機會,如果你曾經做過,那無論你的背景怎樣都會有一個機會的。當然了,什麼是很好、很酷的東西,我們稍後解釋。


如果你唯一的經驗是構建一點點成功的小型項目,你很可能沒有麵試機會(盡管它可能會為大公司工作或者一些公司需要這一部分運行機器學習)。但是如果這樣:


"我通過使用Theano 建立了一個twitter深度神經網絡分析並且對於預測話題有很高的準確率:


  • 這是我實驗得到的準確率

  • 這是我的實驗報告鏈接

  • 這是我github上的代碼鏈接"


這樣的東西將會使你獲得麵試的機會。在你麵試的時候你就應該發揮出你編代碼的魔力與解決問題的能力。

原文發布時間為:2016-10-13

本文來自雲棲社區合作夥伴“大數據文摘”,了解相關信息可以關注“BigDataDigest”微信公眾號

最後更新:2017-06-02 19:33:34

  上一篇:go  足球數據 | 被對手進球後的十分鍾內最有可能扳回比分
  下一篇:go  python xpath