01.25 曾慘遭 Google、Tesla 淘汰,輾轉 8 個月,他是如何成為一名頂尖的 AI 工程師?

曾慘遭 Google、Tesla 淘汰,輾轉 8 個月,他是如何成為一名頂尖的 AI 工程師?

作者 | Vladimir Iglovikov

譯者 | 孫薇

近日,一位在美國工作的俄羅斯小夥子,分享了過去自己 8 個月的求職經歷,從物理專業畢業後,就職於一家債務催收公司做數據與傳統推薦系統工程。在自己開始對深度學習和計算機視覺領域產生興趣後,便想轉投於此領域,但是由於自身在專業知識背景、技能與經驗的不足與欠缺,讓他在求職中處處碰壁。

為了更好的彌足這些缺陷,期間他參加了很多 Kaggle 競賽,也獲得過很好的名次,甚至在一次競賽事件中,在俄羅斯引起了一些關注度,但是正如他所說,這些都入不了 Google、DeepMind 這些知名企業與機構的法眼,與特斯拉也是失之交臂。但是,在這艱難與煎熬的 8個月時間裡,他沒有放棄,最終他喜提 Lyft 公司的 Offer。今天,我們就一起來回顧一下,Vladimir Iglovikov 對這段過往的敘述,也希望給那些在 2020 年,面臨著同樣煩惱與困難的小夥伴們,一些思考與力量。

曾惨遭 Google、Tesla 淘汰,辗转 8 个月,他是如何成为一名顶尖的 AI 工程师?

(來源:Vladimir Iglovikov 個人博客)

2017 年,我想開啟一段新的旅程

2017年1月,我在為TrueAccord公司打工,這是一家位於舊金山的債務催收平臺公司。我的職責就是使用時間序列和表格數據構建傳統的推薦系統。彼時,互聯網上開始充斥一些描述前沿技術——甚至可以勝過人類的深度學習模型的博客文章和論文,我的興趣很快轉移到了這個激動人心的新領域。

雖然我確實有一些深度學習方面的知識,但實踐經驗非常有限。在讀研究生時,我很少有機會可以應用機器學習模型,但幸運的是我發現了Kaggle,使得我能夠鍛鍊深度學習的專業知識。最終,我獲得了Kaggle Master頭銜,並在“超聲神經分割”挑戰賽中榮獲金牌。這是Kaggle社區廣泛運用深度學習架構UNet的首次挑戰賽,也是在分割任務中將軟Dice用做損失函數的首次挑戰。

2017年之前,Kagge主要專注於舉辦表格數據類的競賽,勝出方案往往涉及xgboost和其他經典機器學習算法的堆疊,很少有深度學習算法能取代這類技術。

到2017年,一切都發生了變化。深度學習更加趨向成熟,並且從學術界轉向實際產業。Kaggle競賽緊跟潮流,與成像相關的競賽也更為普遍。

我很喜歡自己在TrueAccord公司的工作,但我更想獲得一個深度學習相關的職位。然而我的技能庫和知識背景,不足以我在那個當下就能成功轉型:

  • 我是物理專業的,而不是計算機科學專業

  • 我只有一年左右的工作經驗

  • 我的簡歷中沒有任何與機器學習相關的論文

  • 我的工作中不包含任何計算機視覺方面的項目

  • 我在深度學習方面的知識很有限

基本上來說,我的情況和其他任何想要轉變自己工作方向的人別無二致。因此,我不得不像其他人一樣,想辦法處理自己的窘境。方法很簡單:去面試。如果通過就成功,不行的話就再多學些不瞭解的內容,然後重複前一步驟。希望在於,在有限次的迭代中獲得成功,就會幸運地獲得期望的職位。

在此期間,我繼續提高自己在深度學習方面的技能;閱讀論文和博客文章,當然還有繼續參加深度學習的競賽。

從 Kaggle 競賽到屢試屢敗的面試

2017 年 3 月,我的努力開始見效,在與朋友 Sergey Mushinsky 合作的 Dstl衛星圖像特徵檢測挑戰賽中,我們獲得了第493名,兩人共計獲得2萬美元的獎金。在這之後,我在二進制圖像分割和多光譜圖像方面的技能逐漸嫻熟,相關文章和代碼可以查閱:

論文地址:

https://arxiv.org/abs/1706.06169

我將獎金用於購買了第二個 GPU,之後我發現 Keras 在多 GPU 設置下不能很好地運行,然後我切換到 PyTorch,它仍是我如今深度學習框架的選擇。然而成功並非一蹴而就,與此同時我掛掉了 Descartes Labs 的現場面試,還有其他幾家。我知道自己還得繼續努力,提高技能。

那陣子某個時間,我還收到了 NVidia 的面試邀請,也沒過。所遇到的問題在於,我對 2D對象檢測器的工作原理了解有限。幸運的是,DSTL 開啟了“安全通道”:在航空影像挑戰賽中對交通工具進行檢測和分類,重點就是2D檢測。他們決定不用Kaggle託管,而是使用自建平臺。

比賽有一條重要規則:“每個人都能參加,但需要持有護照並居住在少數幾個國家或地區才能領取獎金。”我居住在舊金山,也在美國納稅,但由於我的國籍是俄羅斯的,是沒有資格獲得獎金的。這個不幸的事實我是知道的,但這個比賽仍然為對象檢測器提供了寶貴的實踐經驗,最後,在我的努力之下,我在比賽中獲得了第二名。

數據科學的進展很大程度取決於廣泛的國際社會合作,我在 FB 和 Twitter 上表達了自己的看法,認為 DSTL 的規則與這些理念背道而馳,但隨著比賽塵埃落定,我也將之拋諸腦後,並繼續自己的生活。但不知何故,這件事被舊事重提了,還被俄羅斯新聞選中。不久之後我在俄羅斯的主要新聞媒體和電視頻道的首頁上都看到了自己的臉。

英國國防技術科學實驗室為英國秘密情報局開發 AI 算法工具,而一位俄羅斯公民由於國籍被拒絕領獎,這是個好故事,俄羅斯媒體很快就發現了這一點。由於我不適應對著鏡頭接受採訪,便拒絕了與記者對談。但無濟於事,他們將我的個人資料圖片放在背景屏幕上,然後請來相關主題的“專家”發表高見。

相關視頻

https://www.youtube.com/watch?v=M7wpH4xwBIQ&feature=youtu.be

記者甚至聯繫了我父母——他們對機器學習、比賽和一切故事一無所知。我母親告訴他們,父母是重要因素,但低估學校教師的影響可不明智。這種導向奏效了,記者們將問題帶到了我的高中。

俄羅斯頂尖的科技公司之一 Mail Ru Group 決定利用這一機會做做公關,他們提議給我 1.5 萬美元,相當於比賽的二等獎。我喜歡這個點子,但不覺得公平——我明知比賽規則,並默認同意了自己沒資格拿獎。

不過,我也很高興能在簡歷中補充一個獎項:榮獲英國秘密情報局開發AI算法的獎項。我想到了一個更好的解決辦法:我熱愛理論物理學,也知道這個學科很難獲得足夠的資金,因此我要求將資金轉給支持基礎科學的俄羅斯基金會。

最後,皆大歡喜。Mail Ru Group 公司和我獲得了正面的公關效果,俄羅斯基礎科學獲得了 1.5 萬美元的資金,DSTL 也有動機對機器學習競賽的規則制定三思後行。

這個故事引發了俄羅斯讀者的關注

,但在數日後煙消雲散。在英文媒體中,只有一篇相關博客文章,也許這是最好的。

三個月求職依舊未果,與特斯拉的擦肩而過

很快從 3 月到了 6 月,我還沒找到一份計算機視覺相關的工作。

我列表上的下一家公司是特斯拉,由於我在 Kaggle 上獲得的成績,招聘方聯繫了我,這事並不常見。我過了筆試、技術篩查和現場面試,下一步就是背景調查並由 Elon Musk 批准我的申請。但我敗在這一步上了,招聘方告訴我,是因為我違反保密協議在一個論壇上談論了面試過程。

的確是這樣,我在 ods.ai 的一個頻道上提到了自己在面特斯拉,但沒有分享任何面試中的問題,不過理論上來說他們是對的,我記得特斯拉的保密協議相當嚴格,甚至禁止高層談論面試過程。

這次被拒讓我很失落,能與 Andrei Karpathy 合作令人興奮。甚至到了現在,已過了幾年,我還是為自己造成的這種不良局面感到愧疚。希望將來能有機會為自己的行為道歉。

接下來是另一個競賽——Planet:從太空了解亞馬遜森林的Kaggle競賽。這個問題太簡單了,不值得花太多時間在上面,只是小數據集的多標籤分類而已。結果,我和另外6人一組,作為一個團隊在一週內訓練了480個分類網絡,並將其堆疊,最終在938個團隊中獲得第7名。

競賽的組織方是一家名叫 Planet Labs 的公司,他們有一個深度學習的工程師職位開放招聘,我問了一下並應邀參加了面試,結果失敗了,對方反饋我缺乏深入的深度學習知識。

八月中旬,在 7 個月的求職後,我開始不再像最初那樣態度積極、信心滿滿了。我剛開始準備 Lyft 的面試,但心裡認為,這一次最終會像其他數次那樣以失敗告終。

7 個月,求職失敗,我用新的方法主動出擊

我坐在床前,用一杯白蘭地麻痺自己的悲傷,與此同時收到另一份拒信:

最近有一位谷歌員工推薦您擔任Google Brain(美國)的研究科學家一職,經過對您背景和經驗的仔細審查,我們決定暫時不再繼續處理您的申請。

我開始失望,但我有種想法。每個不利境況,都有一些特殊舉動可以解決。大多拒信都在簡歷篩選階段,結果我沒有機會展示自己的技術能力。為了避免這類問題,我決定在簡歷中增加深度學習的發表經歷。

我聯繫了麻省理工學院的博士後 Alexey Shvets,並提出建議:

  • 查找下一個具有競賽的深度學習會議。

  • 訓練模型、創建提交內容,並獲得提名(我認為如果人們花費數年研究某個問題,那麼想要與他們公平合法競爭非常困難)。

  • 為該學術數據集撰寫一個預印本或者論文,描述我們的解決方案。

他同意了,我們搜索了近期合適的會議,正巧三週內就會舉行 MICCAI,其中有舉辦名為“內窺鏡視覺挑戰賽”的研討會,有一些計算機視覺競賽,截止時間是 8 天后。

我們選擇了第一個競賽 GIANA。該問題有三個子挑戰,在剩下的 8 個晚上,我調整了在 Kaggle 競賽中使用過的系統,重構代碼並訓練了新模型。Alexey 撰寫了方法描述報告,我們堅信自己能出現在榜單上,因此我並未真正多花時間在這些問題上。之後我們將提交的內容和報告發送給組織方,我認為這是我們小小冒險的終點。事實並非如此,Alexey 發現這個研討會還舉辦了另一項比賽,叫做“機器人儀器分割”,共分三項子挑戰,還延期了截止時間,4 天后結束。他問我是否想要嘗試一下這些子挑戰,我同意了,將自己關了 4 個晚上之後,我完成了代碼、模型和預測。

這個競賽還有個警告:必須有一名團隊成員親身參與MICCAI大會,並展示結果。最終結果僅會在大會上宣佈。正好,我也從沒去過魁北克甚至加拿大,因此我很樂於前往。

研討會的日子到了,我在研討會上見到了一大群由熱衷醫學影像的專家所組成的龐大社區,他們似乎彼此相識。我誰也不認識,也沒辦法破冰,雖然我一直在學習深度學習和計算機視覺,但對醫學成像的所有細節對我還是新領域。

第一個競賽的演示開始了,來自不同大學的團隊紛紛介紹了自己的解決方案,很難判斷其優秀程度,但很顯然他們都投入了大量精力。輪到我了,我站在講臺上,告訴聽眾們我並不是這個領域的專家,只是通過深度學習練習來應對這次競賽,併為浪費他們的時間道歉,還展示了兩張幻燈片。

組織方公佈了結果:

  1. 第一個子挑戰——我們獲得第一。

  2. 第二個子挑戰——我們獲得第三。

  3. 第三個子挑戰——我們獲得第一。

並且大賽全部成績的第一名。

曾惨遭 Google、Tesla 淘汰,辗转 8 个月,他是如何成为一名顶尖的 AI 工程师?

(來源:Vladimir Iglovikov 個人博客)

在第二個競賽中,就是截止日期延後 4 天的那場,不同的團隊展示了自己的解決方案,我們分別獲得了:第一,第二,第一,整體第一 的成績。

至今我都記得這一刻,我站在現場,組織方正在準備支票和禮物。Alexey 和我獲得勝利,脫穎而出,但我又不禁對這有些荒謬的結果感到沮喪。“為什麼會這樣?對於醫學影像領域毫無瞭解的傢伙在兩個挑戰中都獲得了第一名?那些靠從事醫學影像工作為生的人使用的模型差得多嗎?”

我詢問聽眾們:“你們知道我在哪裡工作嗎?”除了一個查過我LinkedIn的組織者之外,沒人知道。我告訴他們,我在 TrueAccord 公司工作,並且沒有在工作中訓練深度學習模型。我感嘆自己無法擺脫這種情況,因為 Google Brain 和 Deepmind 的人力資源部甚至都不看我的簡歷。

在那場熱情洋溢的演講之後,觀眾席中有 Deepmind 健康團隊的成員在中場時截住了我,問我是否有興趣參與他們團隊研究工程師職位的面試。

我相信這是有史以來首次,一個收債公司的人贏了醫學影像比賽的冠軍。

歷經 8 個月後,好消息傳來

不久之後,我接受了目前工作的公司 Lyft 的 offer,入職前我還參加了 Kaggle 的 Carvana Image Masking 競賽,在 GIANA 中的方法讓我吊在了榜單的最後 20% 位置上。新的想法不斷產生,最終由 Vladimir Iglovikov、Alexander Buslaev 和 Artem Sanakoyeu 組成的團隊拿到了 735 支團隊的頭名,代碼和博客文章可以查看這裡。

https://medium.com/kaggle-blog/carvana-image-masking-challenge-1st-place-winners-interview-78fcc5c887a8

那次競賽是第一個社區紛紛開始在 UNet 類型的架構中使用預訓練編輯器的大競賽,現在已經成為規範了,有很多出色的庫供你選擇,使用不同的預訓練編碼器來獲得各種不同的分割網絡。但在那時,這個想法還比較新,這個競賽中我和Alexey提出了 TernausNet,但我們只是為了好玩才寫的,卻令人驚訝地成了我被引用最多的作品。

結論

八個月裡,我在自己感興趣的領域找到了一份出色的工作,那段時間非常痛苦。當你嘗試新事物時,會犯錯誤,每次失敗會感覺自己很蠢,會不時對自己失去信心。但請記住,你正在學習新知識,而且所邁出的每一步都將使你更加接近自己的目標。

過去的幾年裡,我在 Google 學術的個人資料中又增添了一些深度學習的論文。

曾惨遭 Google、Tesla 淘汰,辗转 8 个月,他是如何成为一名顶尖的 AI 工程师?

原文鏈接:

https://towardsdatascience.com/how-i-found-my-current-job-3fb22e511a1f


分享到:


相關文章: