關於轉行演算法工程師,如何對自己有一個清晰的定位?

top2本碩,計算數學專業,目前在傳統行業的一家國企做演算法研究和軟體開發的工作,主要涉及的是偏微分方程數值解、矩陣計算等方面的演算法。

我現在想轉型做機器學習或者深度學習方向的演算法工程師,轉行的原因是因為目前所在行業非常窄,發展形勢不是很好。

近期在拉勾網上投遞了20多份簡歷,有回復的有6個,收到了4份面試邀請,這個情況讓我感覺比較迷茫。我覺得對自己的定位可能不準確,所以想請大牛幫忙提供一些參考意見。

以下是我對自己的一些分析:
我的目標方向是機器學習或者深度學習的工作崗位,因為自己之前做的比較數學化,所以覺得圖像方面的演算法崗位更適合自己。
我覺得這類崗位可以分成三大類

1. 演算法研究
我的優勢是數學基礎比較紮實,能夠很快地理解科研論文中的原理和概念,並且能夠很快速地實現原型程序。因為這就是目前工作的內容,所以我對自己在這方面還有一些信心。
我的劣勢是我沒有機器學習演算法的研究背景,需要在工作中進行學習,不能立刻上手進行工作;自己沒有博士學位,在研究崗位上,沒有特別大的競爭力。

2. 演算法工程
我的優勢是對並行計算比較熟悉,有過MPI/OpenMP、Pthread、CUDA C的編程經驗。正因為有過的高性能計算的工作經驗,所以我覺得這可能是一個比較好的切入點。
但是我的劣勢是本身並不是計算機專業,所以對體系結構的知識不成體系,在高性能計算方面的研究並不深入。

3. 應用層
我覺得這個門檻比前兩個稍低,競爭應該非常激烈,但我沒有相關經驗,之前的工作經驗也不是很容易就能遷移過來,所以沒有什麼優勢。

針對上面分析的劣勢,我也做了不少努力,比如:學習使用一些機器學習框架;學習研究一些開源框架,比如caffe、cudaconvnet的代碼;補充自己的計算機知識,比如操作系統、體系結構等等。但是由於不在這個領域,有時候覺得可能有些閉門造車。

另外,我覺得自己在編碼、工程化方面的經驗還不是很夠吧。雖然在國企工作,比較清閑,但是我覺得自己對技術還是非常有熱情的。

分析了那麼多,可能還是對自己的信心不足吧。想向大神請教一下,自己的定位在哪裡?如果以目前的水平確實離勝任相關的職位還差得遠的話,我想還是繼續在本行業工作了。


首先直接回答問題:不遠,可以一試。

工程經驗只是經驗,可以靠大量的訓練來彌補,但數學能力和空間構造能力不是每一個人都有,這是需要有些天分的。

非常高興看到你對機器學習深度學習這個方向沒有一概而論,而是按照自己的認識將它清晰的分開來,說明你對自己有清晰的定位。至於到底選擇什麼?我想說的是

請想清楚自己喜歡什麼?

1. 如果你要從事研究性質的工作,國內可能沒有太多適合你的地方,包括中科院。為什麼?我接觸的一些中科院自動化所、計算所的人再往外走,畢竟經濟的吸引力比較大。

反倒是一些企業如果能去的話倒是很好。包括bat實驗室,huawei2012實驗室 。所以推薦國內企業的國外實驗室,我所說的除了t我不太了解,其他都在美國有實驗室。文化比較好,沒有天花板。

2.工程是個很大的概念,即使演算法的工程也一樣,看了你對工程的描述,基本定位於高性能計算,異構計算這個範疇,請考慮硬體結合,比如我首推nvidia、intel、amd ,其次推各大公司無人駕駛實驗室,無人機企業。這些都需要對演算法進行大量修改,很重視演算法性能和並行計算。我舉個例子:face++也需要演算法優化的人, 對並行化要求也很高,但為啥不首先推薦,因為他們的解決問題可以靠硬體的發展來解決,他們相對來說沒有這麼依賴演算法性能。你要找一個非常需要你的地方,這樣才有正反饋。

3.應用:我想說你對這個問題認識有錯,應用恰恰最難的地方。如何將應用和演算法結合,在現有條件下發揮最大能力才是最難的地方。這需要你具備很多領域外的知識。當然如果你說的應用只是調用一個包,跑一些訓練數據,當我沒說。在答主所從事的領域,發現任何一個應用的開發完後都可以寫一篇論文,因為沒有前人做過這樣的嘗試,每次我們都有突破,但這種突破可能很小的點,甚至有時候不能歸到演算法一類。

涉及到應用的選擇很複雜,你需要考慮幾大行業,然後找到合適的公司。比如:醫療、農業、教育等行業我認為都可以去。

以上並沒有給出三選一,而是給出每個選題下的最好方向,至於如何選擇,在你。你的經歷代表了一類人,希望你和這一類人看了答案之後有自己的思考,能作出不後悔的選擇。

----------------------------------------------------------------------------------------------

另外提到自己數學比較好,更適合圖像,我對此有不同看法,我在文本和圖像兩個領域都有些實踐。圖像的演算法思路是有跡可尋的,而且圖像的發展已經過了初級階段了,而文本處理、思維處理、概念的處理還處於初級階段(智能對話領域一直是我的方向),有大量的機會,同時對一個應用問題轉化成數學問題的要求更高。

希望對你有幫助。


深度學習,機器學習工具門檻已經非常低,以題主這背景要轉型做機器學習演算法非常容易。我覺得你完全可以試試的BAT。要不你發個簡歷給我


前輩您好,我的情況與您的很類似,也有一些數學基礎與並行軟體開發的經歷,目前研三,也期望能進入深度學習領域。所以想問問您現在是什麼狀況,我該做些什麼?求指教!我的郵箱是swpu_wangfan@qq.com,如果有什麼指教也可以郵件交流,期望以後能與君多交流!


我這裡可能有合適的機會哇 想聯繫樓主沒有找到地方~


精通pde數值解,矩陣計算這兩條已經是大後期的胚子了,進業界很多地方都需要你carry全場


推薦閱讀:

TAG:機器學習 | 演算法工程師 |