作為即將告別大學的機器學習畢業狗的你,會不會有種迷茫的感覺?你知道 HR 最看重的是什么嗎?在求職季到來之前,畢業狗要怎么做,才能受到 HR 的青睞、拿到心儀的 Offer 呢?負責幫助應屆生找到機器學習工作的 Edouard Harris 給我們分享了他見到的例子和觀點,希望對面臨就業壓力不斷增大的畢業狗們有點用!
更多干貨內容請關注微信公眾號“AI前線”(ID:ai-front)
我是一名物理學家,在 YC 初創公司工作。我們的工作是幫助應屆畢業生找到他們的第一份機器學習工作。
前段時間,我曾寫了一篇文章《The cold start problem: how to break into machine learning》(《冷啟動問題:如何順利進入機器學習》),闡述了為得到第一份機器學習的工作,你應該做哪些事情。我在那篇文章中說過,你應該做的一件事就是,建立個人機器學習項目的投資組合。但我漏了這一部分:如何才能做到。因此,在這篇文章中,我將闡述應該如何去做這件事。[1]
得益于我們的初創公司所做的事情,我才能看到如此多的個人項目的例子。這些個人項目有非常優秀的,也有非常槽糕的。讓我給你例舉兩個非常優秀的例子。
押上所有賭注
下面是一則真實的故事,不過,為了保護個人隱私,我使用了化名。
當雜貨店需要訂購新庫存時,X 公司就會使用人工智能來提醒雜貨店。我們有一名學生,叫 Ron,他非常渴望能夠在 X 公司工作,已經急不可耐了。為了確保能夠得到 X 公司的面試機會,于是,他建立了一個個人項目。
通常情況下,我們不會建議像 Ron 那樣把所有的賭注都押在一家公司。如果你剛開始這樣做的話,是很有風險的。但是,就像我剛才說的,Ron 真的特別想到 X 公司工作,特別特別想。
那么,Ron 做了什么呢?
紅框處表示該處缺少商品。
Ron 用膠帶將他的智能手機綁在購物車上。然后,他推著購物車在雜貨店的過道來來回回地走,同時使用手機的攝像頭記錄下過道的情況。他在不同的雜貨店這樣做了 10~12 次。
回到家后,Ron 就開始構建機器學習模型。他的模型識別出了雜貨店貨架上的空白處,那是貨架上缺少玉米片(或其他商品)的地方。
特別棒的是,Ron 在 GitHub 上實時構建了他的模型,完全公開。每天,他都會改進他的 repo(提高準確性,并記錄 repo 自述文件的變更)。
當 X 公司發現 Ron 正在做這件事時,非常感興趣。不止是好奇,事實上,X 公司還有點緊張。他們為什么會感到緊張呢?因為 Ron 無意中在幾天內復制了他們的專有技術棧的一部分。[2]
X 公司的能力很強,他們的技術在行業中無出其右。盡管如此,4 天之內,Ron 的項目還是成功吸引了 X 公司 CEO 的注意力。
飛行員項目
這是另一則真實的故事。
Alex 主修歷史專業,輔修俄語(這是真實的情況)。不同尋常的是,作為歷史專業的大學生,他居然對機器學習產生了興趣。更不尋常的是,他決定學習 Python,要知道,他從來沒用 Python 寫過一行代碼。
Alex 選擇了通過構建項目進行學習的方式。他決定構建一個分類器,用于檢測戰斗機飛行員在飛機上是否失去知覺。Alex 想通過觀看飛行員的視頻來發現是否失去意識。他知道,人們通過觀察,很容易判斷飛行員是否失去知覺。所以,Alex 覺得機器也應該有可能做到這一點。
以下是 Alex 在幾個月的時間里所做的事情:
Alex構建的地球引力引發昏厥探測器的演示。
Alex 在 YouTube 上下載了從駕駛艙拍攝的駕駛飛機時飛行員所有的視頻。(如果你也感到好奇的話,這里有幾十個這樣的片段。)
接下來他開始標記數據。Alex 構建了一個 UI,讓他能夠滾動數千個視頻幀,按下一個按鈕表示 “有知覺”,另一個按鈕表示 “無知覺”。然后自動將該視頻幀保存到正確標記的文件夾中。這個標記過程非常非常無聊,花了他好幾天的時間。
Alex 為這些圖像構建了一個數據管道,可以將飛行員從駕駛艙背景中摳出來,這樣分類器就能更容易專注于飛行員。最后,他構建了自己的昏厥分類器。
在做這些事的同時,Alex 在社交媒體上向招聘主管展示了他的項目快照。每次
他拿出手機展示這個項目時,他們都會問他是怎么做到的,構建的管道是怎么回事,以及怎么收集數據的等等。但從來沒有人問過他的模型的準確度如何,要知道,這個模型的準確度就從來沒超過 50%。
當然,Alex 早就計劃提高模型的準確性,但是在他還沒有實現這一計劃時就已經被錄用了。事實證明,對企業而言,他那個項目呈現出來的視覺沖擊力,以及在數據收集方面表現出來的不屈不撓的精神和足智多謀,遠比他的模型究竟有多好來得更為重要。
我剛才有沒有提到 Alex 是一名主修歷史,輔修俄語的學生?
他們有何共同之處
是什么讓 Ron 和 Alex 如此成功?以下是他們做對的四件大事:
Ron 和 Alex 并沒有在建模上耗費太多的精力。我知道這聽上去很奇怪,但是對于現在的許多用例來說,建模是一個已解決的問題。在實際工作中,除非你做的是最先進的人工智能研究,否則無論如何,你都需要耗費 80~90% 的時間來清理數據。為什么你的個人項目會有所不同呢?
Ron 和 Alex 都收集了自己的數據。正因為如此,他們最終得到的數據比 Kaggle 或 UCI 數據庫中的數據更為混亂。但是處理混亂的數據教會了他們如何處理這種混亂的數據。而且也迫使了他們從學術服務器下載數據以更好地理解自己的數據。
Ron 和 Alex 營造了可視化效果。面試,并不能讓無所不知的面試官能夠客觀地評估你的技能。面試的本質就是將自己推薦給他人。人類是視覺動物,因此,如果你掏出手機給面試官展示你所做的東西,那么,確保你做的東西看上去很有趣是值得的。
Ron 和 Alex 所做的事似乎很瘋狂。這太瘋狂了。因為一般人不會把他們的智能手機用膠帶綁在購物車上,也不會在 YouTube 上耗費大量時間就為了裁剪飛行員的視頻。你知道是什么樣的人才會這么瘋狂?這樣的人才會不惜一切代價去完成工作。公司真的非常、非常愿意雇傭這種人。
Ron 和 Alex 所做的事情,看上去似乎太多了,但實際上,他們所做的事兒并不比你在實際工作中所期望的多多少。這就是問題的關鍵:當你沒有做某件事的工作經驗時,招聘經理會看你做過的類似做某件事的工作經驗。
幸運的是,你只需在這個級別上,構建一兩個項目就可以了——Ron 和 Alex 的項目在他們各自所有面試中被反復使用。
因此,如果讓我必須用一句話來總結一個卓越的機器學習項目的秘訣,那就是:用有趣的數據集去構建項目,這個數據集顯然需要耗費大量精力來收集,并使其盡可能有視覺沖擊力。
[1] 如果你想知道為什么這一點非常重要,那是因為招聘經理會查看你的業績記錄來評估你的技能。如果你沒有業績記錄的話,那么,個人項目就是最為接近的替代者。
[2] 當然,Ron 的嘗試遠非完美:X 公司為這個問題投入了比他更多的資源。但情況非常相似,他們很快就要求 Ron 將他的 repo 設為 private。
原文鏈接:
https://towardsdatascience.com/the-cold-start-problem-how-to-build-your-machine-learning-portfolio-6718b4ae83e9