當前位置:
首頁 > 知識 > 不是計算機專業,如何轉行寫代碼、到企業做 AI?聽聽這位機器學習科學家的經驗與建議

不是計算機專業,如何轉行寫代碼、到企業做 AI?聽聽這位機器學習科學家的經驗與建議

本文是科研圈互動欄目「直播跟你聊」第二期「畢業後想(轉行)進入互聯網公司,需要做哪些準備?」直播現場的文字實錄。本期主播為:

·張瑞(知乎機器學習團隊負責人,北京郵電大學通信與信息工程專業碩士)

·王恂(知乎技術團隊 HRBP)

·何子(知乎技術團隊 HRBP)

點擊視頻標題,觀看本次直播的回播錄像。

畢業後想(轉行)進入互聯網公司,需要做哪些準備? (上)

畢業後想(轉行)進入互聯網公司,需要做哪些準備? (下)

| 寫在前面 |

象牙塔早已不是科研畢業生求職時的唯一選擇。

出於對自身發展與就業環境的考慮,越來越多的畢業生已不再把求學階段的研究領域與方向作為進入職場、選擇行業時的唯一參考。互聯網行業迅速崛起,人工智慧新一輪浪潮襲來,非計算機領域的科研畢業生,是否有機會參與其中?

入行互聯網是否可行?面對不同類型互聯網的公司,應該如何選擇?轉行做演算法是否現實?需要做什麼樣的準備,才最有利於自己的發展?

以上幾個問題,過來人與親歷者也許最有發言權。本周五,科研圈邀請知乎機器學習團隊負責人張瑞、知乎HR王恂、何子作客科研圈直播間,圍繞「轉行機器學習」、「互聯網求職」、「機器學習行業現狀與發展」、「在知乎這樣的互聯網創業公司工作」四個子話題與讀者進行直播分享,以下是直播的文字實錄。

關於轉行機器學習,這裡有一些建議

非機器學習專業的學生,如何進入機器學習行業?

張瑞:其實我自己就不是機器學習專業的,我研究生在北京郵電大學,專業是通信與信息工程。我從通信轉行到互聯網再到機器學習,感覺這個跨度還不是很大,尤其是通信的同學都要學習很多數理統計和資訊理論的知識,而這恰恰又是現代計算機科學和統計機器學習的基礎。

如果你的計算機基礎和數學基礎足夠紮實,那麼其實機器學習並不像你想像得那樣神秘或者高不可攀,通過自己不停地學習和實踐,是可以成為一個合格的機器學習工程師的。

比如我自己剛畢業的時候做的是後台開發,做了幾個月之後,有一個機器學習的任務,應該是文本挖掘方面的。在我主動接過來之後,算是入坑了機器學習,感覺這個領域還挺有意思的,後來有意識的去多接觸一些這方面的知識,多去承擔一些這方面的任務,直到成為一個專職的機器學習工程師。

這裡也給大家提一個比較實用的小建議,同學們在上學期間,可以多去參加演算法大賽,像國外的 Kaggle 這樣的平台,很多大企業在上面發布數據集,通過比賽你能很快鍛煉實操能力,國內這樣的演算法比賽也很多,BAT 基本年年都會辦,我們今年也辦了機器學習挑戰賽,總獎金是 8 萬,賽題圍繞語義分析來設計的,有了競賽的成績再去實習甚至是拿 offer,這也可以說是一條捷徑吧,大家有興趣可以到https://biendata.com/competition/zhihu/來看看我們的比賽。

學科跨度大一點的轉行現實嗎?比如物理、生物專業的同學想轉行做機器學習,您對他們有什麼建議?

張瑞:很多企業的機器學習團隊是非常歡迎數學、物理、天文、生物之類的同學加入的,因為這些專業的同學往往數學基礎都非常紮實,對機器學習理論和模型的學習非常快,掌握得也比較深入和透徹。如果能夠再有一定的工程能力,其實這樣的人才也是非常稀缺的。

我的建議是,針對自己的現在的短板和你的目標,進行有針對性的學習。如果你想做純理論性的研究,那就好好補充自己的數學知識,特別是統計學、資訊理論、優化理論、高級數據邏輯等,學習一些基礎的代碼知識,比如最基本的要學會使用 R 或者 matlab 做模擬。如果想進入互聯網工業界,那麼需要在兩方面都加強一下,一是機器學習的理論,這個有比較好的數學基礎其實理解起來是很快的。另外是工程能力,比如基本的數據結構和高級編程語言等,這塊可能對之前沒有接觸過的同學挑戰會比較大一點,但如果入門了接下來的掌握就比很快。

那報個 IT 培訓班是不是比較合適?

張瑞:從我接觸到的一些人來看,大家對只有過培訓班經歷的從業者,一般評價不是特別高。我的猜測可能是培訓班太過於急功近利,導致培訓出來的人基礎比較差,這可能是一種所謂「流沙築高台」的教育,比較類似應試教育。只學習培訓班教給你的知識,你可能在遇到新問題的時候,完全沒有任何思路,偏偏你在工作中遇到的絕大多數都是新問題。我的建議還是沉下心來打好基礎。

其實現在在線教育資源挺多的,比如 Coursera 吳恩達在上面講機器學習,Hinton 在上面講深度神經網路。也可以參考一些書,入門的話我建議先從《機器學習實戰》這樣的書入手,敲一下代碼,有個直觀的了解,然後再閱讀李航老師的《統計學習方法》,推一下裡面的模型和公式,思考一下模型,為什麼要這麼設計、為什麼要這麼優化等等。

如果是工程知識,比如就是寫代碼的話,報個 IT 培訓班入個門應該是 OK 的,當然如果自學能力強的完全可以靠自學。但一定要記住,培訓班教你的知識是遠遠不夠的,甚至名校的計算機專業,如果只是靠學校里學到的知識仍然是不夠的,你終究還是要通過自學來解決問題,比如多閱讀一些優秀的開源項目,多動手,然後找一些工業界實習的機會之類的。

關於互聯網求職,這裡有一些經驗

在選擇互聯網公司的時候怎麼比較 offer?在知乎這樣的創業公司工作,和 BAT 之類的大公司有什麼不一樣?

張瑞:我自己在大公司待過,後來有過兩家創業公司的工作經歷,可以說說我的理解。我覺得在大公司工作和在創業公司工作,是「點」和「面」的區別。大公司有非常完善的做事流程,一件事情會拆分得非常細,也有很多人——比如你的 mentor 或者 leader 來指導你或者監督你,很多時候是按部就班,做非常細節的事,你的工作方法、業務思維會得到體系化的成長,但缺點是你可能會對業務的全局缺少掌控和思考。

創業公司則不一樣,往往是走比較扁平化的風格,少了很多條條框框的約束,也會對每個人的能力——包括業務 sense、溝通能力、主動性,都有非常高的要求,所更鼓勵大家多發揮自己的創造力和能動性。

我可以用知乎來舉例說明一下創業公司對「創造力」的追求。知乎是非常提倡黑客精神和海盜文化的。知乎在創新工場辦公的時候,沒有辦公牌,只有一面海盜旗。海盜精神究竟是什麼?有的人認為是共享,有人認為海盜精神是自由、不受約束。知乎的正式員工都會收到一本《黑客與畫家》作為案頭書,作者 Paul Graham 說過一個好的創業者應該是什麼樣的,我們把這句話翻譯成「總搞得掂」,也就是我們的海盜精神。我們對工程師的要求就是這樣:一個好的工程師不只是能解決別人交付的問題,還能夠判斷什麼是最重要的問題,然後全神貫注投入最大精力,去解決最重要的問題。

選擇什麼樣的公司,首先要看你的個人性格,你是特別喜歡進取呢,還是特別喜歡按部就班地學習和成長?比如如果你覺得自己是一個比較有自驅力,也比較有創造力的人,那還是在創業公司會有比較大的發揮空間;其次要看這個崗位是不是你所喜歡的、你想要的,根據這些你可以列一張表,把你最希望的東西和公司能給你的,去做一個匹配,看哪家公司最能滿足自己的需求。

對於初入職場的人,企業會比較看重哪些方面?怎麼做好從校園到職場的準備?

張瑞:從知乎的經驗來看,企業歸根結底看重的,還是上面的四個字:「總搞得拈」。我把這表述成「在儘可能少的輸入下,實現儘可能多的輸出」。

什麼意思呢?從輸入上講,一是不能靠別人的督促和指導才能保證工作的產出,應該有一定的自我驅動的能力,主動把自己要做的事情給做好。二是上面提到的,要有主動發現和判斷問題的能力,也要有主動承擔責任的勇氣和決心。另一方面是輸出,要有把種種想法落地的能力。這個想法可能是別人交給你做的,也可能是你自發的 idea,總之是你要能把它落地。不能是想法很多,但最後要實際去執行的時候就會各種拖泥帶水或者半途而廢,都是不行的。

王恂、何子:總的來說,企業首先看重你的軟實力,比如是否有好奇心、學習能力、遇到困難是否可以迎難而上、不懼挑戰。而在業務能力上,這需要你對自己的專業有基礎的認識,具有最基本的思維方式和 sense。

關於準備,首先你需要明確目標,想考研、出國、或者拿到某家名企的 offer,都是目標,你都要按照這個目標定計劃去實現。其次在實現這個機會的過程中,你需要有主動性,也就是很強的自我驅動力,三天打魚兩天晒網是很難成事的。另外一個非常有用的小訣竅是善於review,就是做學習總結和工作總結,總結自己走了哪些彎路、怎麼樣可以做的更好。同時在這個過程中多請教過來人的經驗。

知乎在面試工程師的時候,主要通過什麼考察他們的能力?

張瑞:不同的同學考察的側重點有所不一樣。我們做標準化面試,面試的判斷標準有很多條,可以寫很長的幾頁紙,但歸根結底是一條,就是判斷你的主動性、你的成長能力,最終是對你的產出的預期。

比如對計算機的應屆生同學,我們會考察數據結構和演算法,例如寫個二分查找。但這不等於說二分查找寫得好就可以解決問題,而是我們認為,計算機的同學,掌握基本的數據結構和演算法是一項基本的能力,如果連這個能力也沒有,那我覺得你在學生階段的主動性、學習的意願、勤奮程度之類都值得懷疑。當然有同學也說我數據結構掌握的不好,但我實際寫代碼的經驗特別多那怎麼辦?那我們也可以考察你的工程能力,是不是真的符合一個經驗豐富的開發者的標準。

具體到機器學習工程師,一般來說,我們會需要工程能力、對機器學習的理解都比較強的人。其實很多同學對這個職位有誤解,比如有的人認為做機器學習的,不需要有多麼強的開發能力。我覺得這不對。我舉幾個例子,比如 caffe 的作者賈揚清、xgboost 的作者陳天奇,都是機器學習的大牛,但人家開源出來的代碼寫的也非常漂亮、非常優雅。另外一種誤解則是,既然機器學習的現成工具都這麼多了,我就當做一個黑盒去搭積木似的組合就好了,這種觀點也是不對的。這種人面臨的主要問題是,如果這個黑盒運行的一切符合預期還好,如果有不符合預期,你必須要知道怎麼去改進和優化,比如知道是目標函數選擇的不對,還是特徵選擇的不好,還是模型選擇的有問題等等。這些都需要比較紮實的理論基礎。

有同學問到企業和實驗室的文化差別,兩者是不一樣的,後者學術氛圍濃厚,鼓勵你去探索和學習,前者則強調個體的主體意識,你需要為自己的項目、為自己的行為負責。

關於機器學習行業,這些情況也許你想了解

現在機器學習在工業界有哪些應用方向?發展的趨勢怎麼樣?

張瑞:機器學習在工業界很早之前就已經有很多的應用場景了,比如搜索引擎中需要的很多自然語言處理,大部分是通過機器學習技術來完成的;再比如推薦或者互聯網廣告早已引入了很多機器學習的技術。

這波人工智慧的浪潮帶來了新的東西,實際是由深度神經網路的發展引發的。這裡有幾個背景:

一是數據,這些年互聯網、移動互聯網,以及以感測器構成的的物聯網發展很快,工業界和學術界能獲取到的數據越來越多。只以互聯網舉例,2005年-2017年,中文互聯網的網頁數量增長了幾十倍;二是計算能力的進步,根據摩爾定律,每過18個月,計算機的計算能力就會漲一倍,而價格會降50%。這意味著我們可以獲取相比之前廉價得多,也強大得多的計算能力;三就是機器學習本身的發展。其實所謂機器學習,本身仍然是神經網路模型,但是引入了一些新的訓練方法和思想,這個是一個非常成功的 rebranding(再包裝);而在一些任務上,機器學習也確實展現了遠超傳統技術的能力。

綜合起來我們可以看到,機器學習在最近幾年取得了非常大的進展,不再僅僅局限於幾個應用場景了。比如無人駕駛:無人駕駛得益於各種感測數據、圖像數據的豐富,也得益於嵌入式晶元計算能力的提升。再比如 AlphaGo:它的成功既得益於深度學習模型的強大表示能力,也得益於計算資源的豐富,在這之前談「圍棋可以通過搜索策略來獲取最優解」,基本上都是不可想像的。

新的機器學習技術在很多傳統任務上也展示出了非常好的效果。例如用深度學習做推薦和廣告投放,在數據量足夠的情況下,效果優於傳統的機器學習技術。幾年前很多公司就開始做色情圖片識別,但往往天線寶寶的圖片也會被判定為色情,需要大量的人力來糾正,而使用卷積神經網路(CNN)等來做色情圖片識別,準確率有很大的提高,現在一般都能做到 95% 以上了,大大減少了審核人力的成本。還有翻譯:現在基於機器學習的翻譯已經做的非常不錯了。年前我出國旅行去俄羅斯,實際上一些翻譯軟體已經能夠幫我完成日常的對話了,比如點個菜問個路軟體翻譯出來的結果還都比較靠譜,所以起碼機器可以替代語言的導遊。

其實個人要想判斷一個行業的趨勢和前景比較難,大家可以多關注行業專家的一些觀點,多去向學長學姐、老師們請教。

現在機器學習在研發領域有什麼瓶頸嗎?

張瑞:從目前的技術進展上來看,我們的發展水平離所謂的「強人工智慧」還是有挺大差距的。無論是傳統的機器學習還是深度學習,現在在某個特定的任務上,都需要人去監督、指導和設計,才能獲得比較強的能力,在通用場景下,並沒有非常強,或者說非常確定的自我進化的能力。

現在機器學習的瓶頸在於理論基礎,很大程度上仍然在「吃老本」。深度學習近些年的發展,大家有目共睹,但並沒有非常牢固、清晰的數學基礎。所以現在有種調侃的說法,很多從業者把模型調優、改進戲稱為「煉丹」,就是需要不停地嘗試,沒有一個非常明確的、有理論指導的改進方向。但話說回來,從應用層面上可以暫時拋開理論,先享受這個工具帶來的便利——就像人類發明了火藥,但很長時間內並不知道火藥的威力是來自於化學鍵的重新組合釋放的能量。

如果你想在知乎工作,這裡有一些小背景

在知乎做機器學習是什麼樣的體驗?

張瑞:知乎的機器學習團隊是支撐整個知乎的業務發展的。知乎作為一個知識社交平台,希望通過機器學習技術,讓更多人在知乎更方便、更高效地獲取和分享知識,同時幫助我們的運營同事維護一個良好的社區氛圍。比如我們的首頁推薦演算法,可以更高效地給大家推薦感興趣的東西,而不完全是按照時間線來展現。再比如用戶畫像、比如自然語言的理解,比如我們的內容分發的產品——推薦、搜索和信息流等,都需要機器學習技術的支撐。

知乎整體的工作環境和福利待遇怎麼樣?

何子:知乎的福利待遇是一日三餐、六險一金、年底雙薪、下午茶、水果飲料零食無限量供應、標配 Mac 及電腦補助、人體工學座椅、游泳健身及攀岩卡、豐富的興趣小組,比如我們書法班的班長曉曦曾請來了中央美院的老師教大家學書法。

工作上,我們有完善的人才培養和激勵機制,比如我們會每年一次的頻率來 Run 一次 Hackthon ,也就是黑客馬拉松這樣的創意活動,鼓勵大家開腦洞、進行創新嘗試。15年知乎 Hackthon 的內部優勝是「版權保護平台」。

我們有「Tink Day」,大家一起花時間去優化代碼,以及實現一些 amazing idea。當天的 Tink Day 結束後我們會有一個 Show time,給當天的 Tinker team 去展示他們的作品,並且評出優勝 Tink 團隊。除了可以完成一次跨組合作,更多的是工程師整體完成一個項目的競技。

同時我們有帆船培訓,可以去去亞洲帆船中心獲得船員執照。知乎鼓勵工程師同學去參加各種技術論壇、國內、國外知名的技術分享會,比如會給工程師買去參加谷歌的 I/O 的門票。

怎麼加入知乎?除了機器學習工程師,還有哪些正在招聘的崗位?

王恂、何子:點擊科研圈網站招聘頻道搜索「知乎」,或者進入知乎的招聘官網,都能找到知乎正在招聘的崗位。

技術方面,知乎的後台、前台、iOS、安卓都在招研發工程師。大部分研發崗位都在北京,少部分開發崗位設立在成都。運營方面,我們招聘多個領域的運營,比如生物、計算機、商業、人文,特別歡迎在這些領域有專業積累的同學來應聘,比如我們自己就有法學本科畢業的來做法學運營,心理學畢業的來做心理學運營。

知乎也有豐富的實習生崗位開放:校園平台實習生、內容運營實習生、客戶運營實習生、新媒體實習生、數據平台開發實習生、後端開發實習生、數據挖掘實習生。後幾個技術實習崗位都要求大家至少熟悉至少一門語言,在讀同學都可以嘗試去面一下。

實習生在知乎實行 Mentor 制,入職就有Mentor 指導。實習 3-6 個月有轉正的機會,正式工作中每半年有 Performance Reviw有可能得到晉陞的機會。怎麼去實習?zhihu.com/jobs 點擊 「實習生招聘」就可以了解了。

點擊展開全文

喜歡這篇文章嗎?立刻分享出去讓更多人知道吧!

本站內容充實豐富,博大精深,小編精選每日熱門資訊,隨時更新,點擊「搶先收到最新資訊」瀏覽吧!


請您繼續閱讀更多來自 機器學習 的精彩文章:

自動機器學習,神經網路自主編程
Hey Oculus!機器學習團隊主管解密Facebook語音識別戰略
吳恩達新成果:機器學習模型能比醫生更精確診斷心律失常
一節1000+人報名的機器學習課,究竟長什麼樣?
劉鐵岩團隊ICML論文提出機器學習的新範式:對偶監督學習

TAG:機器學習 |

您可能感興趣

機器學習應用行業浮躁、產品差?身為工程師的你是否想轉行
想轉行做AI工程師的同學趕緊看!
手機廠商轉行做手機殼?AGM出品做起了iPhone專屬護理
大學的專業或從事的職業不喜歡,轉行要趁早嗎?
想辭職轉行做程序員,需要學習哪些內容?
轉行做UI設計如何選工作?
5個看似香餑餑其實極易「乞討」的專業,若有機會還是儘早轉行吧
關於個人的轉行經歷及對轉行IT業的一些看法
非科班?剛轉行?這些都不能阻止你成為優秀的設計師
想轉行做程序員,學哪種編程語言比較好?
建築師轉行做甜品,效果很社會嘛
手機行業不景氣要轉行?魅族真店商標首次曝光
想轉行人工智慧?機會來了!
我是如何從物理學轉行到數據科學領域
0基礎想轉行學UI 怎樣掌握UI交互設計
做鉗工轉行編程的一些經歷,給迷茫的新人一些建議
怎樣做好轉行職業規劃和職位選擇?
學服裝設計,基礎概念都搞不清楚,請轉行吧!
產品經理,如何轉行到人工智慧/機器人領域?
程序員不想在IT行業發展,對未來很迷茫,接下來該轉行嗎?