鄭卜壬 教授

研究主題 / 專題內容

  我們的研究領域基本上就是在做資料檢索 (Information Retrieval),在產業上對應的就是搜尋引擎 (Search Engine)。表面上看起來是在說「搜尋」這件事情,但是重點其實是在搜尋引擎的背後如何去做 learning,去媒合搜尋者和被搜尋者,骨子裡需要學生去練習建構模型,所以比較會注重在 machine learning 或是 deep learning 上。

  我們處理的資料不見得一定是文字,還有圖片,至於音訊和影片的部份就比較沒有。在搜尋引擎上還有一個層面是從搜尋的紀錄上看到的 social network,可以知道網頁、使用者連結的關係,也可以看到在網路上形成的社群 (community) 。搜尋引擎就含括了從前述的媒合,到底層的分析行為。

  舉例來說,當使用者今天打了 “flower”,不是代表他不懂「花」,通常來說是他要去買花。所以搜尋引擎某程度也扮演了推薦系統,因此也有廣告效益在其中。雖然我們說是在做 Information Retrieval ,但是這其中很重要的關鍵是排序 (ranking)。排序在生活中非常常見,比如說你的三餐、你的抉擇,這並不是一個很直觀或是習慣的決策,需要透過過去的經驗和環境的 feedback, 根據得到 reward 或是 penalty 動態式的調整、學習。

  我並沒有限制專題生一定要做什麼題目,通常是問問同學「你有沒有想要做的東西」。這個領域跟其他比較不一樣,因為你可能會不懂生醫,但是不太會有人沒用過搜尋引擎,搞不好你本來就對搜尋引擎有些不滿(笑。舉例而言,假設你不知道「柯西不等式」的名稱和公式內容,你連 search 都做不到,所以就曾經有專題生跟我說想要做「數學的搜尋引擎」:假設一個人對定理不熟,他還是可以搜尋到他想找的東西。相對之下,碩士班的同學做推薦系統、machine learning 上的研究比較多,也有讓電腦學習怎麼樣玩一個 game。

  在醫學方面,我們現在就有跟台大醫院做合作,比如預測藥品流量的變化、HIV 檢測等。我們也有跟公司合作,透過醫生寫的病例去預測診斷,或是透過診斷去推薦藥品。我們也跟 IOT 公司有合作,比如說在公車上看駕駛的行為、自動生成會議記錄、摘要等等。不過主要來說,我們還是以做推薦系統為大宗。

Q & A

Q1: 請問專題與一般的小型課堂有什麼差別?

  來修課,你會得到對這個領域比較成熟的 solution 和 knowledge。專題就好像進到「少林派」,在練功時會練該派的獨門武功,也就是讀 paper,不一定是寫在教科書裡面的東西。從 paper 你會練到一些不是在課堂上拿到的東西,比如說做一個 task 上從前到後整個研究的 cycle:從開始報告,到理解、實做,從頭到尾一個一個建起來,它不一定是很成熟的 solution。
  而且做專題並不是像一般課堂上的助教都先自己做一次,把資料清乾淨了,而且做出來一定會效果。專題各種可能都會有,你會從 paper 當中看到為什麼要用這一招、那一式,進而整合自己的 research map。
  此外,課堂上比較像是老師在主導,專題題目不見得是老師 assign,不是學習老師已經幫同學準備好的知識,而是透過和學長姐、同儕合作,或是看 paper,去學比較整合性的技術。

Q2: 如果想加入教授的 lab 有什麼能力或技能是必要或是建議要有的嗎?

  對我來說,motivation 最重要。在我們 lab 其實彈性很大,比起在後面追著你跑,我會比較想當一個陪你完成夢想的一個老師,所以同學要告訴我你的目標。比如說你想要發 paper,或是想要參加比賽,未來要申請學校、寫在履歷上等等,這些動機遠超過一進來需要的 background。
  這個領域重要的地方是你一定要去摸 data,你要有熱情才會對 data 有感情。在熱情之上,再去修課,以各位的能力,相關知識很容易透過修課和學習去補起來。進來實驗室,我會希望學生告訴我最後的目標,我們一起規劃中間需要做的事情。要把這個 process 走完,你的動機會比你的 background 重要。
  如果真的要什麼 background 的話,那當然是跟 AI 相關的 ML, DL 比較要有。當然也有其他學生是從別的領域學生進來的,我們可能就從基本的數學模型開始,去看外國的線上教學影片,化成自己的話,講解自己對於這些知識的認知。

Q3: 如果對這個有興趣,但是不知道具體想要做什麼問題,還適合加入嗎?

  當然沒問題,因為這個領域好玩的地方在於並不是 paper 拿來第一個字就看不懂,因為每個人一定都用過搜尋引擎,所以一定可以看懂它試圖解決的問題。我會先給同學大概的範圍,讓同學去挑有興趣的。當看到不懂的技術的時候,老師會從報告當中陪同學去摸索。一開始我們就廣泛涉獵,從 paper 或是現實的生活中慢慢收斂你有興趣的方向,我也會從同學的報告看看同學對哪個主題比較有興趣。

Q4: 如果成為了教授的專題生,會需要做些什麼事嗎?例如每週 meeting 或兩週讀一篇 paper 之類的。還有請問教授希望專題生一週花多少個小時在 lab 上?

  我們每星期固定有 lab seminar,報告主力是研究生,專題生就是來聽、多吸收、增加知識。專題生會跟我進行兩週一次的 group meeting,通常是 2-3 人一起。
  舉例而言,有組別整學期就 trace 一個搜尋引擎的 code,從資料的壓縮開始,並不是只有剛剛提到媒合的部份,所以經過這學期他們就會完整了解搜尋引擎大概是怎麼運行的;也有同學在看 paper 之後發現有些數學推導不是太熟悉,那麼就可以開始把這些數學補起來;也有同學是跟著碩班的學長姐合作,去參與整個題目的某一小塊。
  至於一週要花多少時間,端看你想達到的目的是什麼。有專題生畢業就發 2-3 篇 paper,如果 paper 的 deadline 快到了,那可能整天都會耗在那,如果只是讀 paper,那可能花比較少時間。
  我覺得做一個研究至少就是一門課的 loading,可是不見得每個專題生都把專題這麼 serious 看待。只要同學前進的方向是對的,根據自己的彈性,想要跑快跑慢都是可以的。

Q5: 請問教授期望我們在專題中,學習到什麼新的知識、技能?請問教授會希望專題生要在整個學期內完成哪些內容?(例:做出一個完整個專案、參與相關活動或發表相關成果等等)才算是一個合格的專題學分

  我不以結果來評分。專題生一開始會先跟我有一個談話,我會看你想做到哪些東西,我並不會因為你做到/沒做到什麼事來判斷,而是看同學在這過程中付出的努力。如果一定要要求做到什麼,學生反倒會趨於一個「做得到的事情」,那就失去專題大鳴大放的特色。專題基本上就是往同學要的方向走,老師和你一起努力,不以最後成敗當作專題的結果。

Q6: 請問教授,開始成為實驗室的專題生後,要怎麼確認自己對於該領域是不是有興趣的呢?如果發現跟原先想像的不太一樣該怎麼辦?

  我鼓勵同學大二就可以找專題了,要多看實驗室,如果你真的很有能力,可以同時跑很多實驗室,你要多看才知道是不是你想要的,鼓勵同學要 open mind,把機會都打開。
  如果發現這不是你要的,可能更確定你要什麼,我們就趕快換方向;或是你發現你的目標以現在的作法並不容易達成,我們就要看要怎麼轉換方向。如果要離開,我也覺得很 ok,不要把這個想得壓力這麼大,如果嘗試的時候發現不是你要的,那很正常啊!放心好了,我不會跟你簽任何的約(笑。