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