李彥寰 教授

請問教授的實驗室的研究領域是什麼?

  我們實驗室的名稱是 Laboratory for Learning Theory and Optimization Methods,這基本上涵蓋了我們實驗室的主要研究方向:機器學習領域的理論研究以及 optimization methods。Optimization 有一大部分也是 for machine learning,比如說你有一個 machine learning 的方法,然後你想 implement 它,通常這個演算法都會寫成求解一個最佳化問題的形式,這時候你就會用到 optimization。當然純 optimization 本身也有其他的應用,我們也會關注我們覺得有趣的 optimization 問題。

請問要如何成為教授的專題生?

  如果對我的實驗室的研究方向有興趣的話,歡迎寄 email 給我。因為現在是停課的狀態,所以你不可能去我的辦公室敲門,但即使解除停課狀態,我也不建議同學直接到我的辦公室敲門,很有可能會找不到我,所以建議直接寄 email 給我。寄 email 給我的時候,我希望同學盡量提供多一點的資訊,例如說你為什麼會對跟我做專題有興趣、你有想要做哪方面的研究等等。如果你有顯露出你想要做的題目或你的研究興趣,我們可以盡量討論出一個適合你的方向。否則我們也可以先從讀論文、比較深入的 lecture notes、monographs 開始。

請問教授希望自己的專題生具備什麼樣的特質、能力或是先備知識?

  先說先備知識,我覺得很多同學都會很擔心自己先備知識不足以做所謂的理論研究,OK,但是從老師的觀點來看,首先因為這裡是資訊系,所以我不會預期說同學們一定要修過什麼分析導論、代數,這沒有必要。我會說如果是在知識方面,先備知識大概就是你不能討厭讀數學證明跟寫數學證明,再來就要看所謂的 math maturity。但這個詞實在很抽象,我到現在還不是很知道如何解釋,同學們有興趣的話可以上網去看一看,但我覺得不要用這個 math maturity 這個詞嚇自己。如果覺得自己有興趣,只是不確定自己有沒有能力的話,那就寄 email 給我,我們來聊聊吧。

  我會希望同學們來找我是因為你真的想要做一些事情,例如說你想要學關於 machine learning theory 方面更深入的知識,或者是你想要試著做一點研究,而不是說你只是看到同學們都在修專題,所以我也來隨便找個專題老師好了,然後剛剛好就是轉羅盤還是骰骰子丟到我,就來找我。我希望同學們是動機強一點的、主動一點的,然後能夠試著自己解決問題而不是所有問題都要問老師的。從老師的觀點來說,如果學生可以用有道理的話跟老師辯論,然後辯贏了老師,其實老師會很開心的,我超級想要的會是這種學生。

請問教授會指定研究主題,還是讓專題生自行決定呢?

  這個問題的答案是看情況,我會根據每個學生不同的情況,看這個學生他目前對機器學習領域比較理論的方向已經知道多少了,然後看研究興趣是什麼。因為機器學習的理論領域其實很寬的,包含非常非常多東西,從純數學家在做的,到沒有修過數學系課程就可以做的題目都有,所以我會跟同學討論之後再決定。
  我遇過的例子像有同學大二就來找我做專題,這樣我就會跟他先從看我個人也很有興趣、很 stylish 的一個 lecture notes 開始,這有一點像是訓練讀論文的能力,但比讀論文要輕鬆一點;也有同學大三來找我,然後他事實上機器學習的課一門都沒修過,但我聽起來他是很有實力的,於是我就直接給他一篇我現在在讀的論文,那個學期末我們確實就做出研究結果來了,今年初也發表在一個 Quantum Information 的 conference。所以這完全看狀況。

請問成為教授的專題生後,會需要做些什麼事情?比如讀 paper,每週 meeting 等等。

  一定會做的就是我們會定期 meeting。在 meeting 的步調方面,有的同學傾向於每週都 meeting,也有同學傾向於每兩週 meeting,這我都 OK,就是跟同學們談好,然後我也有這個 time slot 就行。基本上我跟同學的形式會是 individual meeting,除非說這學期剛好有好幾個同學都對某一個主題有興趣,都有能力做,那就會一起做。但到目前為止,我的所有學生都是 individual meeting,都是一對一的,然後是 weekly 或 biweekly。
  那 meeting 的形式是什麼呢,就是學生用白板做 presentation 給我看,然後我在下面問問題。有一些問題是我真的不懂的,所以我問了,不然大部分的問題其實是我用問題在提示學生,像是這個部分應該可以再想深入一點,或是這個部分再挖下去會有很有趣的東西,或者是這個部分想得不夠深入等等。

  然後要做哪一些事情,當然也要看我們一開始討論之後,對專題的目標設定如何。如果我們一開始設定的目標是讀 lecture notes,讀 monographs 的話,我們先預訂說我們這學期到結束為止我們大約可以讀到哪一個 chapter,哪一個主題,那你做的事情當然就是好好的把這個 lecture notes 或是 monographs 看懂。
  當然我給同學看的絕對不會是超級標準的,很容易讀的課本,所以有些部分你可能會讀不太懂,那我會希望同學們可以自己先去找資料把小的、自己有能力解決的問題解決掉,留下比較大的、比較有趣的問題在 meeting 的時候討論,這樣會比較有效率。那如果是做研究的話,當然就是跟正常的理論研究一樣,每天做的事情就是推導跟讀論文。然後視情況而定,因為我們實驗室考慮的問題也不會是超級純理論,和現實生活沒什麼關係的那種問題,所以有時候會需要寫一些數值計算的程式。

請問教授認為專題生一週大約得花多少時間在專題研究上?

  我個人做事情不會在那裡數時數,所以我覺得很難回答。我當初在 EPFL 讀博士的時候,因為我博士一年級是拿獎學金的,而拿獎學金的學生不需要直接進實驗室,而是那一年每學期都各修一個專題,有一點像是找適合的實驗室。以歐陸的學分制而言,基本上 1 個學分就代表著他期望你一個禮拜要花 1 小時的時間,那時候 EPFL 給一個專題的學分數是 12 學分,所以就代表說學校期望你一個專題一週大約要花 12 小時的時間。
  不過因為我是博士生,所以通常是超過。考慮到同學們同時要修課,12 小時減半成 6 小時,我覺得還算行,但我比較推薦的方式是我們在專題剛開始的時候先設定一個進度,這個進度會隨著專題進行途中不斷地,以目前流行的話來說叫做滾動式調整,然後只要我們有完成進度那我就覺得都很 OK,時數就看同學們的負擔狀況如何。

教授認為經歷過專題的學生應當要習得甚麼樣的技能,或是有甚麼樣的研究經驗?

  自己找資料的能力、自己解決問題的能力,考慮到跟我 individual meeting 的模式都是白板 presentation,然後我對同學們的寫作跟 oral presentation 都有一定的要求,所以 presentation 的能力應該也會進步,我覺得主要是這三個。再來,事實上不管是做研究或是讀不像課本這麼好讀的 lecture notes、monographs,在途中我預期正常的同學們都會遇到一些挫折,這些挫折的經驗我覺得本身就是好的,你會在這些有挫折的經驗之中,逐漸找尋到一套比較適合自己的 style 的解決問題的模式。

請問教授,成為專題生之後,如果發現研究主題和自己的興趣不合時,教授有什麼樣的建議嗎?

  那就跟我講,我們可以再討論再調整,至少對於我的專題生而言,這是常常發生的事情。因為臺灣做機器學習理論的老師非常非常少,課程也非常非常少,所以正常的同學們幾乎對這個領域都沒什麼接觸過,預期與實際狀況不符是很正常的。從老師的角度來說,發生這種事情一點都不奇怪,當然如果你自己就想逼著你自己,雖然你對這個問題沒有很感興趣,但是也不到很討厭,想要硬做,那也行。不然的話,如果你真的想要換題目,完全 OK,就是跟我討論。

請問教授認為為何專題研究對資訊系學生是必要的?

  我覺得這跟之前的那個問題,就是學完專題之後可以得到什麼技能或是經驗,是相關的。透過我剛剛的回答,我覺得同學們可以得到 presentation 的技能,自己找資料、閱讀資料的能力,自己解決問題的能力,以及不斷面對各種未知的挫折,然後從中獲取經驗。我覺得這幾點都是同學們在正常上課幾乎學不到的,或者是即使能學到,學的效率也相對低,因為同學們在課堂上得到的知識,都是整理得非常非常好的知識。如果你自己去看原本的論文就會發現,怎麼原本的論文的說法,跟課本上面寫的差這麼多,他們真的在講同一件事情嗎?
  雖然他們明明就是在講同一件事情,為什麼原本的論文這麼難,數學看起來這麼高深,但課本看起來這麼簡單。除了內容以外,課堂上老師或許會給很多問題,如果是上課的話,老師給的這些問題,如果是習題那就代表他一定有標準解答,老師如果一直出沒有標準解答的習題,應該會被學生罵死吧;如果是machine learning方面的題目,這個data set大概不會是形式很糟糕、很破碎、缺損很多,然後format很混亂的 data set,也保證存在幾個標準的演算法,即使不會到達所謂的 SOTA performance,至少也可以達到可以看的 performance。
  但做研究面對的都不會是這種一定有答案的問題,所以我覺得專題在自己找文獻,自己解決問題,然後自己從挫折之中找出自己解決問題的style 方面,明顯比修課要適合多了。那跟我的專題會有另外一個 bonus,你跟我 meeting 的時候,你都要在白板上面做一個多小時的 presentation,然後我會在下面一直跟你說:什麼 notation 應該要怎麼寫,你這個 proof 的 structure 應該要怎麼講等等,我覺得這是額外的 bonus。

請問教授會建議學生們什麼時候開始接觸專題呢?

  我目前帶過的專題生從大二到大四都有,因為同學們的背景知識、自己解決問題的經驗值都滿不一樣的,我不覺得這跟年級有非常大的關係,所以同學們覺得自己 OK,又有興趣都可以來聯絡我。

請問教授對於還沒有非常了解自己興趣的同學,在選擇專題的方面有什麼樣的建議嗎?

  如果你還是大二的話,你也可以先從修各個領域的課開始。雖然你不知道你的興趣,但你至少會有一些你不討厭的領域,這些可以當作你的 candidates,然後你就去修修看、旁聽看看相關的選修課,看你聽了內行人的說法之後,會不會改觀。如果不會改觀的話,大三就可以考慮修這方面的專題,自己也當個內行人看看。我個人當初是從大三就開始做專題了,然後我覺得那個時間點滿不錯的,所以我個人也會推薦同學們,如果沒有其他會吃掉很多時間的東西的話,我會推薦同學們從大三就開始做專題。

  至於大三做專題的方向,如果沒有很喜歡的領域、很喜歡的老師的話,我也會說只要不討厭的,你都去試試看,就跟我剛剛說大二修課試試看的那種感覺一樣,只是現在是大三大四了,好像比較厲害了,可能可以直接面對 arguably 比較困難的研究場景。當然你可能試了幾個禮拜、半個學期發現這不是我想要的領域,那我會說其實也沒有關係。首先你可以跟老師討論,因為老師也不一定會完全配合學生,所以要雙方一起找到都覺得合適的研究方向。
  如果真的找不太到的話,我給同學們的建議是那你就考慮下次專題換老師,換領域,但是你當下正在做的專題,我會希望同學們還是認認真真地把它做完,不要因為你對他反感了,所以你就完全不做。如果你不做,你就不會得到專業知識和比較深入的經驗,那你就永遠積攢不出底子。如果你第一個專題試試,然後發現不感興趣,第二個專題也不感興趣,第三個專題也不感興趣,那你就快畢業了耶,所以挑了專題之後還是好好做,即使不喜歡你也可以把過程當作一個經驗,這個過程對你的未來是絕對會有幫助的。