如何成長為一名機器學習工程師

2021-08-07 06:14:35 字數 3007 閱讀 8313

如何成長為一名機器學習工程師?

經常有人這麼問,而這篇文章就嘗試回答這個問題,其中會談到關於機器學習的方方面面,從簡單的線性回歸到最新的神經網路。你不僅將學習如何使用這些技術,還將學習如何從頭開始構建它們。

這個指南主要面向計算機視覺(cv),這也是掌握一般知識的最快方式,從cv中獲取的經驗可以簡單地應用到機器學習的其他領域。

我們將使用tensorflow作為框架。這些課程需要你會python,雖然不要求你是大師,但至少要懂基本的知識。(另外,都是英語授課)

1. 課程

1.1 約翰霍普金斯大學的實用機器學習

課程總共4周,使用者評分:4.4(5分制,下同)

1.2 史丹福大學的機器學習

課程總共11周,使用者評分:4.9。授課教師是大名鼎鼎的吳恩達。

上面兩節課,會教給你資料科學和機器學習的基本知識,並為下面的學習做好準備。

1.3 cs231n:面向視覺識別的卷積神經網路

總共16個課時,目前已更新為2017春季的最新版本。李飛飛是這節課程的導師。

現在才算步入正軌。這是網上最好的機器學習與計算機視覺課程。

1.4 google講深度學習

整個課程大約耗時三個月,導師為google首席科學家vincent vanhoucke,以及google brain的技術負責人arpan chakraborty。

在這個課程中,將會教授深度學習的原理、設計可以從複雜的大型資料集學習的智慧型系統、訓練和優化基本的神經網路、cnn、lstm等。

選修課。你可以只看其中練習的部分。

1.5 cs224d:面向自然語言處理的深度學習

總共17個課時。

選修課。推薦給那些需要用到nlp的同學。課程內容也很棒。

1.6 深度學習電子書

leonardo araujo dos santos整理的深度學習電子書。

選看。這是一本涉及諸多機器學習領域的好書。

2. 練習

這部分給了一堆教程和專案的清單,你應該逐一嘗試並了解它們的工作原理,以及考慮如何進行改進提公升。這個列表的存在,只是為了增加你對機器學習的興趣,所以遇到一些困難也別氣餒,當你準備好就可以隨時上手練習。

2.1 tensorflow上的簡單練習

kadenze學院出品,總共5個課時。

2.2 tensorflow菜譜

這部分內容來自nick mcclure的電子書《tensorflow machine learning cookbook》。

2.3 tensorflow-101教程部分

這是乙個用python和jupyter notebook編寫的教程。試圖為tensorflow初學者提供盡可能的詳細解釋,希望對大家有用~

2.4 快速風格遷移網路

這個教程展示了如何使用神經網路,將名畫的風格遷移到任何一張**上。

2.5 影象分割

這是乙個使用tensorflow實現的完全卷積網路。作者marvin teichmann還提供了如何把這部分**整合到你的語義分割管道中的示例。

2.6 使用ssd實現物體識別

物體識別最快(也是最簡單)的模型之一

2.7 面向物體識別和語義分割的快速掩膜rcnn

2.8 強化學習

非常有用,特別是當你想搭建乙個機械人或者下乙個dota ai時。

2.9 google大腦團隊的magenta專案

這個專案旨在通過神經網路創造出色的藝術和**作品。

2.10 深度雙邊學習實時影象增強

乙個很棒的影象增強演算法,來自google。

2.11 自動駕駛汽車專案

想造一輛自動駕駛汽車麼?這是乙個很好的入門。

如果中途卡住了怎麼辦?

首先,你得明白機器學習不是100%精確的東西,大多數情況下只是乙個很好的猜測,並且需要大量的調整迭代。大多數情況下,想出乙個獨特的點子是非常困難的,因為你的時間和資源將耗費在訓練模型上。

所以,不要自己想解決方案。去搜尋**、專案,以及求助他人,積攢的經驗越多,你會幹的越好。給幾個可能有用的**:

為什麼**不能完全解決這個問題,為什麼**有些地方是錯的?

很遺憾,並不是所有的科技人員都想把他們的成果公之於眾,但他們都需要發表**來獲得「名「或者」利」。所以一些人可能只發布部分素材,或者給出錯誤的公式。所以找到**永遠比找到**更有用。

**可找到最新的資料?

參考上面推薦過的幾個**,尤其是gitxiv.com,不僅僅能找到**,而且還能找到**,所以特別實用。

我應該用雲計算還是台式電腦/膝上型電腦?

雲更適用於有大量計算需求的情況。對於學習和測試來說,使用台式電腦/膝上型電腦要便宜得多,當然前提是配有支援cuda的顯示卡。比方,我自己就用乙個筆記本訓練模型,顯示卡是帶有690cuda核心的gtx geforce 960m。

當然,如果有免費的雲資源可用,當然要用。

如何更好地調整超引數?

訓練的主要問題是時間。你不可能一直坐在那看著訓練資料。因此,我建議你使用grid search。基本上,只需要建立一組超引數和模型架構,然後乙個接乙個的執行,並儲存結果。這樣就能晚上訓練,白天比較結果,找到最有希望的那個。

詳情可以參考這個**:

— 完—

如何成為一名大資料工程師?

導 讀 大資料是眼下非常時髦的技術名詞,與此同時自然也催生出了一些與大資料處理相關的職業,通過對資料的挖掘分析來影響企業的商業決策。這群人在國外被叫做資料科學家 data scientist 這個頭銜最早由d.j.pati和jeff hammerbacher於2008年提出,他們後來分別成為了領英 ...

如何成為一名 Google 軟體工程師?

簡歷篩選 訪談 現場面試 offer發放 面試包括哪些內容?如何對申請人的工程技能進行評估?我們會根據以下四個方面來進行評估 如何準備面試?認識google員工?和他聊聊他在google的經歷。讓他成為你的推薦人,或者讓招聘者知道誰可以成為你的推薦人。在實際面試過程中 我是在校生,離畢業還有兩三年的...

如何做好一名售前工程師 理論

在it行業裡有一種職位叫售前工程師,售前工程師是銷售和研發之間的橋梁,既要懂技術,又要懂得銷售技巧,能夠幫助銷售同事向客戶推銷自己公司的產品。那麼如何做好it行業售前工程師呢?可以從以下幾個方面總結 一 專業的技術能力 作為一名售前工程師,具備專業的技術能力是最基本的要求,因為售前工程師是靠技術吃飯...