2023年我從政大統計系畢業,當年9月,我開始台大網媒所的碩班生活,這對我是全新的環境和領域,一想到自己必須在兩年後完成碩士論文,就有點焦慮不安。
當我點開Top Conference的論文清單,發現自己連標題都看不懂;聽著學長姐向教授報告研究進度,完全不知道他們在說什麼。
當時我的感覺是:「我怎麼可能在一年內想出一個題目,更別說還要在其中做出創新與貢獻?」我感覺自己就像一個從未見過海的人,卻突然被丟進學術研究這片大海中。

這是我2024碩一快結束時,指導教授在黑板上寫下的字,要我們暑假過完給他proposal的內容,當時我看完真的很茫然。
- Issues
- Current states
- Problem to be delved
- Research path (roadmap)
- Possible contributions
我在網路上查了好多文章,卻總是安撫不了我面對研究所生活的焦慮,於是我決定把在研究所過程中的思考與行動記錄下來。而你現在正在閱讀的,就是用當時這份紀錄整理而成的文章。
找研究主題(Finding the topic)
💡 活動:大量廣泛的文獻回顧
- 認識自己
- 認識研究前沿的整體樣貌
認識自己
每次被教授問「所以你對什麼領域感興趣?」我就很緊張,因為我真的不知道,而且每個領域對我來說都很困難。
我知道我必須從「找到我真正有興趣的研究題目」開始,但是對我而言,從零開始想出一個題目、並對它產生興趣幾乎是不可能的,我必須從自己過去做過的事情出發。
於是,我把所有修過的課、做過的專案全部列出來,試著找出其中的共通主題,我感覺自己就像在考古,雖然這些課不見得是我真正感興趣的,但至少我曾經在選課階段選擇了他們、並至少做了一些最基本的努力。
回顧之後我發現,我主要讀的論文集中在電腦視覺領域,例如學習式壓縮(learned compression)、對抗式攻擊(adversarial attack)以及浮水印(watermarking),所以媒體鑑識(media forensics)或許是一個可以繼續深入探索的大方向。
雖然還是很模糊,但至少我排除掉了LLM、還有CV領域的一大部分,這至少是一個開始。
這邊我想告訴過去的自己:研究主題不等於解決問題所使用的工具。
這句話是什麼意思?像是「媒體鑑識」是一個大的研究主題,在這個主題之下有許多用來解決問題的工具——模型架構、數學公式、對抗式攻擊、浮水印、隱寫術(steganography)——他們都只是工具,而不是研究主題本身。
在選題階段,只要關心的是「為什麼要研究這個主題」(why),至於「要用什麼工具來解」(how),那是之後才需要決定的事情。
事後看來,確實不用在這個階段,過度擔心對底下的技術熟不熟悉,而是先找到一個覺得還算有趣的主題就好了。
認識研究前沿的整體樣貌
找到題目很難,但真正困難的是:如何站上研究前沿,並理解其他研究者正在做什麼。
我採用了一個名為「相鄰可能性(adjacent possibility)」的概念,這個想法來自 Steven Johnson 在 Where Good Ideas Come From 中提出的。意思是創新並非憑空靈光一閃而來(雖然事後看起來常常像),而是來自於辨識研究前沿中的知識缺口,並嘗試補上那個缺口。
一開始,我天真地以為可以從該領域的經典論文讀起,一路按時間順序讀到最新進展,就能夠掌握整題的研究前沿。
但對一個研究菜鳥來說,這種「由下而上(bottom-up)」的策略很快就讓我迷失方向,經典論文衍生出大量研究分支,而在我花了大量時間和精力,試圖了解複雜公式、理論背景之後,卻發現自己依然離當前研究前沿非常遙遠。
有時候真的不用從最理論的東西開始讀,先了解這個領域的現況是比較重要的
我的調整:「由上而下(top-down)」的路徑
在浪費了好多時間漫無目的的閲讀論文後,我改採相反方向:以問題為核心的「由上而下」策略。
我直接打開最近Top Conference的論文清單,Ctrl + F直接查詢與媒體鑑識相關的關鍵字(e.g. Deepfake, Watermark),快速篩選出目前這個領域的研究趨勢。透過快速掃描論文的摘要與介紹,我先建立起對整體研究現況的粗略認知。

這讓我跳過大量的數學理論,直接來到「所以這個領域目前都在研究什麼?」。然後挑選了一篇可能讓我感興趣的key paper。
再從這篇key paper延伸出10-20篇參考文獻,這些次要的參考文獻大概看個半懂,能夠理解key paper就好,而參考文獻的參考文獻除非很有興趣再繼續追,但大概每一層理解程度都可以再減半,這樣可以一次理解一批。這個方法是我最喜歡的,因為可以快速從自己最有興趣的主題開始,追到滿足就可以停,這個階段的重點是了解研究的進展。
我選擇key paper的標準很單純:這篇論文必須有程式碼。
我知道這很偷吃步,但老實說我的目標是能夠畢業,不是為了發頂級論文。對我來說有程式碼真的太重要了,我常常因為主題新穎而選擇某些論文,但讀完之後卻完全不知道這些方法實際上是怎麼實作的,如果要作為研究主題,第一個大魔王勢必要從重現結果開始。
對我而言,程式碼就是single source of truth,不管他論文寫得天花亂墜,我馬上可以用debugger跑一次模型實際上是怎麼運作的,可以馬上開始調整參數測試是不是有他說的這麼好。從零實作對我來說不切實際,所以我才選擇從一篇有「附帶程式碼」的論文開始。
找問題(Finding problems to be solved)
💡 活動:聚焦式文獻回顧與練習形塑問題
在確定要深入的研究主題後,下一步就是找出一個具體可解的問題,以及這項研究能帶來的貢獻。
為什麼是這個問題?以及可能的貢獻
問題的形成本身,就是一項需要刻意練習的能力。
擅長找問題的研究者,從來不會煩惱「接下來要做什麼」。而像我這種研究菜鳥卻覺得找題目很難,因為一旦要對某個問題投入,就會陷入「先有雞還是先有蛋」困境:
我對這個領域還不熟,卻要在這個領域中找一個問題來解?
那時我對「問題形成」進行了刻意練習。我花了幾天,特別把每個研究子問題的key paper找出來。然後我閱讀每一篇論文的摘要與引言,並把作者試圖解決的「問題」寫下來,確認自己真的理解作者的假設與問題設定。
在這個階段,我只在乎作者的問題設定是什麼,不在乎他是怎麼解的
之後,我會先嘗試猜測作者可能採取的解法,再去讀方法(methodology)章節,看看自己的推測與實際做法差在哪裡。
我會簡單記錄像是網路架構、以及作者用來建立系統的關鍵技巧,因為我需要在腦中建立一個粗略的模型,理解「一個成功解決這個問題的解法,應該表現成什麼樣子」。
把這一系列關鍵論文的論述用自己的話摘要下來,未來寫literature review時拿出來拼湊會輕鬆很多,不然絕對讀完就忘
動手做(Get your hands dirty)
💡 活動:提出假設、動手驗證、搜集新資訊、報告接受回饋,反覆進行
雖然這篇文章是線性敘事,彷彿我完成一個階段才進入下一個階段,但我想要強調「研究過程絕非線性的」,事實上「每天都在撞牆」,還找不到研究題目時,覺得自己一整個月都在浪費時間都很正常,但重點就是要「動起來,持續搜集資訊」。
用小賭注推進進度(Progress with little bets)
值得一提的小技巧是:實際跑跑看原始碼,甚至嘗試攻擊作者提出的方法。這些實驗過程中得到的觀察,會在問題形成階段變成很有價值的線索。也可以把這些實際執行的結果做成報告,下次meeting跟學長姐更新,學長姐就能夠給很多feedback。
雖然很像在瞎試一通,但我真的覺得讀10篇論文不如實際跑1篇論文的程式碼,實際執行後就會有很多想批判的點,像是「誒為什麼作者這邊設定20? 我改改看還能夠跑嗎?」,這些都有可能變成自己的研究題目。
- 實驗的專案規模要小,小到能在一個月內完成
- 專案必須迫使產生新資訊(例如更了解這個模型,提出潛在的弱點),方便你蒐集具體回饋
其實研究問題就在這些「動手去驗證」時逐漸清晰的,覺得哪裡怪怪的,就設計小實驗去驗證,搜集結果看看是「符合預期」,還是「比作者宣稱的差」,這時候就可以拿來報告,讓實驗室的學長姐和老師一起brainstorm出可能的方向。
我就是在亂試、嘗試替換小模組、攻擊作者的方法、用不同設定下reproduce的過程中,先從作為一個攻擊者,才找到一個潛在的改進方向,最後成為我真正的研究題目。
實驗設計(Experimental design)
到了實驗設計這個階段,大致上已經確認提出來的方法能夠做出來。因為前一階段的小賭注已經踩了很多雷,「實驗設計」這個階段主要是把大致可行的方法做的更嚴謹和完整
有了上述小賭注帶來的初步結果,就比較有信心能夠提大方向的proposal,而不是完全沒有結果就跟老師承諾自己要做某個改進。
這時候就可以正式開始完善自己提出的方法,並開始重新做原始論文中的實驗,看結果有沒有比原始論文好。
這時常常會發現只要改一個部分,就可能導致A部分進步、但是B部分退步,這時候就要去想原因和解釋,或是增加限制條件,重新界定自己提出來的方法適用範圍和前提是什麼。
實驗設計方面我沒有太多的創新,而是先找了許多標竿的論文,比較出他們共通都有做的實驗(取交集),看他們用的資料集是什麼、metric是什麼、benchmark是什麼,然後開始規劃把這些實驗跑完並報告結果。
寫論文與彙整結果
上述的工作會經歷好幾個iterations,老師會批判我做實驗的方式,或是要求更嚴苛,慢慢把研究修得更完善。
在過程中最重要的是把過程產出的數據都確保「能夠reproduce」(像是保留實驗的shell scripts)、「結論有留下來」(像是保留meeting的簡報),每個決策點都盡量留下紙本的紀錄(像是自己的實驗紀錄),方便自己在彙整階段不會忘記為什麼這樣設定。
資工系的碩班歷程,只要有實驗結果,寫論文反而比較輕鬆,而沒辦法順利畢業的情形通常是做不出宣稱的實驗結果,導致遲遲無法寫論文。
而其他領域的朋友常常是寫論文最困難,而不是做實驗,因此可能無法參考我的歷程,這部分可能要請教同領域的學長姐才會比較準。
準備口試簡報
最後準備口試反而是比較輕鬆的,我的做法是找幾個朋友來聽(實驗室學長、實驗室朋友、資訊系但不同領域的朋友),這時候就可以挑出自己簡報做得不好、口述不容易理解的部分。
我覺得找不同領域朋友聽其實很有幫助,因為口試委員不一定和我同研究領域,所以要練習把自己的研究能夠講的清晰易懂,這時候就找不同領域的人聽過才能確定。
心路歷程的結語
這段旅程的感想,我就留在走一趟研究所的旅程這篇文章裡了。這篇文章主要以實用性為考量,因此就在這裡畫下句點了!
當時我在留下這些紀錄時,從沒有想過自己真的會發佈文章,只是把這些掙扎和解決方法都記錄下來,也許能夠在有一天幫助到某個人,那就太值得了。