學期結束後,因為就讀的 program 是研究導向,所以還有最後的暑期研究生活。當時就一邊應付著 research project 的需求,一邊做著自己的研究。那時主要在做用 Generative Adversarial Networks 類型的 loss 訓練出來的 language models。在加入許多怪奇的技巧後,可以在傳統的 evaluation metrics 上達到跟一般 MLE 訓練的模型類似的效果,遠超過其他 GAN 訓練出來的 LMs。但是實際上除了他的 loss 看起來像 GAN 以外,其實沒什麼特別的優點,還不如用傳統方法 MLE 訓練就好,所以其實好像沒什麼應用面的價值。後來沒能成功在暑期假期間將其寫成論文投稿,之後也因為沒有繼續做 NLP 研究了,就把他擱置了。
感謝 Peter 等同學陪著我討論,並且嘗試各種奇怪的想法,那段日子感覺真的很有趣。因為有了這樣的經驗,終於開始有了信心,覺得自己對機器學習的能力,或許並不像自己想的那麼差呢。若沒有這段期間的爆衝,大概我就會留下遺憾了。但經過這樣一番嘗試之後,覺得自己終於成功了使出了全力,進入了心流狀態。只可惜就算這樣結果還是沒有發表出什麼成果,但這樣也就滿足了,可以往下個目標邁進了。
另一方面,新學期開始後,接下了 TA 的工作,雖然理論上應該會變得更忙碌。但因為本來在頭痛循環下本來就只有約一半的時間可以有生產力,而這學期幾乎 99% 都可以有生產力了,所以似乎也還算忙得來。反而因為當了 TA 跟同學們以及其他 TA 有了更多的互動,因此留下了許多不錯的回憶。
另方面,開始為了求職,進入了瘋狂面試的時期。雖然不是完全順利,像是投 Google 的時候居然履歷關就被拒了,實在十分遺憾。但在一些小公司面試的時候,雖然一些 ML 的問題不像 LeetCode 一樣可以刷題準備,但我似乎也答的不錯,以至於拿到了些許 offers,還有些面試官讚譽有佳。這讓我對 ML 的信心又增添了不少。
在 2017 到 2018 年間,我以 PhD 為目標申請了許多學校,最終選擇了 CMU 的 Master of Language Technologies Program 就讀。說起來這樣的結果實在也不是原本的我所能預期,實際上,最早我本來是想先去當研究助理的,但後來跌跌撞撞的就做了這種選擇。這背後的故事,得從一開始的困境講起。
做研究助理的這個打算,從現實的考量來看,有不少的壞處。首先,這會讓我收入降低的時間拉長,減少我的總收入。再者,如果最後發現我不想做研究的話,那麼不論是要申請 CS MS 還是要直接找國外工作,做研究助理的這個經歷不但沒有幫助,恐怕還只會有壞處。事實上,如果我當時真的想申請 CS MS 或者是直接找國外工作的話,最好是當下馬上就這麼做而不是先去當研究助理。反之,如果最後發現我想做研究的話。雖然如果有好的發表可能真的有幫助,但如果發表很差,則或許還不如直接申請的好。再者,如果打算要發表很多,就表示我應該要在當研究助理的期間盡其所有,全力以赴。但這其實跟想減少壓力觀察身體狀況是直接矛盾的。
但說到底,我實在是不敢在尚未理清自己身體狀況到底為何的情況下貿然去念個 PhD,總覺得大概有九成以上機率根本就念不完。或者更悲觀的想,最糟的 worst case 其實是明明無法唸完,卻將自己困進流沙之中硬要唸完,最終的最糟事態可能是一個糟到必須不顧一切也要避免,足以讓其他衡量標準全部都失去意義的最終極的糟糕事態啊。一想到存在著這個 worst case scenario 就無法下定決心了。
反之,如果只是念個 MS 的話,就算真的遇到 worst case scenario,頂多可能就是休學回台了。至於為何說是個對真實目標稍劣的選項呢。這也不難理解,因為現實的來說, CMU MLT 是一個戰鬥的地方,不是一個用來理清自己疑惑的地方,也不是一個用來休息的地方。而且根據學長姐的說法恐怕也不是一個能好好做研究的地方。假設我是選擇去當研究助理的話,最後結論到底是想不想做研究還能期望有個五五波的可能性,但當我選了 CMU 這個選擇的時候,內心就忍不住覺得,最後的結論大概有九成的機率結論會是不念 PhD 了吧。
雖說如此,但總有那一成的機率或許會突破困難。因為我老是碰到什麼事都先設想 worst case scenario,所以或許能期望事情能比自己想像的更好吧?另一方面,其實就算最後是那九成的結果,其實我也達到目的了。因為我知道那時我應該就會解除對機器學習的遺憾,而能往下個目標邁進了。這聽起來其實有點弔詭,但有的時候,雖然明知會失敗,但還是非得要實際的去失敗一次看看才能甘心。而我想要的也許就是那個甘心而已呢。
整體而言感覺是學到許多有趣東西的課,作業的部份難度適中,寫起來還算有成就感,也不至於花去太多時間,給分也相當不錯。對筆者來說比較新鮮的部份是 Game Theory 和 Social Choice 之類的主題,還有像是 optimazation 的部份也學了不少。或許可為未來進修進階 Convex Optimization 課程打好基礎。筆者覺得算是值得一修的課。