原標(biāo)題:曾慘遭谷歌、特斯拉淘汰,輾轉(zhuǎn)8個(gè)月,他是如何成為一名頂尖AI工程師? 來(lái)源:騰訊新聞
作者 | Vladimir Iglovikov
譯者 | 孫薇
編輯 | Jane
出品 | CSDN(ID:CSDNnews)
近日,一位在美國(guó)工作的俄羅斯小伙子,分享了過(guò)去自己 8 個(gè)月的求職經(jīng)歷,從物理專業(yè)畢業(yè)后,就職于一家債務(wù)催收公司做數(shù)據(jù)與傳統(tǒng)推薦系統(tǒng)工程。在自己開始對(duì)深度學(xué)習(xí)和計(jì)算機(jī)視覺領(lǐng)域產(chǎn)生興趣后,便想轉(zhuǎn)投于此領(lǐng)域,但是由于自身在專業(yè)知識(shí)背景、技能與經(jīng)驗(yàn)的不足與欠缺,讓他在求職中處處碰壁。
為了更好的彌足這些缺陷,期間他參加了很多 Kaggle 競(jìng)賽,也獲得過(guò)很好的名次,甚至在一次競(jìng)賽事件中,在俄羅斯引起了一些關(guān)注度,但是正如他所說(shuō),這些都入不了 Google、DeepMind 這些知名企業(yè)與機(jī)構(gòu)的法眼,與特斯拉也是失之交臂。但是,在這艱難與煎熬的 8個(gè)月時(shí)間里,他沒有放棄,最終他喜提 Lyft 公司的 Offer。今天,我們就一起來(lái)回顧一下,Vladimir Iglovikov 對(duì)這段過(guò)往的敘述,也希望給那些在 2020 年,面臨著同樣煩惱與困難的小伙伴們,一些思考與力量。
(來(lái)源:Vladimir Iglovikov 個(gè)人博客)
2017 年,我想開啟一段新的旅程
2017年1月,我在為TrueAccord公司打工,這是一家位于舊金山的債務(wù)催收平臺(tái)公司。我的職責(zé)就是使用時(shí)間序列和表格數(shù)據(jù)構(gòu)建傳統(tǒng)的推薦系統(tǒng)。彼時(shí),互聯(lián)網(wǎng)上開始充斥一些描述前沿技術(shù)——甚至可以勝過(guò)人類的深度學(xué)習(xí)模型的博客文章和論文,我的興趣很快轉(zhuǎn)移到了這個(gè)激動(dòng)人心的新領(lǐng)域。
雖然我確實(shí)有一些深度學(xué)習(xí)方面的知識(shí),但實(shí)踐經(jīng)驗(yàn)非常有限。在讀研究生時(shí),我很少有機(jī)會(huì)可以應(yīng)用機(jī)器學(xué)習(xí)模型,但幸運(yùn)的是我發(fā)現(xiàn)了Kaggle,使得我能夠鍛煉深度學(xué)習(xí)的專業(yè)知識(shí)。最終,我獲得了Kaggle Master頭銜,并在“超聲神經(jīng)分割”挑戰(zhàn)賽中榮獲金牌。這是Kaggle社區(qū)廣泛運(yùn)用深度學(xué)習(xí)架構(gòu)UNet的首次挑戰(zhàn)賽,也是在分割任務(wù)中將軟Dice用做損失函數(shù)的首次挑戰(zhàn)。
2017年之前,Kagge主要專注于舉辦表格數(shù)據(jù)類的競(jìng)賽,勝出方案往往涉及xgboost和其他經(jīng)典機(jī)器學(xué)習(xí)算法的堆疊,很少有深度學(xué)習(xí)算法能取代這類技術(shù)。
到2017年,一切都發(fā)生了變化。深度學(xué)習(xí)更加趨向成熟,并且從學(xué)術(shù)界轉(zhuǎn)向?qū)嶋H產(chǎn)業(yè)。Kaggle競(jìng)賽緊跟潮流,與成像相關(guān)的競(jìng)賽也更為普遍。
我很喜歡自己在TrueAccord公司的工作,但我更想獲得一個(gè)深度學(xué)習(xí)相關(guān)的職位。然而我的技能庫(kù)和知識(shí)背景,不足以我在那個(gè)當(dāng)下就能成功轉(zhuǎn)型:
我是物理專業(yè)的,而不是計(jì)算機(jī)科學(xué)專業(yè)
我只有一年左右的工作經(jīng)驗(yàn)
我的簡(jiǎn)歷中沒有任何與機(jī)器學(xué)習(xí)相關(guān)的論文
我的工作中不包含任何計(jì)算機(jī)視覺方面的項(xiàng)目
我在深度學(xué)習(xí)方面的知識(shí)很有限
基本上來(lái)說(shuō),我的情況和其他任何想要轉(zhuǎn)變自己工作方向的人別無(wú)二致。
因此,我不得不像其他人一樣,想辦法處理自己的窘境。方法很簡(jiǎn)單:去面試。如果通過(guò)就成功,不行的話就再多學(xué)些不了解的內(nèi)容,然后重復(fù)前一步驟。希望在于,在有限次的迭代中獲得成功,就會(huì)幸運(yùn)地獲得期望的職位。
在此期間,我繼續(xù)提高自己在深度學(xué)習(xí)方面的技能;閱讀論文和博客文章,當(dāng)然還有繼續(xù)參加深度學(xué)習(xí)的競(jìng)賽。
從 Kaggle 競(jìng)賽到屢試屢敗的面試
2017 年 3 月,我的努力開始見效,在與朋友 Sergey Mushinsky 合作的 Dstl衛(wèi)星圖像特征檢測(cè)挑戰(zhàn)賽中,我們獲得了第493名,兩人共計(jì)獲得2萬(wàn)美元的獎(jiǎng)金。在這之后,我在二進(jìn)制圖像分割和多光譜圖像方面的技能逐漸嫻熟,相關(guān)文章和代碼可以查閱:
論文地址:
arxiv.org/abs/1706.06169
我將獎(jiǎng)金用于購(gòu)買了第二個(gè) GPU,之后我發(fā)現(xiàn) Keras 在多 GPU 設(shè)置下不能很好地運(yùn)行,然后我切換到 PyTorch,它仍是我如今深度學(xué)習(xí)框架的選擇。然而成功并非一蹴而就,與此同時(shí)我掛掉了 Descartes Labs的現(xiàn)場(chǎng)面試,還有其他幾家。我知道自己還得繼續(xù)努力,提高技能。
那陣子某個(gè)時(shí)間,我還收到了 NVidia 的面試邀請(qǐng),也沒過(guò)。所遇到的問(wèn)題在于,我對(duì) 2D對(duì)象檢測(cè)器的工作原理了解有限。幸運(yùn)的是,DSTL 開啟了“安全通道”:在航空影像挑戰(zhàn)賽中對(duì)交通工具進(jìn)行檢測(cè)和分類,重點(diǎn)就是2D檢測(cè)。他們決定不用Kaggle托管,而是使用自建平臺(tái)。
比賽有一條重要規(guī)則:“每個(gè)人都能參加,但需要持有護(hù)照并居住在少數(shù)幾個(gè)國(guó)家或地區(qū)才能領(lǐng)取獎(jiǎng)金。”我居住在舊金山,也在美國(guó)納稅,但由于我的國(guó)籍是俄羅斯的,是沒有資格獲得獎(jiǎng)金的。這個(gè)不幸的事實(shí)我是知道的,但這個(gè)比賽仍然為對(duì)象檢測(cè)器提供了寶貴的實(shí)踐經(jīng)驗(yàn),最后,在我的努力之下,我在比賽中獲得了第二名。
數(shù)據(jù)科學(xué)的進(jìn)展很大程度取決于廣泛的國(guó)際社會(huì)合作,我在 FB 和 Twitter 上表達(dá)了自己的看法,認(rèn)為 DSTL 的規(guī)則與這些理念背道而馳,但隨著比賽塵埃落定,我也將之拋諸腦后,并繼續(xù)自己的生活。但不知何故,這件事被舊事重提了,還被俄羅斯新聞選中。不久之后我在俄羅斯的主要新聞媒體和電視頻道的首頁(yè)上都看到了自己的臉。
英國(guó)國(guó)防技術(shù)科學(xué)實(shí)驗(yàn)室為英國(guó)秘密情報(bào)局開發(fā) AI 算法工具,而一位俄羅斯公民由于國(guó)籍被拒絕領(lǐng)獎(jiǎng),這是個(gè)好故事,俄羅斯媒體很快就發(fā)現(xiàn)了這一點(diǎn)。由于我不適應(yīng)對(duì)著鏡頭接受采訪,便拒絕了與記者對(duì)談。但無(wú)濟(jì)于事,他們將我的個(gè)人資料圖片放在背景屏幕上,然后請(qǐng)來(lái)相關(guān)主題的“專家”發(fā)表高見。
相關(guān)視頻
youtube/watch?v=M7wpH4xwBIQ feature=youtu.be
記者甚至聯(lián)系了我父母——他們對(duì)機(jī)器學(xué)習(xí)、比賽和一切故事一無(wú)所知。我母親告訴他們,父母是重要因素,但低估學(xué)校教師的影響可不明智。這種導(dǎo)向奏效了,記者們將問(wèn)題帶到了我的高中。
俄羅斯頂尖的科技公司之一 Mail Ru Group 決定利用這一機(jī)會(huì)做做公關(guān),他們提議給我 1.5 萬(wàn)美元,相當(dāng)于比賽的二等獎(jiǎng)。我喜歡這個(gè)點(diǎn)子,但不覺得公平——我明知比賽規(guī)則,并默認(rèn)同意了自己沒資格拿獎(jiǎng)。
不過(guò),我也很高興能在簡(jiǎn)歷中補(bǔ)充一個(gè)獎(jiǎng)項(xiàng):榮獲英國(guó)秘密情報(bào)局開發(fā)AI算法的獎(jiǎng)項(xiàng)。我想到了一個(gè)更好的解決辦法:我熱愛理論物理學(xué),也知道這個(gè)學(xué)科很難獲得足夠的資金,因此我要求將資金轉(zhuǎn)給支持基礎(chǔ)科學(xué)的俄羅斯基金會(huì)。
最后,皆大歡喜。Mail Ru Group 公司和我獲得了正面的公關(guān)效果,俄羅斯基礎(chǔ)科學(xué)獲得了 1.5 萬(wàn)美元的資金,DSTL 也有動(dòng)機(jī)對(duì)機(jī)器學(xué)習(xí)競(jìng)賽的規(guī)則制定三思后行。
這個(gè)故事引發(fā)了俄羅斯讀者的關(guān)注,但在數(shù)日后煙消云散。在英文媒體中,只有一篇相關(guān)博客文章,也許這是最好的。
三個(gè)月求職依舊未果,與特斯拉的擦肩而過(guò)
很快從 3 月到了 6 月,我還沒找到一份計(jì)算機(jī)視覺相關(guān)的工作。
我列表上的下一家公司是特斯拉,由于我在 Kaggle 上獲得的成績(jī),招聘方聯(lián)系了我,這事并不常見。我過(guò)了筆試、技術(shù)篩查和現(xiàn)場(chǎng)面試,下一步就是背景調(diào)查并由 Elon Musk 批準(zhǔn)我的申請(qǐng)。但我敗在這一步上了,招聘方告訴我,是因?yàn)槲疫`反保密協(xié)議在一個(gè)論壇上談?wù)摿嗣嬖囘^(guò)程。
的確是這樣,我在 ods.ai 的一個(gè)頻道上提到了自己在面特斯拉,但沒有分享任何面試中的問(wèn)題,不過(guò)理論上來(lái)說(shuō)他們是對(duì)的,我記得特斯拉的保密協(xié)議相當(dāng)嚴(yán)格,甚至禁止高層談?wù)撁嬖囘^(guò)程。
這次被拒讓我很失落,能與 Andrei Karpathy 合作令人興奮。甚至到了現(xiàn)在,已過(guò)了幾年,我還是為自己造成的這種不良局面感到愧疚。希望將來(lái)能有機(jī)會(huì)為自己的行為道歉。
接下來(lái)是另一個(gè)競(jìng)賽——Planet:從太空了解亞馬遜森林的Kaggle競(jìng)賽。這個(gè)問(wèn)題太簡(jiǎn)單了,不值得花太多時(shí)間在上面,只是小數(shù)據(jù)集的多標(biāo)簽分類而已。結(jié)果,我和另外6人一組,作為一個(gè)團(tuán)隊(duì)在一周內(nèi)訓(xùn)練了480個(gè)分類網(wǎng)絡(luò),并將其堆疊,最終在938個(gè)團(tuán)隊(duì)中獲得第7名。
競(jìng)賽的組織方是一家名叫 Planet Labs的公司,他們有一個(gè)深度學(xué)習(xí)的工程師職位開放招聘,我問(wèn)了一下并應(yīng)邀參加了面試,結(jié)果失敗了,對(duì)方反饋我缺乏深入的深度學(xué)習(xí)知識(shí)。
八月中旬,在 7 個(gè)月的求職后,我開始不再像最初那樣態(tài)度積極、信心滿滿了。我剛開始準(zhǔn)備 Lyft 的面試,但心里認(rèn)為,這一次最終會(huì)像其他數(shù)次那樣以失敗告終。
7 個(gè)月,求職失敗,我用新的方法主動(dòng)出擊
我坐在床前,用一杯白蘭地麻痹自己的悲傷,與此同時(shí)收到另一份拒信:
最近有一位谷歌員工推薦您擔(dān)任Google Brain(美國(guó))的研究科學(xué)家一職,經(jīng)過(guò)對(duì)您背景和經(jīng)驗(yàn)的仔細(xì)審查,我們決定暫時(shí)不再繼續(xù)處理您的申請(qǐng)。
我開始失望,但我有種想法。每個(gè)不利境況,都有一些特殊舉動(dòng)可以解決。大多拒信都在簡(jiǎn)歷篩選階段,結(jié)果我沒有機(jī)會(huì)展示自己的技術(shù)能力。為了避免這類問(wèn)題,我決定在簡(jiǎn)歷中增加深度學(xué)習(xí)的發(fā)表經(jīng)歷。
我聯(lián)系了麻省理工學(xué)院的博士后 Alexey Shvets,并提出建議:
查找下一個(gè)具有競(jìng)賽的深度學(xué)習(xí)會(huì)議。
訓(xùn)練模型、創(chuàng)建提交內(nèi)容,并獲得提名(我認(rèn)為如果人們花費(fèi)數(shù)年研究某個(gè)問(wèn)題,那么想要與他們公平合法競(jìng)爭(zhēng)非常困難)。
為該學(xué)術(shù)數(shù)據(jù)集撰寫一個(gè)預(yù)印本或者論文,描述我們的解決方案。
他同意了,我們搜索了近期合適的會(huì)議,正巧三周內(nèi)就會(huì)舉行 MICCAI,其中有舉辦名為“內(nèi)窺鏡視覺挑戰(zhàn)賽”的研討會(huì),有一些計(jì)算機(jī)視覺競(jìng)賽,截止時(shí)間是 8 天后。
我們選擇了第一個(gè)競(jìng)賽 GIANA。該問(wèn)題有三個(gè)子挑戰(zhàn),在剩下的 8 個(gè)晚上,我調(diào)整了在 Kaggle 競(jìng)賽中使用過(guò)的系統(tǒng),重構(gòu)代碼并訓(xùn)練了新模型。Alexey 撰寫了方法描述報(bào)告,我們堅(jiān)信自己能出現(xiàn)在榜單上,因此我并未真正多花時(shí)間在這些問(wèn)題上。之后我們將提交的內(nèi)容和報(bào)告發(fā)送給組織方,我認(rèn)為這是我們小小冒險(xiǎn)的終點(diǎn)。事實(shí)并非如此,Alexey 發(fā)現(xiàn)這個(gè)研討會(huì)還舉辦了另一項(xiàng)比賽,叫做“機(jī)器人儀器分割”,共分三項(xiàng)子挑戰(zhàn),還延期了截止時(shí)間,4 天后結(jié)束。他問(wèn)我是否想要嘗試一下這些子挑戰(zhàn),我同意了,將自己關(guān)了 4 個(gè)晚上之后,我完成了代碼、模型和預(yù)測(cè)。
這個(gè)競(jìng)賽還有個(gè)警告:必須有一名團(tuán)隊(duì)成員親身參與MICCAI大會(huì),并展示結(jié)果。最終結(jié)果僅會(huì)在大會(huì)上宣布。正好,我也從沒去過(guò)魁北克甚至加拿大,因此我很樂(lè)于前往。
研討會(huì)的日子到了,我在研討會(huì)上見到了一大群由熱衷醫(yī)學(xué)影像的專家所組成的龐大社區(qū),他們似乎彼此相識(shí)。我誰(shuí)也不認(rèn)識(shí),也沒辦法破冰,雖然我一直在學(xué)習(xí)深度學(xué)習(xí)和計(jì)算機(jī)視覺,但對(duì)醫(yī)學(xué)成像的所有細(xì)節(jié)對(duì)我還是新領(lǐng)域。
第一個(gè)競(jìng)賽的演示開始了,來(lái)自不同大學(xué)的團(tuán)隊(duì)紛紛介紹了自己的解決方案,很難判斷其優(yōu)秀程度,但很顯然他們都投入了大量精力。輪到我了,我站在講臺(tái)上,告訴聽眾們我并不是這個(gè)領(lǐng)域的專家,只是通過(guò)深度學(xué)習(xí)練習(xí)來(lái)應(yīng)對(duì)這次競(jìng)賽,并為浪費(fèi)他們的時(shí)間道歉,還展示了兩張幻燈片。
組織方公布了結(jié)果:
第一個(gè)子挑戰(zhàn)——我們獲得第一。
第二個(gè)子挑戰(zhàn)——我們獲得第三。
第三個(gè)子挑戰(zhàn)——我們獲得第一。
并且大賽全部成績(jī)的第一名。
(來(lái)源:Vladimir Iglovikov 個(gè)人博客)
在第二個(gè)競(jìng)賽中,就是截止日期延后 4 天的那場(chǎng),不同的團(tuán)隊(duì)展示了自己的解決方案,我們分別獲得了:第一,第二,第一,整體第一 的成績(jī)。
至今我都記得這一刻,我站在現(xiàn)場(chǎng),組織方正在準(zhǔn)備支票和禮物。Alexey 和我獲得勝利,脫穎而出,但我又不禁對(duì)這有些荒謬的結(jié)果感到沮喪。“為什么會(huì)這樣?對(duì)于醫(yī)學(xué)影像領(lǐng)域毫無(wú)了解的家伙在兩個(gè)挑戰(zhàn)中都獲得了第一名?那些靠從事醫(yī)學(xué)影像工作為生的人使用的模型差得多嗎?”
我詢問(wèn)聽眾們:“你們知道我在哪里工作嗎?”除了一個(gè)查過(guò)我linkedIn的組織者之外,沒人知道。我告訴他們,我在 TrueAccord 公司工作,并且沒有在工作中訓(xùn)練深度學(xué)習(xí)模型。我感嘆自己無(wú)法擺脫這種情況,因?yàn)?Google Brain 和 Deepmind 的人力資源部甚至都不看我的簡(jiǎn)歷。
在那場(chǎng)熱情洋溢的演講之后,觀眾席中有 Deepmind 健康團(tuán)隊(duì)的成員在中場(chǎng)時(shí)截住了我,問(wèn)我是否有興趣參與他們團(tuán)隊(duì)研究工程師職位的面試。
我相信這是有史以來(lái)首次,一個(gè)收債公司的人贏了醫(yī)學(xué)影像比賽的冠軍。
歷經(jīng) 8 個(gè)月后,好消息傳來(lái)
不久之后,我接受了目前工作的公司 Lyft 的 offer,入職前我還參加了 Kaggle 的 Carvana Image Masking 競(jìng)賽,在 GIANA 中的方法讓我吊在了榜單的最后 20% 位置上。新的想法不斷產(chǎn)生,最終由 Vladimir Iglovikov、Alexander Buslaev 和 Artem Sanakoyeu 組成的團(tuán)隊(duì)拿到了 735 支團(tuán)隊(duì)的頭名,代碼和博客文章可以查看這里。
medium/kaggle-blog/carvana-image-masking-challenge-1st-place-winners-interview-78fcc5c887a8
那次競(jìng)賽是第一個(gè)社區(qū)紛紛開始在 UNet 類型的架構(gòu)中使用預(yù)訓(xùn)練編輯器的大競(jìng)賽,現(xiàn)在已經(jīng)成為規(guī)范了,有很多出色的庫(kù)供你選擇,使用不同的預(yù)訓(xùn)練編碼器來(lái)獲得各種不同的分割網(wǎng)絡(luò)。但在那時(shí),這個(gè)想法還比較新,這個(gè)競(jìng)賽中我和Alexey提出了 TernausNet,但我們只是為了好玩才寫的,卻令人驚訝地成了我被引用最多的作品。
結(jié)論
八個(gè)月里,我在自己感興趣的領(lǐng)域找到了一份出色的工作,那段時(shí)間非常痛苦。當(dāng)你嘗試新事物時(shí),會(huì)犯錯(cuò)誤,每次失敗會(huì)感覺自己很蠢,會(huì)不時(shí)對(duì)自己失去信心。但請(qǐng)記住,你正在學(xué)習(xí)新知識(shí),而且所邁出的每一步都將使你更加接近自己的目標(biāo)。
過(guò)去的幾年里,我在 Google 學(xué)術(shù)的個(gè)人資料中又增添了一些深度學(xué)習(xí)的論文。
towardsdatascience/how-i-found-my-current-job-3fb22e511a1f
熱 文推 薦
小網(wǎng)站的容器化(上)
你點(diǎn)的每個(gè)“在看”,我都認(rèn)真當(dāng)成了喜歡