CMU 王赟上個月博士畢業(yè),,在卡內(nèi)基梅隆大學(CMU)語言技術研究所(LTI)經(jīng)歷了兩年碩士,、六年博士之后,,他有話想說,。
學術篇
下周一我就要開始在 Facebook 上班了。趁入職之前,,我想寫一寫我博士生涯的感悟,;再不寫就要涼啦。
從 2010 年 8 月到 2018 年 10 月,,我把我最好的青春年華都獻給了卡內(nèi)基梅隆大學(CMU)的語言技術研究所(LTI),。其中前兩年是碩士,但由于 LTI 的碩士生活跟博士并沒有太大區(qū)別,,都要做研究,,所以說是八年博士也并不過分吧,。單從長度就能看出,我的博士生涯并不是一帆風順的,;之所以讀了這么久,,主要原因是換了兩次研究項目,。這三個研究項目,,各自給了我不同的體驗和感悟。
從入學到 2012 年春天,,我跟隨金琴教授研究說話人識別,。在這將近兩年的時間里,我用 Matlab 語言親自實現(xiàn)了十幾種語音特征的提取,,以及基于 GMM,、GMM-UBM、SVM,、JFA 等技術的多種說話人識別系統(tǒng),。然而,我在這段時間里的研究進展十分緩慢,,最終并沒有追上當時的前沿,;我的研究結果也并沒能寫成論文發(fā)表出來,而只是形成了一篇技術報告,。這里面的原因,,大概是因為我還沒能從「學習者」的心態(tài)轉換成「研究者」的心態(tài)。我總是想著把基礎打扎實,,從而在理解和復現(xiàn)已有的技術上花了太多的時間——2011 年的夏天,,我曾經(jīng)花了一個多星期來推導 JFA 里那些復雜的矩陣運算。在實驗設計上,,我也沒能做到「抓大放小」,,而是曾經(jīng)拘泥于一些小細節(jié),比如訓練數(shù)據(jù)和測試數(shù)據(jù)的劃分,。這些原因,,導致我還沒來得及走到「創(chuàng)新」這一步,研究項目就結束了,。
機器之心Synced說話人識別小程序
金琴教授于 2012 年春天調(diào)到了中國人民大學,,于是我就轉到了同一個實驗室的 Florian Metze 教授名下讀博士。Florian 是一位高高胖胖的德國教授,,在中文語境里,,我通常稱他為「花哥」。我在花哥手下做的第一個項目叫 Babel,,其任務是在多種小語種語音里檢索關鍵詞,。與之前的我一個人做的說話人識別項目不同,,Babel 項目是由全美國乃至全世界許多大學和公司共同參與的。若干個大學或公司通過合作關系結成隊伍,,而隊伍與隊伍之間則是競爭關系,。我在這個項目中的體驗,與其說是像科研,,不如說是像工作,,因為項目前期的主要任務,是要先搭建出一個還能用的系統(tǒng),,之后才能在此基礎上慢慢地創(chuàng)新,。一個關鍵詞檢索系統(tǒng)通常由兩個模塊組成:前端模塊是語音識別,負責給出多種可能的識別結果,;后端模塊是檢索,,負責在識別結果中搜索關鍵詞并對其可靠性打分。我在這個項目中承擔了很多工程性的工作:整個后端模塊基本上都由我來維護,;我還開發(fā)了一些可視化工具,,用來分析系統(tǒng)犯的錯誤。但是,,從科研的角度來講,,我的工作的科技含量并不高:檢索模塊使用的技術,說白了只是一個倒排索引而已,。直到 2014 年,,我們實驗室才脫離純工程性的開發(fā),開始研究一些有科研價值的問題,,比如如何更準確地給檢索到的每個關鍵詞的可靠性打分,,以盡量減少漏報和誤報;比如如何檢索像專有名詞這樣詞典里并沒有的關鍵詞,。然而,,2014 年 6 月,當我在韓國臨津閣的觀光隊伍中排隊的時候,,我從 Facebook 上收到了實驗室的同學發(fā)來的噩耗:由于 CMU 所在的隊伍開發(fā)的系統(tǒng)在年度測評中表現(xiàn)不佳,,我們的隊伍被淘汰了。到此時為止,,我只發(fā)出了一篇一作論文,;另一篇一作論文在此后經(jīng)歷了五次拒稿,終于被我塵封,。知乎上有一個這樣的問題:博士第三年還沒有發(fā)論文是一種怎樣的體驗,?我想我是適合回答的,但終究沒有勇氣回答,。
2014 年的下半年,,算是我博士生涯的一段過渡期,,這段時間我沒有什么科研產(chǎn)出,而是把精力用在了給自己充電上,。憑借著唯一的一篇一作論文,,我參加了 2014 年 9 月在新加坡舉行的 Interspeech 會議。在會上,,我嗅到了深度學習正在崛起的信號,。整個秋季學期,我閱讀了會議上的近百篇論文,,還在 Coursera 上學習了 Geoffrey Hinton 的深度學習課程,。這讓我的博士生涯柳暗花明又一村。
關于博士生涯最終的研究課題,,花哥當時給了我三個選擇。我已經(jīng)不記得另外兩個選擇是什么了,;我選擇了「事件檢測」,,只是因為它有去 Facebook 實習的機會。我在 2015 年 1 月至 4 月在 Facebook 進行了一次實習,,這也是我唯一一次實習,。由于版權的限制,我在 Facebook 并沒能使用 CMU 的數(shù)據(jù)真正進行「事件檢測」的研究,,而只是改進了 Facebook 原有的語音/噪音分辨系統(tǒng),。從科研上來說,這次實習只是我對深度學習的一次練手,;但它讓我在灣區(qū)交到了好多朋友,,讓我覺得灣區(qū)是個好地方,從而產(chǎn)生了去 Facebook 工作的理想,。這個理想,,現(xiàn)在就要實現(xiàn)了。
回到 CMU 以后,,我才真正開始研究「事件檢測」,。在研究的初期,我對「事件」還沒有明確的定義,,既想檢測比較底層的事件,,比如貓叫、狗叫,、開門,、關門,又想檢測比較高層的事件,,比如球賽,、婚禮,、聚會等等。這些高層事件的檢測,,是當時 CMU 正在參與的另一個研究項目 Aladdin 的目標,;直到 2016 年 Aladdin 項目漸漸收尾,我才把研究的焦點集中到底層事件的檢測上來,。之所以選擇研究底層事件,,是因為它們是檢測高層事件的基礎,在還檢測不了底層事件時就去檢測高層事件,,步子就邁得有點兒太大了,。而隨著深度學習用于語音識別的最后一滴水漸漸被榨干,人們自然會開始嘗試把深度學習用于別的東西的識別,,底層事件檢測的研究條件已經(jīng)成熟了:在 2016 年 3 月的 ICASSP 會議上,,芬蘭 Tempere 理工大學的研究組與我同時發(fā)表了用深度學習做底層事件檢測的論文。
2016 年,,我的研究一直被一個困難所困擾,,就是數(shù)據(jù)太少。我使用的數(shù)據(jù),,是實驗室里的工作人員手工標注的,,總共只有十幾個小時,根本無法用于深度學習,。2017 年 3 月,,Google 發(fā)布了 Audio Set 數(shù)據(jù)集,它拯救了我的研究,,讓我畢業(yè)的事情終于有了眉目,。Audio Set 這個數(shù)據(jù)集的特點首先就是「大」。它含有 200 萬條長度為 10 秒的 YouTube 視頻選段,,我光是下載這些數(shù)據(jù)就用了整整一個月,。這樣的大數(shù)據(jù),正適合深度學習,。但 Audio Set 還有一個重要的特點,,就是「弱標注」:它沒有標注每一個事件的起止時間,而只標注了每段音頻中的事件種類,。這種標注,,直接帶火了一個研究領域——「弱標注下的音頻事件檢測」,這也幾乎就是我的博士論文標題,。從此,,我的博士論文課題就明確了:爭取在已有的、利用弱標注做事件檢測的方法的基礎上進行創(chuàng)新,,做到比已有方法更好,。
剩下的事情,,就是與預期的博士畢業(yè)時間爭分奪秒了。這段時間過得十分刺激,。我原定于 2017 年 9 月博士開題,,實際開題時間是 10 月 9 日,還算勉強趕上,。今年 2,、3 月的時候,我又一次鉆進了一個細節(jié)的牛角尖(PyTorch 與 Theano 的性能差距),,浪費了兩個月的時間,。到了 4 月份,我注意到英國 Surrey 大學的孔秋強同學已經(jīng)做出了一種基于注意力機制的,、利用弱標注做事件檢測的新方法,。這讓我幡然醒悟,跳出牛角尖,,回到研究的主線上來,。我的論文中最重要的兩章之一,就是比較了若干種利用弱標注做事件檢測的方法的優(yōu)劣,,并深入剖析性能差距產(chǎn)生的原因。這一章是 2018 年 6 月底完成的,,與計劃的時間完全一致,;而另一章的核心問題,則是 8 月 16 號在散步時才想出解決辦法的,。9 月,,我一邊繼續(xù)跑著一點兒本該在 8 月就跑完的實驗,一邊撰寫畢業(yè)論文的文本,;而 10 月 5 號答辯用的幻燈片,,則是 9 月 30 號才做完初稿的。這場賽跑,,直到 10 月 26 日晚上,,我把畢業(yè)論文最終定稿、把代碼整理好才結束,。而此時,,距離我爸媽來美國看我已經(jīng)只剩 5 天了。
縱覽八年的博士生涯,,不難發(fā)現(xiàn),,我由于自身及外界的各種因素,走了不少彎路,。在三個研究項目中,,只有最后一個,,才有博士研究的樣子。偶爾,,我也會想:如果從一開始就做第三個項目就好了,,這樣我就可以在四年之內(nèi)畢業(yè)了。但我不會沉浸在這種情緒中,。正如吃完第三個包子飽了不代表前兩個包子就白吃了一樣,,我并不覺得我在 CMU 的前四年是荒廢了的。整整八年的學習,,讓我對語音識別,、深度學習等各個領域的理論基礎有了扎實的掌握?;ǜ玳_了一門語音識別課,,其中說話人識別那一講固定由我來講,學生們紛紛反饋說我講得比花哥清楚多了,。同時,,正是因為我涉獵過多個研究項目,我對與語音相關的多個研究領域都有了解并抱有興趣,。開學術會議的時候,,我總能挑出許多想聽的報告,馬不停蹄地輾轉于各個會場之間,。而這種深度與廣度,,則是不付出時間不可兼得的。
娛樂篇
CMU LTI 網(wǎng)站上的學生名單,,曾經(jīng)列出了每個博士生的年級,。有一屆「CMU 好聲音」的一張非官方宣傳海報,就把一二年級新生和七八年級老博士的名單并列在一起,,并配上了這樣一句廣告詞:「Sing while you can」,。一說起我博士讀了八年,可能大多數(shù)人心里想到的第一個字就是「苦」,。在漫長的博士生涯中,,總會有實驗不順利、論文被拒等遭受挫折的時候,;到了后期,,也會常常為畢業(yè)而發(fā)愁。不過,,認識我的人大概會知道,,我的身上似乎從來沒有散發(fā)出一種「苦」的氣息,而是整天樂呵呵的。八年下來,,我身邊的朋友們換了一撥又一撥,,有人戲稱為「流水的 CMU,鐵打的 Maigo」,。我跟朋友們把匹茲堡以及美國東北地區(qū)玩得有滋有味,,跟他們在一起,我很少感到寂寞,。這些朋友又以碩士生居多,,他們身上的朝氣,讓我保持了心理上的年輕,。
我在匹茲堡的第一年,,就加入了三個組織。第一個,,是 CMU 的中國學生學者聯(lián)誼會(CSSA),。CSSA 每年中秋的時候會舉辦一場才藝比賽,隨著「中國好聲音」的開播,,這個比賽也改名為「CMU 好聲音」,;每年春節(jié)的時候,還會舉辦一場春節(jié)晚會,。第一年的中秋,,我就默默無聞地當了一個吃瓜觀眾。春晚征集節(jié)目的時候,,我?guī)еゴ蛄艘淮吾u油,,沒想到我彈唱的《老男孩》獲得了一致好評。我在春晚現(xiàn)場與韓吉鵬同學一同彈唱了這首《老男孩》,,這讓我一炮走紅。我也順勢加入了 CSSA,,擔任網(wǎng)管,;不過我更重要的角色,就是每年春晚的固定演員了,。我也參加過幾屆 CMU 好聲音,,其中跟 @Gus 夏 合作的《The Sound of Silence》受到了最多的歡迎。
《The Sound of Silence》表演現(xiàn)場
第二個組織,,叫做 Pittsburgh pLayboycLub,。這是 CMU 和隔壁匹大的幾個學生組建的,最初就是打打狼人殺之類的桌游,。那時候狼人殺還沒有發(fā)展出那么多術語和套路,,一群小白在一起玩還是挺有意思的。除了狼人殺,我們后來還在一起做飯,、滑冰,、逛博物館,還坐灰狗巴士去華盛頓看了櫻花,。我的知乎頭像,,就是在華盛頓看櫻花時拍的。后來,,組織中的男生和女生兩兩結成了對,,活動就漸漸減少了;而我因為當時在國內(nèi)還有一個女朋友,,就成了剩下的那一個,。
第三個組織,是 Carnegie Library of Pittsburgh(我一般稱這個圖書館為「恐龍圖書館」,,因為館門口有一架恐龍雕塑)的日語角,。日語角每兩周活動一次,參加者有日本人,,也有像我這樣學習日語的外國人,。我在這里找回了在清華參加日語角的感覺??铸垐D書館有英,、西、法,、德,、意、俄,、日,、漢等多種語言角(對,還有漢語角?。?。除了日語角以外,我還曾在西語角和法語角跟外國人談笑風生,。
2012 年「世界末日」的時候,,我在一位小伙伴的號召下,跟他一起去歐洲旅了一次游,。這是我到當時為止少有的純粹的(即沒有比賽或者學術會議等目的的)出國旅游,。我們在西班牙和意大利各呆了一周時間,玩了巴塞羅那,、馬德里,、羅馬,、佛羅倫薩四個城市。這次旅游點燃了我出國旅游的興趣,。在后來的幾年里,,我跟小伙伴們一起或者獨自訪問了波多黎各、韓國,、新加坡,、夏威夷、坎昆,、阿根廷等地(嘛,,雖然有些并不算出國)。最初幾次旅游,,我都給世界各地的朋友們寄了明信片,,最多的一次是在韓國寄了 38 張。起初,,我還堅持每天(用當?shù)卣Z言)寫日記,,到最后終于堅持不下去了。想到寫出來的日記也沒有人看,,我轉而開始寫游記,,這篇坎昆游記我覺得寫得還是不錯噠。
我在波多黎各,、韓國,、新加坡寫的日記
2013 年夏天,我認識了我在美國最神奇的一位朋友——韓國大叔 Jason,。Jason 大約應該是個 65 后,,然而至今未婚;他的職業(yè)是碼農(nóng),,但跟我一樣愛好廣泛,。我跟 Jason 相識就是在恐龍圖書館的日語角,除了日語以外,,他還喜歡騎車,、保齡球、網(wǎng)球,、滑雪等多種運動,以及做飯,、唱歌和旅游,。這些項目,除了網(wǎng)球以外,,也都是我喜歡甚至擅長的,,我倆很快就打成了一片。Jason 還有很廣的朋友圈。他在來匹茲堡之前,,還曾經(jīng)在德州的奧斯汀和弗吉尼亞州北部華盛頓附近住過,。不管在哪里,只要他一在 meetup.com 上組織活動,,總能一呼百應,。這些朋友來自世界各地,年齡也從 20 歲到 70 歲不等,,單是跟他們聊天,,都很長見識。我在 CMU 的中國學生中,,可以算是跟非中國人交往較多的了,;其中很大一部分,都來自 Jason 的朋友圈,。
我從 2013 年秋天起,,跟 Jason 和朋友們一起在匹茲堡的多條自行車小路上騎車。此前,,我在匹茲堡騎過的最遠距離是 34 英里,,這是從松鼠山往返北公園(那里也有櫻花)的距離。跟 Jason 在一起,,我開始挑戰(zhàn)更遠的距離,,用了一年多的時間,達到了一天之內(nèi)騎 80 英里的水平,。2015 年 5 月,,我跟 Jason、室友 @ 鐘音 和一個印度小哥挑戰(zhàn)了從華盛頓到匹茲堡的整條自行車道,,全長約 335 英里,,我們用了四天時間挑戰(zhàn)成功。騎這條自行車道,,成了我一年一度的保留項目,;而 Jason 則可能一年騎多次,甚至在 2016 年用 9 天時間騎了一次往返,。
初次挑戰(zhàn)全程,,在「山頂洞」合影留念
Jason 在 2017 年初因為工作變動,又搬回了弗吉尼亞州,。不過他的各種活動,,依然在匹茲堡延續(xù)。我跟朋友們在匹茲堡依然每周打一次保齡球,;我還曾經(jīng)帶著許多 CMU 的小伙伴去弗吉尼亞州北部的韓國城大快朵頤,。這個月初,,我?guī)О謰屧诿绹鴸|北部旅游的時候,請 Jason 吃了一頓晚飯,。我爸媽說,,很感謝 Jason 帶我探索了許多新玩法,大大開闊了我的眼界,。
我跟我的妹子 @ 機器熊 的緣分,,就開始于 2017 年 4 月一同去韓國城游玩。她跟我一樣享受「讀萬卷書,,行萬里路」的體驗,。我們一起坐灰狗巴士去過紐約,還曾駕車穿越過死亡谷的沙漠,;更厲害的是,,她在僅僅訓練了一個多月之后,就跟我一起騎車從匹茲堡到了華盛頓,。我在匹茲堡的最后兩年,,我們常常跟一群以數(shù)學系博士生為主的小伙伴們一起玩。這群小伙伴里有一位野營達人,,我們跟著他又開發(fā)了不少新去處,。
我現(xiàn)在搬到灣區(qū)來了,在這里我永遠不會缺朋友,。跟我同時期入學 CMU 的碩士生們,,有許多都在這里工作了,甚至還有許多清華校友也在這里,。2015 年春天,,我在 Facebook 實習的時候,還參加了一個「周日早起登山」群,,又認識了不少人,。等到 12 月,我在灣區(qū)這邊安頓下來之后,,就又可以約起來啦,!
周日早起登山
我在跟妹子交流人生的時候,曾經(jīng)說出過這樣一段「名言」,。我說,,博士生涯(乃至整個人生),就像是在波濤洶涌的大海上航行,。大海的基調(diào)是悲苦的,,但我們卻是在一條游輪上。我們的角色,,既是掌舵人,,又是乘客。固然,,在關鍵的時刻,,我們需要掌控游輪的航向,直面洶涌的波濤,;但在平時,,我們不妨就做一名乘客,在平穩(wěn)的甲板上悠閑地曬曬太陽,,不必擔心船底下的海浪,。正是這樣的一種樂觀的心態(tài),支撐著我度過了精彩的八年博士時光,。