我們實驗室做 Maching Learning(以下簡稱 ML),我通常跟學生說只要你做的事情跟 ML 有關都可以做,好像沒有什麼學生說要做跟 ML 有關的事但我說不可以的,因為我希望學生能做自己想做的東西,而學生想做的事情不見得跟我想做的東西 100% 一樣。但只要他有興趣,我們就提供資源給他做做看。所以,我們實驗室做的研究可能就會蠻 diverse 的。
對啊,我都會讓他們自己決定。應該說,我覺得找題目是一種過程,如果今天有學生花了一些力氣但還是沒有找到適合的題目,那我當然還是會找幾個我覺得適合研究的題目推薦給他。而推薦給他之後,他要不要研究也是讓學生決定的。我幾乎不會把學生叫來說「來,你今天就做這個主題吧」,我覺得這樣的方式沒有辦法做出真正好的研究。
做研究的時候是一個 research cycle。一剛開始可能會先選定主題,然後 search 別人的論文,先從複製他的實驗結果開始。在實際看懂別人的論文並實作他的途中,你將會更了解他的內容,並且可能會有一些自己的發想。你可以按照你的發想嘗試去玩玩看各種東西,最好的情況是如果有做出成果,那就可以發表論文。整個結束以後,再從尋找題目開始,看是要做跟以前相關的題目還是全新的題目都可以。
當然,實際上做的事也可能會因你的主題而變,例如如果主題是比較理論的話,在看別人論文的時候就不需要打這麼多 code,所以大家做的事可能還蠻 diverse 的。
我們要求實驗室的每個學生都要做的事情是,進我們實驗室之後,需要準備一個 presentation,而 presentation 的內容就是去報告你沒有學過的關於 ML 的東西,報告給整個實驗室的人,講到大家都懂。我們覺得這是一個好的訓練,可以帶大家跨出原本課本或課堂上的舒適圈。 除此之外大家的學習過程可能就蠻不一樣的,可能會跟找題目的 progress 有些關係。
每個學生找的題目不同,適合做的訓練也就不一樣。例如,傳統的題目跟新潮的題目要去做的實驗、閱讀的東西就會不太一樣。所以我們會個別一點,依照每個人的需要幫他準備他需要的訓練。 這算是我們少數 assign 給新學生的工作,不然大部分我不會太干涉學生在做什麼,但我們覺得這樣的新生訓練是重要的。
基本上我們實驗室專題生和研究生沒有什麼太大的差別,大家通通都在一起參與研究。例如我們實驗室學生自己會有一些 group meeting,你就能藉著這個機會聽到別的學生在做什麼。或是跟我 meeting 時我也會跟他討論,或是跟他說這可以找誰討論。也有專題生跟我說他希望在實驗室能有一個位置,那當然沒問題啊,我們就排給他一個位置,那他也比較有機會跟其他人切磋討論。
我會有篩選的流程,但不會有硬性的門檻。就像我不會說你 GPA 低於多少就不能進來,但是我會看你過去的紀錄、進實驗室的動機,也會進行面試,這是一個綜合的考量。過去的紀錄包括修過什麼課、之前在其他教授實驗室的狀況等等,而至於進實驗室的動機也是教授常問的問題。跟進公司一樣,我會在進實驗室之前進行面試,但不會像公司的面試這麼正式,對你而言,會是一個好的面試練習。我也會看你是屬於哪一類的學生,為了要增加我們實驗室的 diversity,我會想要選不同類型的專題生。找專題生很像在找伴侶,我會想像收了你半年後的狀況,你也會想像進到實驗室半年後會不會快樂,所以這其實是一個雙向的過程。
至於人數上限,是沒有硬性規定,但如果人已經多到沒有資源再訓練你,若讓你進來已經會剝奪到其他人的資源的話,我就會考慮先拒絕。
我覺得這可以分幾個部分談,其實我也不知道我的專題生一個禮拜花多少時間,因為我通常不會去問我的專題生花多少時間。 每個人每個禮拜的忙碌程度不一樣,忙的時候可能就會花少點時間,不忙的時候可能就會花多點時間,所以我覺得要花多少時間有比較多變因要考慮,沒有固定的答案。另一方面,花的時間也跟興趣相關,有時候學生做得順的時候,可能就會不眠不休地做,希望能有所成果;卡關的時候,我有時候還會跟學生說,「既然卡關了,要不要乾脆休息一下,或是去做一些其他輕鬆的事情,看看腦袋清空之後,會不會有其他想法。」
但我還是可以建議學生說,來修專題的話,應該「至少要把專題當作一門課來看」。因為專題的問題就是,他沒有實際的授課時間,學生可能會被生活中各種其他的事務纏身,就會覺得好像專題不花那麼多時間也沒關係。所以我會說,把專題當作一門課來看,大概算是一個 minimum 吧。少一點點可能沒關係,但少很多的話你修這專題可能就不太值得。當然了,如果你想要做出好的專題,那你就有可能需要花不只一門課的時間,這跟一個人的狀況是有關係的。
同學會想問這個問題可能是因為想要知道「我需要 allocate 多少時間在專題上」,但研究有比較多不確定性,所以比較難像上課一樣明確說大概需要多少時間。但如果你花少於一門課的時間對待專題,通常你也比較難在研究上有持續性的進展。
我最重視的是要負責任跟要有誠信。我不會要求你做什麼事情,但是最基本的,事情要做,meeting 要到,你不要放老師鴿子,老師也不會放你鴿子,這是互相的。誠信的部分,就是一些學術倫理,論文不能用抄的,要標清楚 references,這些都是很基本的。
我們實驗室的話是可以的,我沒有反對這件事。我們實驗室現在也有學生是同時跟其他老師做專題的。不過我通常會建議:你要讓老師知道,這不是要應該要偷偷摸摸進行的事情。 老師可能會給你一些建議,比如說,假設他覺得你在他的專題已經會需要花很多的時間,他可能會建議說你若再做一個專題的話,會沒有辦法把所有事都做好。這些都是有可能的。那你要想辦法把這些建議都納入考量。
我的話我是覺得,只要我的學生想要,而我們專題的 progress 還可以,另外一個老師也同意、覺得沒問題的話,那想多做一點就多做一點啊,這跟多修幾門課也沒什麼不一樣。不過你們可能也要意識到,這(同時修兩個以上的專題)可能是件困難的事情,就跟你們修很多課也會覺得很累一樣,其實 worst case 就是兩邊都做不好,這樣對大家都沒有好處。
我覺得比較適合的是大二開始找啦,如果到大二下或大三上找到有興趣的領域的話,那就可以開始做了。而且我覺得早點修專題可能也會給學生一些學必修課的動力,我知道有些學生在修系上必修課的時後會不太知道學這些有什麼用,如果他們能在專題中遇到相關的問題的話,可能也會給他們一些動力去學系上的必修課。
其實我大學的時候,系上的制度是大四再做專題,但後來系上做了一些調整之後,才把專題提前到大三。每個人的步調不一樣,如果你真的比較希望慢慢來,到大四再開始做那也沒有關係。但我們希望我們能提供一種氛圍是,鼓勵大家早一點開始找、開始做專題。才不會到時候才發現自己可能一無所知。
就去問啊。你不知道你喜歡什麼,你就可以先去問出幾個選項。比如說如果你今天想要運動好了,但你不知道要做什麼運動,那你就去蒐集資訊,問別人說打什麼球比較有趣;又或者你想找電動玩的時候,你也會先上網去查查別人的評價說這個電動好不好玩等等的。
做專題也是一樣的,我覺得第一步就是先了解資訊,所以我們其實鼓勵大部分的同學提早去做(了解資訊)。例如有些同學可能沒有學過 ,不知道自己適不適合做這部分的研究,那你就可以提早去問,並根據這樣的資訊決定自己要不要去做。問也不是說問第一個就會成功,搞不好你問完發現 ML 對你來說超無聊的,那你就可以再去問其他的。你問完三五個之後,心裏就會比較有個底。
不過有的人問完之後,可能還是不知道自己該怎麼選,覺得每個都有一點興趣,但是又沒有像是「找到真愛」的那種感覺(笑)那這也沒有關係啊,其實我大學的時候也是這樣。那我的建議是,你就隨便選一個啊。如果在你問完之後還是不知道怎麼選,通常選擇哪一個對你的好壞處可能也不是那麼明顯,你就真的先隨便選一個,如果發現興趣了那就繼續做下去,但如果做一做發現不適合,那你也可以換。做專題又不像找終生伴侶要結婚一試定終生。這也是我們會建議學生可以早點開始找專題的原因之一。
總而言之,我覺得可以分成兩個步驟: 不知道自己興趣是什麼,那就先多問問看,了解一些資訊。 了解資訊之後如果覺得都差不多,那就趕快先隨便找一個下去做再說。
其實學生對選專題好像都有很多壓力,但你想一想,其實我給你們的這些建議,就跟你們平常選課的時候是一樣的。你們平常選課也會先找找看說這門課是操的還是涼的。所以我覺得,專題跟選課其實沒有那麼大的不一樣,只是大家對於專題好像有點太過緊張,尤其是大學部的同學。
好處嘛,當然就是 ML 現在很熱門,很需要 ML 的人才,在做研究的時候有那種走在時代潮流尖端的感覺,做出成果的時候也比較有成就感。壞處嘛,就是做 ML 可能會比較有壓力,因為現在非常的競爭。不管是同一個 project 誰先做出來的時間壓力,還是同一種 method 做出來成效上的壓力都很大,因為在全球可能同時有十幾個團隊都在跟你做一模一樣的事情,而你要脫穎而出是很不容易的。
現在就已經飽和了啊!但我們不必擔心這一點。因為如果只是待在 low-level 的機器學習,那人是已經飽和了沒錯,但如果是像我們,走在技術的最尖端,則人沒有飽和的一天,所以不用去害怕哪一天會被取代。
我覺得喜歡做這件事(研究)吧,覺得很有興趣。大部分大學生通常一開始都不太知道研究是什麼,但如果保有求知的興趣,覺得探索課本以外的知識是有趣的那會很好。所以重要的應該是興趣吧!
我覺得是這樣啦,如果你至少對 research 有一點興趣的話,我們想辦法讓專題生體驗的就是… 應該叫 research cycle吧。是這樣子的,research 其實是一個過程,而且是一個需要花時間的過程。我們希望在這個過程中能訓練出一些「獨立思考的能力」和「解決問題的能力」。不見得每個人未來都會繼續做 academic research,但我們其中一個相信是,「獨立思考的能力」和「解決問題的能力」對每個人來說都會是重要的。
我完全 follow 我稍早提出的 algorithm。我先探索一些老師,探索了幾個領域,然後我發現我探索的幾個領域中,大概兩三個吧,我都覺得蠻有趣的。於是我幾乎可以說就是從這三個領域裡面隨便選了一個。 說隨便也不完全對啦,應該說是命運讓我選了這一個。那時候想要的一些其他領域剛好實驗室都滿了,而林智仁老師剛好回到系上教書,他的實驗室還沒有滿,他是我的導師,我對他的領域剛好也很有興趣,於是我便從那個時候踏入了 ML 的領域。
我覺得最重要的是 problem solving 吧。我們在一般開的課,比較難訓練到 problem solving 的能力。而所謂的研究,就是在探索未知的領域,所以你大概會遇到一些不知道的問題需要去想辦法、找工具解決。這對大部分一般的課來說,就算有 final project,大家通常也只是在短期內,可能一個月、一個半月內衝刺完了,但這樣訓練到的能力是比較淺的。如果大家願意早一點培養這樣的能力的話,我覺得未來不管是在 industry 還是 academic 都會是需要的。
其實你可以想成說這是在「模擬」大家上戰場的感覺,大家可能在不同的課學到了不同的工具,那專題研究可能就是考驗大家能不能實際用上這些東西,幫助大家把這些工具整合起來。
我近幾年(今年 2023 年)發現一種現象,就是很多專題生想要一次做太多事情,導致花太少時間在專題上。很多人又想要找實習,又想要做專題,可能同時又修了不少學分,沒有控制好自己的 loading,而且又不像研究生一樣沒有寫出 paper 就不能畢業,所以就分配太少時間在專題上。我想要說的是,要做出一個好的專題是需要花時間的,所以請各位在排自己的 loading 的時候,要做一些取捨,才能分配足夠多的時間在專題上。