「好吧。20個!」
他仍然不為所動。不會吧?
彼得羅後來告訴我,我提的數字已經很接近了,因為他本來想著30種應該差不多了。但他注意到我倆之間的對話似乎變成了一場談判,而且我的態度非常慎重,於是他決定採取一種進攻的策略。
「我們搞100個吧,飛飛。」
彼得羅後來告訴我,當時我臉上的表情就像是被他判了死刑。這裡面涉及的工作量太大了,未來幾個月,我可能會喪失部分理智,還可能犧牲我渴望的社交生活(誠然這部分損失並不大)。但他的提議沒錯,一想到我們的模型在這種資源下的表現,我就會情不自禁地興奮起來。不過,為了不讓他得意,我盡力讓自己淡然地接受了這個提議。當然,要做到不露聲色,我還得再修煉幾年。
隨著我們的極限對話場景從記憶中逐漸消失,我對這個計劃的看法也發生了改變。是的,策劃100個類別的圖片,讓每個類別都包含各種各樣的例子,這比我這輩子做過的任何事情都要費力(包括週末在乾洗店幹活)。但這恰恰是我想要的。我的北極星在地平線上閃爍,比以往任何時候都更加明亮。
「喂,飛飛。」
「媽媽,爸爸還好嗎?店裡怎麼樣?」
「有個顧客要改衣服,他不停地說一個我不熟悉的詞,我覺得好像說的是縫什麼吧,但是……」
接著是一陣奇怪的停頓。「飛飛,我……」
她的呼吸越來越急促。我能聽到她在電話那頭的聲音,但她似乎無法做出回應。
「媽媽?媽媽?你沒事吧?」
壞訊息總是在最不合適的時候出現。兩年的研究生課程已經讓我的體力和毅力達到了崩潰的邊緣,在這個時候得知母親患上充血性心力衰竭,我的感受無法用語言來表達。
事後看來,幾個星期前她就明顯感覺不舒服了。
家裡的乾洗店基本上相當於母親獨自一人在經營,壓力巨大。我以為她只是需要休息一下,於是讓她來我這邊幾天。但下了飛機後,母親呼吸困難,面色蒼白,我這才意識到她的病情比我想象的要嚴重得多。顯然情況已經非常緊急,但父母都沒有醫療保險,我也不知該如何應對。驚慌之下,我給所有我能想到的人都打了電話,最終有人介紹了一位在爾灣一傢俬人診所工作的會說中文的醫生。雖然開車過去要將近兩個小時,但她是唯一一位願意接待自費患者的醫生,還好心給我們打了折。醫生很快就做出診斷:母親的心臟狀況十分糟糕。
薩貝拉先生依然是我的安慰之源。「你媽媽怎麼樣了,飛飛?」
「醫生說沒有生命危險。還好我們及時發現了。」
「謝天謝地,你還好嗎?」
我嘆了口氣,把一切都和盤托出——我們家最新也是最不得已的計劃。我們的乾洗店已經經營了七年,現在我們別無選擇,只能把店賣掉。當年,在所有其他選擇看起來都遙不可及的時候,乾洗店成了我們家的救命稻草,然而,由於母親的病情嚴重,就算父親能幫忙,她也沒有辦法再經營下去。雖然生意尚可,但我們賺的錢遠遠不夠僱人幫忙。是時候另謀出路了。
我還有一個更極端的決定:讓父母搬到美國另一端的帕薩迪納和我一起生活,我們再次共同面對在美國的生存問題。我的宿舍比我們在帕西帕尼的住處還要小,但這是我們目前唯一的選擇。
薩貝拉先生在電話那邊沉默了許久。「你還會繼續你的學業,對吧?」他似乎察覺到了一些連我自己還沒有去面對的東西。
「我不知道。」
又是一陣沉默,直到我笑著說:「你覺得我至少可以在報稅單上把父母申報成為我的受扶養人嗎?」
一個新的現實正在浮現,它如此複雜,動搖了我以物理學專業學生的身份走進普林斯頓大學報告廳以來所做的每一個決定。畢生的好奇心把我帶進了一個競爭激烈、薪酬低廉、無法保障長久職業生涯的領域,而我的父母現在需要我無法提供的支援。我每天都在追求自己的夢想,這讓我覺得自私至極,甚至過於魯莽。我的實驗室夥伴大多來自中產階級,有些甚至家境非常富裕。我越是反思與他們家庭之間的差異,就越難以否認這樣一個事實:成為科學家是一種奢望,我負擔不起。
但故事並沒有到此結束。
幾周後,一位同學提到,世界知名管理諮詢公司麥肯錫的合夥人過來招聘了。他們正在尋找一個實習級別的分析師,這個職位將提供豐富的在職學習機會,這意味著常春藤盟校裡只要跟數學和電腦科學有一點聯絡的研究人員,都可以成為理想的候選人。在真正絕望的時刻,這似乎是一個值得考慮的機會。
當然,我以前也經歷過這種情況。我的學術目標和現實生活之間一直存在衝突,我很想把這次事件也當成最近的一次小衝突。但這一次,我內心科學家的聲音與以往不同。在母親的健康狀況受到新一輪的打擊後,它變得不那麼堅定,就連我內心那個特殊而戒備的部分也開始屈服了,我知道自己不能永遠無視現實。我把猶豫拋到一邊(這一舉動現在竟然出奇地容易),買了一套遠超我預算的衣服,小心翼翼地把標籤藏在領子下面,這樣穿完後馬上就能退貨。我申請了一次面試。
跟我預料的一樣,一切都感覺很不自然,但我無法忽視的是,命運似乎從一開始就很眷顧我。這可能是我第一次有機會在學術世界之外以一個完全成熟的個體身份展示自己,我充滿了平日裡沒有的信念。當然,我是個不折不扣的書呆子,但這只是我的一面而已:多年的奮鬥鍛鍊了我,讓我擁有其他候選人從未有過的拼搏精神,以及一種實用主義本能(我現在才意識到,這種務實使我與眾不同)。然後,一個近乎滑稽的巧合出現了。
麥肯錫公司的代表首先說道:「我們喜歡圍繞假想的商業場景來組織面試。當然,沒有人指望你真正瞭解這個行業,所以就把它當成一種創造性的練習。我們只是想了解你的直覺,你知道,就是分析推理之類的東西。」
很簡單,我想。
「我想讓你想象你是一位經理,比方說,服裝業的經理。」
哇。
面試開始時不過是例行的評估,卻意外地逐漸演變成一場內容豐富的對話,從我對物理學的熱愛和對智慧奧秘的痴迷,到洗衣店供應商的世界,再到我作為乾洗店主管的業餘職業生涯,等等。儘管感覺很不可思議,但談話似乎進行得非常順利。
招聘人員顯然也是這樣認為的。麥肯錫公司立即給了我肯定的回覆,並決定將我的實習機會轉為長期的正式職位。
我的心中五味雜陳,難以言表。一方面,我將要拋下這麼多人和事——加州理工學院、彼得羅、克里斯多夫、吉騰德拉、我的同學們和我所知道的一切,最糟糕的是,要放棄追求一個具有歷史意義的夢想的天賜良機,放棄我的北極星,一想到這些,我的胃裡就感到一陣陣難受。另一方面,我親眼看到父母多年來瀕臨絕境,越來越覺得他們是為了我才做出這麼大的犧牲。這份工作似乎讓我終於可以卸下長久揹負的重擔,而我卻從未充分認識到這個重擔的分量。為了我能來美國,母親已經付出了一切。我知道現在是她最需要我的時候,我終於可以報答她了。我徑直回到家裡,準備分享我認為的好訊息。
「飛飛,你穿這個去實驗室了嗎?」
我低頭看了看——我都忘了自己還穿著面試的衣服。「哦,是的。」我敷衍一笑,「別擔心,這套衣服特別划算。」我說著,向她展示了依然完好無損的標籤。
「發生了什麼事?」她更加困惑了。最近的生活太混亂了,我還沒來得及跟父母說我的計劃。
「媽媽,我們得聊聊。」
我跟她說了面試、工作機會和其他所有的一切,告訴她待遇、起薪,以及在我還沒來得及答覆之前,他們就已經提出了優厚的待遇。我解釋說,無論從哪個角度來看,這都是通往每個移民母親都希望自己孩子擁有的職業生涯的捷徑。她禮貌地聽著,但我還沒說完,就在她臉上看到了那種熟悉的表情。
「我們真的要再次討論這個問題嗎?」
「媽媽,我知道,但聽我說——」
「我瞭解自己的女兒。她不是管理顧問,或者其他什麼職務。她是個科學家。」
「想想你的身體吧,媽媽!想想我們的開銷。搞學術能給我們帶來什麼呢?」
「飛飛,我們走到這一步,不是讓你現在放棄的。」
「這不是放棄!這是我夢寐以求的工作,一份事業,可以讓我們擺脫目前的困境。看看我們現在活成什麼樣了!三個大人住在一個宿舍裡!」
我不確定自己是否相信這些話,但它們似乎是對的。母親停頓了一會兒,也許是在思考這些話,然後回答說:「飛飛,你一直在說自己走的路很‘自私’,就好像你追求科學是在犧牲我們一樣。」
「我怎麼能沒有這種感覺呢?我現在本來可以養活咱們全家,而且——」
「你沒明白我的意思。這從來就不是你一個人的路。從一開始,這就是我們全家的路。不管你是註定要成為科學家、研究員,還是其他我沒有辦法想象的職業,也不管你能不能從中賺到錢,從我們的飛機離開上海的那一刻開始,我們全家就一直在為這個目標努力。」
我不知道該說什麼。
「我再說最後一次:我們走到這一步,不是讓你現在放棄的。」
她是對的。她總是對的。這一次,不知什麼原因,我終於聽進去了她的話。我再也不會質疑自己的道路了。
「嘿,那狗叫什麼?」吃午飯的時候,我隔著空蕩蕩的實驗室問一位同學。
「哪個?」
「就是身上有棕色和白色的毛,可能還有點兒黑色,耳朵耷拉著,特別可愛的那個。天哪,我一點兒也想不起來這種狗的英文名叫什麼了。」
我們在思考只有研究生才敢面對的宇宙級問題。
「我知道是字母b開頭的……等等,別告訴我……」
我伸手去拿書桌上的那本英語詞典。我成為美國人已經將近10年,儘管網際網路逐漸取代了我們生活中的許多物品,但這本字典仍然要偶爾充當我的救命稻草。我翻了幾頁,一直往下掃視,直至看到……
「對,是beagle!小獵犬!」
「好吧,小獵犬怎麼了?」
我停下來,又看了看那一頁。我都忘了自己為什麼會提起這件事,但沒關係。我突然意識到另外一件事。
我和彼得羅的目標是建立一個包含100個影像類別的資料集,但我們一直在苦苦思索如何決定應該包括哪些類別。我們擔心如果由我們自己來選擇,結果可能會帶有偏見——甚至在潛意識裡,我們會傾向於選擇我們知道演算法更有可能成功識別的影像類別。
我眯起眼睛,更仔細地看了看詞典。詞典對某些詞的解釋有一種優雅的意味。大部分詞是名詞,強調的是有形的、看得見的東西——換句話說,就是物體,或者像小獵犬那樣的動物。這些看上去正是我們想要的類別。而且每個字母開頭的名詞數量基本是均勻的,我覺得分佈得很公正。於是我想:讓詞典來替我們做選擇,如何?
一切堪稱完美。這麼多年我一直帶著這本板磚一樣的大詞典,現在它竟然成了我作為計算機視覺研究人員實現理想抱負最有用的工具。看來,有時候移民身份還是有好處的。
拋開早期的靈感乍現不談,建立完整的資料集耗時漫長、進展緩慢,而且無聊乏味。我們花了幾個月的時間手動查詢影像搜尋引擎,挑選出最好的結果,然後裁剪和調整照片的尺寸,確保一致性。一個由三到四名本科生組成的小型標籤團隊也參與到其中,已經搬來與我同住的母親也想辦法幫忙。
雖然影像整理是個苦差事,但這個過程讓我深受啟發。在對視覺世界的多樣性進行深入思考之後,我開始以一種前所未有的方式看待這個世界:視覺世界本身是單一的現實,其中包含了手風琴、攪拌機、手機、龍蝦、比薩、停車標誌、雨傘和其他各種各樣的東西。這是一種詩意的存在。我意識到這個世界是多麼豐富多彩、變幻莫測,而我們留意到的細節卻少之又少。
浩大的工程終於完成。我們的影像集於2004年完工,成為有史以來為機器學習配置的最大規模的影像集合,裡面有超過9000個影像,分佈在100個類別中。這是前所未有的,我迫不及待地想看看這個影像集能解鎖什麼奧秘。我們覺得自己被賦予了前所未有的力量,就好像突然擁有了一件超自然的神器,將賦予我們的創作難以想象的能力。另外,我還忍不住實現了一個細節:我獨自完成了一個新類別的影像整理,雖然耗時耗力,但我想用這種開玩笑的方式「嘲笑」導師。如果彼得羅想要100個類別,我就給他101個。
新資料集的官方名稱叫「caltech101」(加州理工學院101類影像資料集),這套訓練影像集內容極其豐富多樣。我們現在的模型利用了caltech101,效能顯著提升,於是我們立即發表了一篇關於單樣本學習論文的後續文章。無可否認,模型準確度的提升只是在原來基礎上的增量,因此它並沒有像第一篇論文那樣獲得突破性成功,至少在一開始沒有。但這個模型樹立了更加持久的典範,成為其他開發團隊效仿的榜樣。模型繪製的效能曲線成為行業基準;在六個月內,來自世界各地的研究人員都將我們的論文引作標準,其中很多人的模型還超越了我們的模型。發表自己的研究成果固然令人興奮,但知道自己在為他人的構想做階梯,哪怕只是在他們成功推動該領域發展的過程中扮演了微不足道的角色,也讓人無比激動。
很明顯,加州理工學院的生活不會輕鬆,但我對這裡的感激之情比以往任何時候都更加深厚。我們賣掉了乾洗店,這是我們來到這個國家以來,母親第一次有機會休息(我也很開心——以後再也不用為了什麼漿洗過度的襯衫裙接到長途電話了)。最重要的是,我對學業充滿了熱情,幾乎付出了全部努力,以至每天都會感到筋疲力盡。
幸好,在加州理工學院,不難找到像我這樣痴迷的人。我在彼得羅的辦公室外就遇到了這樣一個人。當時,我聽到兩個明顯是義大利口音的聲音,我很快便得知,除了我熟悉的彼得羅,另一個聲音來自我尚未謀面的研究生同學。他身材高大,說英語時義大利口音特別重(相比之下,彼得羅可以說沒什麼口音了),他滿頭亂蓬蓬的捲髮,在房間的另一頭顯得格外顯眼。那天他正好趕時間,在彼得羅介紹我們彼此認識之後,我們的第一次見面就匆匆結束了,很快我就忘了這件事,不過我記住了他的名字:西爾維奧。
西爾維奧會來參加我們的實驗室會議,很快就吸引了我的注意。跟我一樣,他經常以討論藝術作品作為演講的開場白。他很喜歡埃舍爾的《手與反射球體》和維米爾的《戴珍珠耳環的少女》等作品,而這些作品都與他在研究中探索的視覺世界的各個方面有關——扭曲表面反射的輪廓、金屬表面的閃光,以及日常物品的三維本質。當然,這些賞心悅目的畫作很快就讓位於堆積如山的方程式。我們在一起的時間越長,我越意識到我們之間有一個共同點,那就是無論在什麼情況下,我們都無法抑制自己的好奇心。
「快看!看那輛摩托車!」他興奮地大喊,完全破壞了原本只是一次輕鬆校園散步的氣氛。
「怎麼了?」
「你看到鍍鉻排氣管了嗎?看到反光了嗎?這裡麵包含了很多資訊。你看到了沒?排氣管的彎曲方式?」
「對,我明白你的意思。」
「但問題來了——到底什麼叫‘反射’呢?反射只是表面周圍世界的扭曲影像而已!這個扭曲的方向跟排氣管的彎曲方式幾乎完全相反,但我們卻能夠從反射的影像中獲得足夠多的資訊,毫不費力地在大腦中想象出排氣管的形狀。這就是我們想要設計的演算法。」
我心想,天哪,這傢伙真是個呆子——不過,我倆呆到一起了。
我是兩個實驗室的學生,一個是彼得羅的電子工程實驗室,一個是克里斯托夫的計算神經科學實驗室。我每週跟他們分別見一次面,參加期刊俱樂部,一起評論神經科學和電腦科學方面的最新文獻。另外,因為兩個實驗室都免費提供食物,所以我的飲食狀況比預期的要好。然後,西爾維奧出現了,我們陷入熱戀,雖然兩個人都特別忙,但有限的閒暇時間總會在一起度過。
隨著我在加州理工學院的歲月流逝,另一種東西在我內心深處紮根發芽。我反思了我們所做的一切:我們的心理物理學實驗,我們對單樣本學習演算法的研究,我們對caltech101資料集力量的展示,我們閱讀的幾十年的文獻。我同時跟隨兩位導師,他們帶領我在不同的道路上探索,讓我擁有了非常特殊的研究生教育。我開始理解我們工作的優雅之處。我們所做的一切都絕非偶然;我比以往任何時候都更加確信,分類是連線一切研究的核心思想。我也相信,事實將很快證明,分類在理解視覺(甚至整個人類智慧)方面起著至關重要的作用。
那麼,為何進展依然如此緩慢呢?
總結成一句話來說:因為我們的演算法出現了資料科學中所說的過擬合現象(overfitting)。也就是說,無論演算法設計得多麼巧妙(我們探索了所有能找到的演算法),即使是那些在測試中表現最好的演算法,在遇到新的刺激時,也會很快出現問題。那些看似經過有效訓練的演算法,卻無法將它們所學到的知識,或者說它們本應學到的知識,應用於現實世界。從本質上講,這與人類的感知能力恰恰相反。人類的感知能力是由泛化能力決定的,泛化能力增強了我們的靈活性和適應性,甚至讓我們富有創造力,讓我們能夠隨時利用新想法的力量銳意進取,而不是停留在過去的經驗中止步不前。任何缺乏泛化能力的生物都會很快被自然界的不可預測性擊垮,因此這種能力是生物進化思維的關鍵特徵。然而,對機器來說,泛化在很大程度上仍然是遙不可及的。
在我們試圖解開過擬合之謎的過程中,演算法本身是一個自然的起點。具體來說,需要研究演算法如何從訓練資料中學習。我們探索的大多數演算法都非常複雜,無法手動配置,用專業術語來說,是「計算難以實現」。其中包含的無數引數的排列組合範圍龐大無比,就像一個延伸到視野之外的旋鈕和開關控制面板。相反,自動化技術通過長時間的迭代試錯,可以接近理想的引數平衡。多年來,相關技術的改進一直是計算機視覺研究的重要支柱。
但caltech101鼓勵我們更深入地思考資料,這反過來又激發了我們的好奇:等式這一邊的資料是如何導致過擬合問題的呢?畢竟,如果沒有資料,「機器學習」中的「學習」物件就不存在了。儘管資料的重要性不言而喻,但這個話題缺乏物理學、數學或統計學所具備的精確性。像彼得羅和吉滕德拉這樣的研究人員是為數不多的幾個對資料進行了深入探索的人,我認為他們形成了理解這一問題的最佳直覺。我們發表的論文似乎表明,隨著資料集的增大,我們的演算法的能力也相應提升——至少相對而言是這樣。即便如此,資料的篩選感覺更像是黑魔法,而不是一門科學。
我開始思考我們可能犯了哪些錯誤。也許應該調整訓練影像的方向?或者增加資料的多樣性?是解析度的問題還是相機質量的問題?或者,有沒有可能101個類別都不夠?——我都不願意往這個方向想,更不用說將它說出口了。我對這些問題思考得越深入,它們就越明顯,甚至是緊迫。但據我所知,在視覺研究領域還沒有人提出這些問題。
我們的優勢是資料量,可就連資料量的問題也顯得撲朔迷離。我不得不承認,其實101這個數字並沒什麼特別之處,它不是經過證實的結果,甚至不是從理論中推匯出的原則性估計。這只是我和導師在擺得像霍克尼畫作一樣的午餐盤上玩「膽小鬼遊戲」的結果。這並不是突破性進展的前奏,難道這真的有那麼令人驚訝嗎?我再次回到文獻中,這次是懷著復仇的心情。如果不是101個類別,那應該是多少個?200個?500個?還是1000個?我想,拜託,千萬別是1000個。我下定決心,無論如何都要在茫茫文獻中找到一絲線索。
我費了一番功夫,終於找到了一些資料。這些資料甚至來自一個熟悉的來源——現代視覺研究成果的主要貢獻者之一歐文·比德曼。他的這篇論文發表於1983年,我上次讀這篇文章已經是好幾年之前的事了,應該是在凌晨兩點跟其他一堆文獻一起瀏覽的。現在,我們已經對單樣本學習進行了大量探索,並真正實現了視覺分類的夢想,從中學到的一切讓我開始以一種嶄新的視角重新審視這篇論文的觀點。
比德曼在論文中探討的話題與我的研究領域並不直接相關,但其中的內容卻非常有趣。他討論瞭如何利用基本幾何形狀的知識來識別複雜的物體。在論述和推導結論的過程中,比德曼試圖回答一個看似簡單的問題:世界上大約有多少獨特的「事物」類別?也就是說,如果把所有的事物都相加——包括「搖椅」「企鵝」「跑車」「拉布拉多」「山」和其他所有東西——總數會是多少?
這個問題聽上去更像一個謎語,而不是科學挑戰。但是,比德曼採用了一種基於對英語語言的分析的獨特方法,令我非常欽佩。單詞在幫助我們對所見事物進行分類方面發揮著基礎性的作用,因此他推斷,對所有離散且可量化的事物的單詞(即英文中的可數名詞)進行計數,將是一個很好的起點。然後,他又計算出每個可數名詞有多少個真正不同的變體,就像「杯子」這樣單一類別的物體可能包括帶華麗把手的白色茶具、色彩鮮豔的咖啡杯和普通的透明玻璃杯。由於某些類別比其他類別更具多樣性,他通過假設一個合理的平均值將問題簡化為一個簡單的乘法問題,從而計算出總數。
其中的邏輯簡單明瞭,但他的想法之所以如此具有顛覆性,是因為其規模之大。這個想法立即揭示了我們的研究是多麼有限,我們的想象力是多麼有限,而這兩者之外的世界又是多麼廣闊。這篇論文是一份模糊的影印版,但感覺就像比德曼在直接對我說:「你想要突破嗎?這就是代價,這就是需要付出的。」
比德曼的數字可以為我們研究人員所追求的雄心壯志提供藍圖,而這個數字是巨大的。無比的大。不是1000個,不是2000個,甚至不是5000個。當然,更不是我們花了幾個月蒐集的那101個類別。
是3萬個。
我完全不知道要對這個數字作何感想。建立caltech101已經讓我感覺像是一項無比艱鉅的任務,而現在又多了兩個數量級。但我已經無法迴避這個問題了。他的思想極具價值,具有真正的洞察力,其能量幾乎在通過印在紙上的數字迸發出來。更重要的是,我知道無論這個數字註定要帶我去哪裡,我都將獨自前行。我的研究領域僅僅專注於演算法,但我對資料思考得越多(尤其是大規模的資料),我就越意識到,這是一個完全未開拓的領域。世界已經選擇了它的方向。但我的北極星正引領我向另一個方向前行。