2017年7月4日 星期二

林軒田 (台大資訊系教授/Appier首席資料科學家)

採訪對象:林軒田 台大資訊系教授/Appier首席資料科學家
製作:鄭宇軒、胡晉華


Q. 是什麼原因讓您選擇資工領域?

CharlieL: 其實當時在選填志願的時候,知道自己對資工有些興趣,雖然沒有說非常深入了解,但是剛好推甄上了就來念。如果說要給選填志願的學生一點建議,就是如果有一點基本的興趣就可以進來念,因為有些興趣是可以培養的,也有可能進來之後發現這個科系跟你想的不一樣,在我自己的例子中,我進來之後意外地發現自己在這個領域中念得如魚得水,結果也如現在進行的還不錯。

Q. 您是因何而選擇研究機器學習相關領域呢?

C: 我大學時候是跟林智仁老師,林智仁老師是國內數一數二早開始做機器學習的人,我找他的時候,他才剛回國兩年,知道他的人沒有現在這麼多。我在找專題指導老師的時候,我覺得當時我不排斥的方向有人工智慧、機器學習、多媒體等等。而林智仁老師是當時是第一個確定收我的老師,他那時候也是我的導師,我對他做的東西也很有興趣,所以就做到現在。所以原因比較像是找專題老師時候的緣分。

Q. 機器學習在當年就像現在這樣熱門嗎?

C: 並沒有現在這麼熱門,但是有顯現出一些實用性。你可能可以想像,機器學習是從人工智慧中分出來的其中一個分支。如果回到2000年的時候,SVM(support vector machine)的最佳化問題,像 LIBSVM 裡頭用的很多比較進階的方法是陸續在那附近才提出來的。那個時候是機器學習從萌芽到成長的時間,或說是機器學習跳離當年類神經網路那十幾年的低潮期的時間。但是如果要我說的話,我不覺得那時機器學習是很紅的領域,是個發展中的領域。算是還蠻好的,就好像你買到成長中的股票那種感覺。它不是一個完全新興的東西。你現在想像區塊鏈的話,大概就是一個非常新興的東西,大家當然都覺得它很有契機,但也有些不確定的風險。我開始做機器學習的時候,它是個不新不舊的,不是一個已經老到或失敗到大家都不願意投身進去,也沒有年輕到大家覺得風險非常大的那種。

Q. 為什麼選擇前往加州理工學院完成碩博士學位?當時就有打算回台大教書嗎?

C: 我自己是想出國念書的,不管是國內外,當時有幾個選項,國內念碩士再出國,或者直接出國等等,後來決定的因素有兩個,第一個是我不想花家裡的錢來唸碩/博士,而在國外念博士取得獎學金的機會比較大,所以就決定直接出國念博士,自己在大四的時候有做研究,也發現自己對研究有興趣;第二個是覺得大學+國內念碩+出國念博+當兵=十四年太久了,於是就一邊當兵(兩年)一邊申請,當時也問過一些老師,他們覺得我大學成績跟研究表現都還不錯,也就選了直接出國念博士這條路。

讀完書之後其實沒有很明確要往教書方向或是做研究方向,當時畢業之後有很多選擇,不管是台灣或美國,以研究上來說,有著學界、業界以及研究實驗室等選擇。而相對來說我算是蠻喜歡教書的,所以也有想往這個方向發展。到了念博士的後期,當時的女朋友,也就是現在的老婆是在台灣工作的,所以我也就比較想回台灣工作,最後台大有很好的機會,就進入台大開始教書。

Q. 什麼原因讓您開始往業界發展? 您又是如何同時兼顧教授的工作?
C: 這幾年開始有這樣的制度叫做借調,在教授的制度上本來就有所謂的借調。但是以前的借調都是借調到政府單位、公法人,像是資策會、工研院這一類的單位。就像之前台大教授江宜樺借調去當行政院長一樣的事情。那放寬到教授可以借調到公司是比較這幾年的事情,差別只是公司要付一些合作費用給台大。

至於我為什麼會來Appier這邊,有幾件事情,一件事情當然是實際上你在學校教書教了一陣子之後,你會覺得你想要到一個是你自己可以更成長的環境,我們這裡實際上就是這樣的環境,因為這裡是個新興公司,在這邊可以看到很多最新的想要解決的問題。所以對我來說是個自我成長的過程,以前我認識一個老師說這叫做「教授後研究」,就像有人唸完博士要做博士後研究。當你教了一段時間的書,然後在教學跟研究上已經算是穩定的時候,然後有這樣的環境可以讓自己更成長。

另外一件事情當然是,這公司其實是我的好同學游直翰,也就是我們的系友成立的。Appier對於人工智慧的專注以及對於未來應用發展的願景,讓我相信這是個好的打拼機會。

關於公司和學校之間的平衡,目前我主要重心會放在公司,但每個人一天都只有二十四小時,所以我現在約八成以上時間是花在公司這邊,然後兩成時間是花在學校。實驗室那邊讓學生變得更自主,實驗室的規模也跟著減小,讓那邊的loading縮到一個量。

Q. 首席資料科學家的主要工作是什麼?

C: 我負責的工作是,我底下有很多機器學習的科學家,這些就是我們公司在人工智慧上開發的人才。我的工作就是確保他們每個人都能發揮最大的貢獻。這些工作也許就包括安排每個人最適合的工作,跟他們討論在工作方面碰到的技術瓶頸要怎樣解決、或者是找資源來協助解決,以及想像我們公司在人工智慧發展的戰略方向等。

Q. SVM在各機器學習的模組當中,還有沒有競爭力?

C: 故事其實是這樣,我覺得任何一種成熟的機器學習模型都是有競爭力的,只是有點像它可以用在哪些地方。如果把時間軸拉回到十年前的話,那個時候是SVM當紅的年代。你如果那個時候去問人家類神經網路有沒有競爭力,其實這也是個有趣的問題。在那個年代SVM已經比類神經網路好做調整了,但這件事情並不是一開始就能做到的。如果回到我剛開始做研究的時候,SVM的最佳化還沒有這麼快,在SVM上要怎麼有系統地做tuningselection,其實這些東西那時候是都沒有的,就是一步一步地一直發展的。到現在來說我覺得SVM是相對成熟的方法,而它還是可以固守它做得很好的地方,搞不好很長一陣子。

Q. SVM還能夠重返榮耀嗎?

我覺得它現在沒有很不榮耀啊()。當然,它現在沒有它十年前那麼紅,這是肯定的。但我覺得任何的紅與不紅搞不好都是暫時的,到最後是,它在這麼多方法裡面有沒有找到它自己的位置。SVM在我們所教過的方法裡面算是有一點獨特性的,我覺得它會持續有個自己的位置。有點像是你如果把機器學習這些我們有教過的東西想像成一個工具箱的話,工具箱不會只放一種工具,所以我相信它會持續地非常好這樣子。當然深度學習也會,不管喜歡或不喜歡,我相信它現在至少已經是一個比以前在更成熟的工具,我寧可相信它再發展下去後,會在工具箱裡面有一個很好的位置。

Q. Deep learning真的會消失在未來嗎?

有點像是這樣,深度學習作為一個「流行」這件事,會消失在未來。但是有很多深度學習模型,舉例來說最先進的CNN(Convolutional Neural Network),很可能會繼續留下來。作為流行會消失,我也希望它會消失(),因為到最後我覺得重點不是deep或不deep了,而是成熟或不成熟的差別。

Q. 您會鼓勵資工系的學弟妹在求學時期嘗試哪些事?

C: 什麼事情都可以欸。我的意思有點像這樣,重點不是嘗試去做哪些事情,有沒有花一些力氣去想"我可能可以做哪些事情""我可能會得到什麼收穫"才是。嘗試去做哪些事情,重點就是你有沒有辦法把握這個時間在用其他的方式學到一些東西。一般大學生可以在課堂上學到一些東西,但是你如果把所有其他的可能性通通考慮進來,像是去早一點做專題,你可能會學到跟課堂不一樣的東西;你去參加黑客松你會學到不一樣的東西;你去社團活動你會學到不一樣的東西;你去交男女朋友你會學到不一樣的東西;你去打工你會學到不一樣的東西,打工可能還有分,家教、接專案、實習等。你有很多種不一樣的選擇性。每條路都有可能學到不一樣的東西,但是人一天就只有二十四小時,或大學生就只有四年。所以我覺得重要的不是你去做那些事情,而是你有沒有那個態度是說,我要看看有哪些選擇在那邊,然後我去衡量繼續選擇相對應的好壞處,也許對我個人的興趣也好,對我個人的生涯發展也好,好壞處是什麼。學習那個掌握自己的決定權,所以我看這些選擇,我決定要做這個,再回頭看我是不是真的得到了好的收穫,再做下一個選擇是什麼。

所以我覺得有點像是這樣,其實做什麼都好,只要你有想過,然後你得到預期的回報,然後用這個來證明你自己。如果學生今天跟我說,他想過,然後他覺得這些選擇裡面他能做最好的事情就是在宿舍睡覺,我覺得那也很好。像你們都知道,我不太管學生來不來上課等等,如果那是你想過了,然後你覺得說你不來上課這個選擇要比來上課這個選擇比較來的好,那你就不要來上。

重點是你有沒有學習掌握那個決定的過程。有點像這樣,開玩笑說,我們現在在教所有的機器學習這些AI的模組,我們都希望我們的模組可以做決定,然後我們得到回饋、強化學習。然後來說我們下一步要怎樣更好。我比較希望像是我們的學生也是這個樣子,你在做你自己的決定,你可能會嘗試、會失敗、會得到收穫等,然後從這些決定的過程你證明你自己。只要你有參與這個決定的過程,那其實,我覺得做什麼都好。當然所有老師都會跟你說他可能覺得好的事情。譬如說我可能會常跟學生說去做專題很好,那是因為從我的經驗我覺得那個東西平均的回報蠻大的,但另一方面這有沒有適合每一個人,搞不好也不一定,有的人在他的興趣上,也許他現在最值得做的事情是多修一個什麼外系的課這樣子,他覺得跟他的生涯發展會更相關;有的人可能覺得這是他這一輩子最重要的交男女朋友的機會,所以大學一定要好好的把握;或是他最後可以玩出社團或什麼。我真的覺得什麼事情都好,因為回頭來看你做過的每一件事情就會形塑你這個人,然後會給你一些收穫,你要確保的只有說不要投了大量時間,但最後對你的收穫只有一點點,那可能不是太好,因為每個人資源都有限。但如果你投入了這個東西,然後你得到你預期的收穫,或者你沒有其他太多的損失。譬如說你參加社團,然後你得到很好的成就感或滿足感,然後你沒有被當太多科目、沒有被二一,我覺得都好,這本來就是屬於每個人的價值方程式在衡量的事情這樣子。

Q. 您對以往學術或業界發展為志向的同學們,有什麼看法?

以現在來說我覺得是說,大部分人會選擇繼續念碩士,客觀來說的話,如果沒有其他的想法,繼續念的確可能是一個隨波逐流的選擇。身為一個老師好像不應該鼓勵隨波逐流的選擇。但另一方面來說,也許是一個不吃虧的選擇。但的確只有少數的人,真的能夠掌握那繼續念兩年碩士班的價值。

更高一個層次我會覺得,應該要鼓勵大家說,你應該是要想清楚然後選擇繼續念,這才是比較好的方式。大多數人的選擇是沒想清楚而繼續念,我覺得沒什麼傷害。但是另一方面是有一點浪費時間。當然也有另外一種是想清楚然後選擇不繼續念,那也很好,把未來想要的職涯規劃或發展想清楚就好。

Q. 會建議學生們如何選擇研究領域?

C: 我通常都這樣建議,如果在什麼東西都還不是很清楚的時候選領域的話,一開始先挑出一些你不排斥的,或消去一些你極端排斥的,通常我覺得第一個步驟是這個。每個人都會有,因為每個人喜歡的東西本來就不一樣,之後再縮小範圍到你不排斥的三、五個的時候,接著比較值得做的事情就是,深刻地去了解其中的幾個。所謂的深刻可能是跟學長姊、老師了解過、或是修那個領域特別相關的課、專題。了解以後,如果你還是覺得很有興趣,那就繼續做下去。因為沒有一個人可以做三五個領域的,所以你只要選一個夠好的,如果這個東西腳踩下去,發現這不是你想要的,就趕快把腳抽起來,再選一個,那就好了。這是為什麼我們說專題什麼可以早點做等等,因為這也是一個你把腳踏下去,然後看你喜不喜歡的機會。

所以我覺得第一步會是縮小範圍,因為可能你如果列出來,算大領域好了,可能有十幾、二十幾個,你不會每個都喜歡的,所以你第一步縮小範圍說你夠喜歡或不排斥的是哪一些,然後第二步在裡面選擇一些,然後確定說,我就是要這一個,還是我不要,我要趕快抽走,趕快換別的。我覺得要有這種trial and error、學習的過程。