舉兩個栗子:如何正確建立個人的機器學習項目集

面試機器學習方面的工作時,在簡歷的個人項目那塊,你會寫什麼?建模?做機器學習項目?項目數據從哪兒來?在 SharpestMinds 創始人 Edouard Harris 介紹的兩個成功例子中,人家是從基礎的收集數據開始一步步做項目的:目標明確,做到極致。

我是一名物理學家,在 YC startup 工作。我們的任務是幫應屆生找到自己的第一份機器學習工作。

要找到第一份機器學習工作,你要做的一件事就是建立自己的機器學習項目集(portfolio)。現在,我來告訴你答案。

你可能會奇怪為什麼這很重要,那是因為招聘經理通常會通過你的履歷來了解你,如果你沒有履歷,個人項目就是最接近的替代品。

因為職業原因,我見過數百份個人項目的案例,有做得極好的,也有做得極差的。我將向你展示兩個極好的案例。

全力以赴型

接下來要說的是一件真實的故事,只不過隱私起見我改了主人公的名字。

公司 X 使用 AI 提醒雜貨店何時該訂購新的庫存。我們這邊有個學生——Ron,很想去 X 公司工作,所以他建立了個人項目,該項目完全是針對去該公司面試用的。

我們通常不建議這樣對著一家公司全力以赴做準備。這有點冒險。不過,像 Ron 這樣真的非常想去這家公司就另當別論了。


舉兩個栗子:如何正確建立個人的機器學習項目集

紅色邊框標出了缺失項。

  1. Ron 剛開始把手機貼到購物車上。然後,他推著購物車在過道來回走動,同時用相機記錄。他在不同的雜貨店做了 10 到 12 次。
  2. 回到家後,Ron 開始建立一個機器學習模型。他的模型發現了雜貨店貨架上的空缺點:貨架上缺少玉米片(或其他東西)的位置。
  3. Ron 在 GitHub 上實時建立了他的模型,完全公開。每天,他都會改進他的 repo(提高準確率,並在他的 repo 的 README 中記錄項目變化。)
  4. 當 X 公司意識到 Ron 正在這樣做時,X 公司很感興趣,而且不止是感興趣,事實上,X 公司有點緊張。他們為什麼會緊張?因為 Ron 在不知不覺中,在幾天內複製了他們專有技術堆棧的一部分。


當然,Ron 所做的遠遠不夠完美:X 公司已經投入了比 Ron 多幾個數量級的資源來解決這個問題。但由於太相似,他們很快就叫 Ron 將他的 repo 私有化。

X 公司的技術在同行業中名列前茅。儘管如此,在 4 天內,Ron 的項目得到了 X 公司首席執行官的直接個人關注。

飛行員項目

以下是另一個真實故事:

Alex 是一名歷史專業大學生,主修俄語(真的),同時他對機器學習感興趣。更為不同尋常的是,儘管他從未編寫過 Python 代碼,但他還是決定學習它。

Alex 選擇通過構建實用項目來學習。他決定建立一個分類器,以檢測戰鬥機飛行員是否在飛機上失去意識。Alex 希望通過觀察飛行員的視頻來發現這一點。他知道一個人很容易通過觀察,在一名飛行員失去知覺時告訴他,所以 Alex 認為機器也應該可以做到。

這是 Alex 在幾個月中所做的事情:


舉兩個栗子:如何正確建立個人的機器學習項目集


Alex 的 G-force 誘導失去意識探測器的演示。

  1. Alex 在 YouTube 上下載了從駕駛艙中拍攝的飛行員駕駛飛機的所有視頻片段(大約數十個)。
  2. 接下來他開始標記數據。Alex 構建了一個 UI,讓他可以滾動瀏覽數千個視頻幀,按一個按鈕表示「有意識」,另一個按鈕表示「無意識」,並自動將該幀保存在正確標記的文件夾中。這個標記過程非常非常無聊,花了他很多天時間。
  3. Alex 為圖像構建了一個數據管道,可以將飛行員從駕駛艙背景中剪裁出來,使他的分類器更容易專注于飛行員。最後,他建立了他的意識喪失分類器。
  4. 在他做所有這些事情的同時,Alex 也在社交活動中向招聘經理展示他的項目快照。每當他拿出他的項目並在手機上展示時,他們會問他是如何做到的,他如何建造管道,以及如何收集數據。但他們從來沒有詢問他的模型準確率(低於 50%)。


當然,Alex 也計劃提高其準確率,但在動手之前就被錄用了。結果證明,公司更看重他項目的視覺效果以及他在數據收集過程中表現出的瘋狂與智慧,而不是他的模型的準確率。

他們之間的共同點

Ron 和 Alex 為什麼如此成功?因為他們做對了以下四件事:

  1. 他們沒有在建模上浪費太多精力。我知道這聽起來很奇怪,但對於今天的很多用例來說,建模是一個已經解決的問題。在實際工作中,除非你做的是最前沿的研究,否則你的時間 80%~90% 都會花在清洗數據上。你的個人項目又怎能例外?
  2. 他們自己收集數據。正因為如此,他們得到的最終數據比 Kaggle 或 UCI 數據庫中的數據更混亂。但也正是這些混亂的數據提高了他們處理混亂數據的能力。比起從學術服務器上下載數據,這種做法讓他們能夠更好地理解自己的數據。
  3. 他們將做出的東西可視化。所謂面試,並不是說由一位無所不知的裁判對你的能力做出客觀的評估,而是將你自己推銷給另一個人。人是視覺動物。如果你掏出手機向面試官展示你的作品,那麼你要確保自己做的東西看起來有趣,這點非常值得。
  4. 他們的所作所為看起來確實有點瘋狂。正常人不會用膠帶把自己的手機綁在購物車上。正常人也不會花那麼長時間從 YouTube 上裁剪飛行員視頻。什麼人才會做這種事?那些不顧一切完成目標的人才會這麼幹。公司最想僱傭的就是這種人。


Ron 和 Alex 的所作所為可能看起來太誇張,但實際上,這和你在真正的工作中要做的事差不多。這就是要點:當你沒有做某事的工作經驗時,招聘經理會看你做過的和某事相類似的經歷。

幸運的是,這種程度的項目你只要做一兩次就好——Ron 和 Alex 就在所有的面試中重複使用之前準備的項目。

因此,如果用一句話來概括偉大 ML 項目的祕密的話,那就是:用一個有趣的數據集來構建一個項目,這個數據集需要很大的努力來收集,並且儘可能地在視覺上有影響力。

相關推薦

推薦中...