2014年6月21日 星期六

論文的終點?

2014/6/22

會寫這篇部落格文章,主要是響應老師之前寫的一篇論文的起點。這篇文章後來被學弟轉載。

http://mmdays.com/2008/12/29/start_of_thesis/

這篇文章原則上是寫給我學弟的,身為老師第一個畢業的博士生,對當時的背景也有一些了解。當時我雖畢業,還是會回去參加 Meeting,當時我們實驗室有幾個非常優秀的學弟,其實功力都比我要高。老師後來寫這篇,算是語重心長,我想每個在做研究的人至少都應該讀一下。至於要不要用 Latex,或是論文整理的方式,老師是要強調知識管理的重要,個人可以自行決定是否要取用。

為了怕這封信因為那文章被刪除而消失,所以我把它備份在本文的最後 。

其實最近到了一些學生要畢業的時候,今天隔壁實驗室一堆人,之前口試完了以後它們老師要它們改論文格式,然後它們就一直不太愉快,一直想要趕著時間畢業可以抽替代役梯次。身為他們的口試委員,我也看了一下其中的內容,算是邏輯上有很多不順的地方,於是我把莊老師的這封信給它們看,不過似乎已經太晚,腦中都是要辦離校手續的人在遇到有人善意的建議都好像是仇人一樣。

因此,我特別針對每年要畢業的這些學生,寫一篇「論文的終點?」加問號的意思,主要是要靠訴那些一直趕著要畢業的學生,難道那就是終點?

其實我很佩服我的指導教授,尤其是他的研究熱忱與嚴謹的態度,即便我已經畢業一段時間,最近有些機會開始和他合寫論文,我還是常被他 K,順帶一題,其實我的論文為了怕英文被他念我都還有去找外面的論文編修單位潤飾過,還是常常被提醒要注意很多地方。不過我希望我有一天一定能夠得到他的肯定。

以下用信件的方式,來跟研究生講一些我心裡的話

各位今年要題口試,無論是過了還是沒過的學生:

我先講一下我剛到學校的時候,對其他老師的學生做口試的時候都會做的事:對方如果把論文給我,我會把論文從頭到尾讀一次,挑出所有的錯誤和邏輯矛盾的地方,然後提出我的建議,分成大的建議和小的要改的地方。然後先印出來,同時也會把相關的論文找出來,如果學生 Survey 的不夠詳細,我也會當場把那篇論文拿出來。

我後來沒有這樣做,原因是有幾個學生後來在口試的時候哭了 ....所以後來,我用字都很小心,避免說別人都這樣做了,你做這個的意義在哪這類的話

在口試的時候,如果老師找的是那個領域的專家,針對你的論文提出建議,幫學生把論文改好,其實是很幸福的一件事,畢竟雖然到最後很多學生論文會勾選不公開,但是論文還是跟著你一輩子的事。

舉例來說,之前有一個學生的論文實作沒完全,後來感覺他們改來改去就是改不出來,我就降低了我的標準,後來,ASP.NET MVC 的專家保哥搜尋到那篇和 MVC 框架有關的論文,然後看到那篇論文是不公開,於是和我要,結果我只好要那個學生去和保哥報告,畢竟當面講還是見面三分情。因此,其實我大概可以體會台大前校長之前指導一個學生作研究,論文的公開期限是九十九年以後。

因此,我記得口試時其他比較有經驗的老師講過比較含蓄的話:論文是要放在學校裡面的,而且現在都電子化,以後別人都會看的到你做過甚麼。甚至你的小孩以後也會看到。基本上,聽到這句話的話,通常就是在暗示論文他覺得有很多問題,只是礙於與指導教授的交情沒有特別講而已

當然,我也不否認有些老師會把學生的論文產出當作計畫的成果,但是,在大部分的情況下,老師對於學生論文的要求都是基於要把事情做好的態度。今天如果你為了時間的期限去放棄品質,明天也就會在作工作的時候,到最後偷工減料。

今年我有一個學生,在口試前跟我講說他不想要口試,他想要追求另外的目標,其實他能力不錯,只是可能有些東西他對自己設定的目標沒有達到,後來造成她對於自己才能的懷疑,然後覺得自己不適合吃這行飯,決定休學去找尋自我。雖然他講了很多她想要去做的事情,但是從詳談的過程中我覺得他某種程度上是因為有他現在不夠資格拿碩士的感受。我對他的建議是就休學去尋找自己,或許離開一段時間之後對他也好。

但是那是極少數,我常聽到的是非常負面的回答,例如說覺得老師在刁難他就乾脆不念了。

其實我很不贊同教育部最近在推的實習機制,尤其還搞到研究所學生都要去實習,基本上,人一輩子的工作期間可能會到三十到四十多年,有差那一年嗎?當然,我知道有沒有學歷對於某些行業很重要,但是現在很多 22k 的亂象不就是因為太多人大學不好好念以至於實力只有五專生等級嗎?

其實我之前寫過非常多非常有趣的論文,現在看起來都是覺得走在時代前面,但是,或許是因為教育界的狀況必須要在短時間有績效,而且要不斷有績效的關係,很多很有趣的題目我放掉了。到現在,我仍然會很後悔過去有些東西沒把它做到好。


我先前提過,今年我問了很多學生,發現有些學生竟然當面回答我唸研究所是為了洗學歷。雖然我大概知道,學歷對於很多工作的確是有差,像是資管領域,因為大學生太多,因此唸個碩士對於要找 MIS 的工作是有幫助的。但是我還是覺得,如果在學校就不能學會認真的態度,不能學會嚴謹的看待所接觸過的事情,那就算以學歷找到比較好的工作,我也不覺得就代表之後會一帆風順。

論文是對自己的交代,就和我老師寫的一樣,絕對不要把老師當作幫你 debug 的工具,然後東西寫好了就丟過來,而是你要能夠很有自信了再拿上來,至少自己要讀過一次,不要犯上一些很離譜,一看就知道自己沒有檢查過的錯誤。

當你要把你的論文提交時,至少要能夠滿足以下的條件:

1. 很清楚的知道論文的貢獻,甚至能夠用五十個字以內介紹自己的論文貢獻在哪邊
2. 文章內容不要出現很明顯的錯字
4. 能夠回答該領域重要的期刊與會議,甚至能夠推薦一篇你覺得寫得最好的文章。當然,如果這篇文章就是你的論文,那是最好。
5. 確認所有的文句如果引用都有改寫過,不要不小心抄襲
6. 自己讀過一次,乃至於自己有印出來看過確認過
7. 所有的 Reference 都有檢查,使用同樣的格式,並且不會有沒有出現在論文裡面的引用,也不會有論文的引用和後面 Reference 不一樣的地方。
8. 確認自己的實驗數據與運算式,不會有錯的地方,甚至能夠確保其他人依照你論文的方法能得到相同的結果。

第 9 點算是比較吹毛求疵的,可以找一個不同實驗室但是也是相關背景的來讀一下你論文的第一章,正常來說,論文的第一章應該要寫到讓相關領域的人都看得懂,然後後面的章節在講到細節的時候,那才比較會領域不同的問題。

總之,當現今許多學位論文的口試形同虛設時,即便通過了碩士論文口試,也不見得代表論文是夠畢業的,如果把那當作是論文的終點,那就真的是很讓人遺憾。


老師的信備份:
◎ ◎ ◎ ◎ ◎
Dear all:
今年的proposal我用較高的標準來衡量,因此大部份的人都得再花一點時間修正。我的用意是與其等到四、五月你們寫論文時再要求你們改進,不如 利用這個寒假好好督促你們把論文的前三章寫得完整。我大致翻了所內今年提出的proposals,我們實驗室的成員大部份只在平均附近(或者低些)。我想 如果再不嚴格督促你們,我們以後恐怕無法再以LAB成員自豪。
我大概跟你們提過如何寫proposal,但可能不是很有系統。為了讓你們能把proposal及論文寫好。我花了一點時間整理自己的心得,供你們參考。
論文大致上有五、六章。第一章是Introduction,這一章通常只佔論文整體篇幅的十分之一,卻是最關鍵的一章;它就像一個物品的包裝一樣, 即使結果再好,但包裝差,也會讓整篇論文頓時失色。在國際會議論文的審稿過程中,很多委員往往僅從Introduction中評斷論文是否值得接受。 Introduction要如何寫好是需要一些天份與努力的,基本上它就像在寫作文一樣,要有強而有力的開頭,在前一、二段就能帶領讀者進入你要研究的領 域。接下來的幾個段落,你必須替讀者建立足夠的background,讓他們了解你論文的研究背景。Background建立好之後,你必須點出整個研究 的動機,這是最關鍵的地方,動機不足,無法顯示你研究的重要性,變成無病呻吟,甚至連呻吟的聲音都聽不到,不曉得你到底要做什麼。動機點出來之後,通常就 會說明你的研究成果及主要貢獻,也就是論文的價值之所在。在Proposal階段,這部分會以預期的方式來呈現。最後,你會花一段文字來說明整個論文的架 構,並做為第一章的總結。
除了動機要強之外,第一章一般比較容易犯的毛病是研究背景給的不充分,以及與研究動機沒有連貫性,研究背景漫無邊際的討論,然後“天外飛來”你的研 究動機。切記一點,寫研究論文邏輯一定要清晰,整個章節的構思邏輯是什麼、為何這個句子要承接上個段句子、這個段落要承接上個段落等等,一定要清楚的思考 過。許多論文的敗筆在於論文東一段、西一段,段落之間沒有邏輯關聯,讓論文整體雜亂無章。如何避免這樣的問題,如果你沒有天份的話,只好靠後天的努力:對 於論文返覆的讀取,不厭其煩的思考句子、段落之間是否有邏輯上的問題。我個人的經驗是,我自己寫過的文章,每讀一次都有新的體會與修正。一篇論文寫完之 後,我都會再從頭到尾讀一次,修改到我最近一次讀過後沒有新的修正為止。這樣通常會經歷四、五回合以上。我最不喜歡見到的是學生論文寫完之後,從頭到尾連 一次都沒看過就送給我,裡面錯誤百出,甚至連基本的連結 (cross reference)都錯,好像要我幫他校稿一樣。你們有些人也有這樣的毛病,這樣的毛病不改是做不好學問的。以後我看到這樣的論文馬上就退。我以前念書 的時候跟指導教授meeting討論論文時總是戰戰兢兢,在給他看我的論文時我自己會來回看好多次,深怕犯一些明顯的文法或邏輯錯誤,或他曾經指正過我的 錯誤,我也藉此訓練出比較獨立的研究能力。這裡我感覺大多數的學生都比較缺乏獨立的研究能力,有些則完全依賴指導教授替他修改論文,甚至覺得理所當然,這 是相當不正確的研究態度。
第二章是文獻探討。在寫這章前一定要仔細思考你要探討哪些相關文獻,這些相關文獻如何分門別類,然後在第二張開頭以約一頁的篇幅描述你要 survey的內容、範圍與架構。當然,你得提供充分的理由說明為何你要做這樣的組織分類。文獻探討要做的好是一門學問,它並不是把一些相關的文獻看過, 然後對每個文獻作摘要即可。把相關文獻做一個有系統的分類,本身就是一種貢獻。一般而言,每個研究領域都可以拉的很廣,你在有限的空間內不可能全部涉獵, 因此,你得設定一適當的焦距,決定文獻探討的領域範圍。
在你設定的範圍內一定有許多文獻要探討,你得將這些文獻分門別類,每一類別選定一個最具代表性的文獻做這個類別的開端。接下來你得摘要這篇文獻的主 要內容與貢獻,並且用比較簡單淺顯的方式讓讀者了解關鍵的技術。一般而言,這篇代表性的文獻後續多少有些follow-up繼續改進前人的結果。這時你大 致不需要針對每個follow-up做仔細討論,只要用一、二句話摘要出每個follow-up改進之處即可。把比較重要的follow-up說明之後, 你應該以一段話做為這個類別的結論。這一段話必須評論目前在這類別的研究成果大致為何,還有那些不足的地方,以及與你的研究有何關聯(如你會採用那些既有 的技術,你的研究方法或成果與它們有何差異,你的研究對這個領域的貢獻為何)。
很多人的文獻探討只摘要了別人的成果,卻少了最後這一段,無法讓人了解你的survey與你的研究議題有何關聯,也不曉得你對前人的成果看法為何。 另外一個比較常見的問題就是survey不深入犀利,講得都是很表面得東西,讓人家覺得看你的survey對這領域一點幫助都沒有。
對每個類別survey完之後你必須對這整個章節做一個結論。在這個總結裏,你必須匯整出這個領域裏目前的研究進展,還有那些不足的地方,並且從此支持你在第一章提到的研究動機,以承接下一章節。
第三章基本上是要描述你的研究議題與方法。你必須清楚的描述及定義你的問題。有些時候,問題與定義會牽涉到你的系統或演算法所植基於的model, 因此你也必須定義你用的系統model為何,有那些假設的前題。接下來就是說明你的研究方法,所須的定義與所用的核心技術。接下來就是提出你對問題的解決 方案,並分析討論它的優劣。在proposal的階段基本上不必具體的提出解決方法,只要討論你大致將採行的措施即可。但即使如此,在proposal的 階段這一章也不能馬虎的做表面的探討。一定要具一定的深度,才可以讓committee 的成員相信你對於你的研究議題有足夠的了解。這一章寫深入,你未來修改甚至更換研究題目的機率就低。
第四章通常是對於你在第三章提出的問題解決方案做一實證,如系統模擬,比較你的方法效能為何、與既有的方法有何差異。
第五章就是對論文做一結論,在這裡你必須重覆你整個研究的動機,再敘述你的成果,然後說明你的研究價值與貢獻。每項研究總有不盡完美之處,你的大概也不例外。因此,接下來你就要討論你的研究成果或系統還有那些可以改進之處,據此引出未來研究方向。
第四、五章在proposal階段是不必要有的。另外,根據研究議題的差異與研究成果的大小,有些論文(特別是博士論文)在討論其研究成果時會分成兩個以上的章節來說明,因此論文總體而言會有五章以上。
論文最後必須附上參考文獻。這是大多數人最容易忽略的地方。因此,研究態度嚴不嚴謹也很容易從這個地方看出。我已經告訴過你們參考文獻要如何編排, 應該會有那些欄位。你們要確實且詳盡的去建立每筆參考文獻。另外,參考文獻的數目應該要適中。碩士論文我認為應該在30筆到40筆之間。博士論文可能多達 四、五十筆以上。但也不要過度誇大,把許多不相干的都放進來。當然,這些數目都不是絕對的,它會隨研究領域和議題有所差異。
我再花點時間跟大家談談怎樣做好survey的工作。(我用了約一天的時間整理這些東西,我的中打不好,昨晚打字打到清晨4點,只打了2/3,所以請你好好的看完!)
Survey是做好論文的第一步,也是關鍵的一步。Survey的目的大家都知道,就是要對研究的議題有個深入且廣泛的了解,這樣才知道目前在這領 域裡研究的進展已經到什麼地步,state of the art是什麼,有那些的子題及技術已經被探討,從而也可以知道那些還可以開發,那些技術可以被你的研究議題拿來應用。Survey 做的不好,最致命的打擊就是在你對你的研究議題一頭埋入,花了許多心血,好不容易熬出一些成果之後,突然才發現別人早已經發表同樣或類似的成果。
怎樣才能把survey做的深入且廣泛呢?我的方法是你要知道在這領域裡主要的國際會議是什麼,然後把這些會議近幾年來(至少三年)所發表過的論文 的title及abstract瀏覽一次,找出跟研究議題比較相關的論文(注意:是「議題」,不是「領域」)。這樣初步找出來的論文大概從十來篇到二、三 十篇,甚至也可能更多。接著,你得把這些論文的Introduction看一遍,對它們做個初步的瀏覽,然後把這些論文依它們與你的研究議題的相關性做個 大致的排序。接下來就是依序把這些論文仔細的研讀,每篇論文的重點是什麼,關鍵的技術又是什麼,都得弄得很清楚。我的經驗是:因為剛開始對研究議題較不熟 悉,前面幾篇念起來通常較吃力。可是隨著研讀的論文愈多,你就會發現愈來愈輕鬆。
在這個階段,你每篇研讀的論文大概都是夠水準的論文(因為他們是發表在主要的國際會議)。在研讀這些論文的時候,你得看它們探討那些相關的文獻,這 些文獻你大致都得知道,並且就其中與你研究議題最相關的論文,你也得找出來仔細的研讀,並且重覆這樣子的工作一直追溯下去。你不用擔心這樣做會無止無境, 因為當你從最近的一篇論文開始往前追朔,大概不超過三、四代,你就會發現不必再追朔,因為再往前追朔,你會發現它們要麼與你的研究議題愈來愈遠,要麼就是 你研究領域的基本知識。如果是你研究領域應具備的基本知識,而你還不了解,那你應該回頭再修一些課把基礎打好,不該這麼早就進入你想研究的議題上。
根據這個經驗法則,你會發現你在survey的階段只要把握一個原則:把與研究議題相關的最近幾篇論文拿出來,看看這些論文所引用的文獻有沒有你不 知道的,如果沒有,那麼比這些論文早的文獻你大概都沒遺漏了。如果有,就把它們找出來仔細的研讀。隨著你研讀的論文愈多,你的功力就愈增加。當你發現拿到 一篇新論文時只要看完它的Introduction之後,你就知道這篇論文的重點及猜出它用的主要技術之後,你的功力已經提昇到可以進入研究議題的階段 了。在這個階段,如果論文的研讀夠深入及廣泛,你往往也可以發現新的研究議題。
你的survey還不能在這裡停止,因為你的觸角可能尚未含蓋所有關於研究議題的文獻。你目前只有survey與研究議題相關的主要國際會議(以及 會議論文所引用到的相關文獻),這些會議通常不超三到五個。目前的國際會議相當多,而且有些會議的研討議題又廣,因此有可能兩個會議的主軸不一樣,但卻含 蓋類似的子題。舉例來說,假設你要研究的是peer-to-peer系統上的資訊搜尋,你大概會找專門探討peer-to-peer系統的國際會議。這個 目前大概有二、三個。可是你知道那裡還有呢?我告訴你至少還有二、三十個可能:專門討論分散式系統裡的國際會議(這至少有五到十個,其中first tier的約三、四個,其餘為second tier),討論平行運算的國際會議(這至少也有五個),討論網路與通訊系統的國際會議(這至少十個以上),討論資料庫與資訊檢索的國際會議(這至少也有 五個),相信了吧!而且還有好多新的workshop你從未聽過的。
你一定會問:一、我怎麼知道有那些可能相關的國際會議;二、我怎麼有辦法消化完這些會議的論文?
第一個問題得從你第一階段的論文研讀著手。在研讀這些論文的時候,你得注意它們發表在那裡,從而知道有那些可能相關的國際會議。
第二個問題:如何消化與你的研究議題可能相關的國際會議內的論文?你把與研究議題相關的最近幾篇論文找出來,看它們是在那一年發表的。如果你研究的 是熱門議題,你找到的應該是去年或今年的論文;如果你的議題冷門,那最近一篇論文有可能是好幾年前的事。不過不管是冷是熱,你都只需把相關的國際會議最近 一、二年的會議議程拿來看看,有沒有與你的研究議題相關的論文發表,有的話把論文找出來仔細研讀一下這篇論文有什麼突破,另外,也注意一下這篇論文引用的 參考文獻有沒有你尚未讀過的,沒有的話表示你前階段的survey做的很仔細,有的話你就得把這些遺漏的論文找出來研讀,並且用前面提到的方法再去追朔這 篇論文三、四代以內的參考文獻,以及論文出處,找出是否還有其他的相關國際會議,並且一樣得把這些會議近一、二年的議程拿來看看是否有相關的論文發表。這 些過程一定會收斂的,而當你發現沒有新的論文被你找出來之後,你的survey工作大概已經做的差不多了,可以準備收工全心投入研究議題上。通常而言,你 在第二階段找到的論文不會太多,大多數的論文在survey的第一階段都會看到。收工之前,為防萬一,你再到Google、Siteseer及幾個主要的 digital library,如IEEE,ACM,Springer等去search一下,確定沒有漏網之魚。如果你survey的深入,你應當知道要下那些關鍵字去 查詢。這個步驟也可以確保如果你研究的是冷門議題,在你看到的最近一篇的論文,到近一、二年的國際會議這期間,有沒有其他的論文你沒有注意到的(因為你最 後一階段的survey工作只注意相關會議最近一、二年的議程,而你看到最近的論文可能是好幾年前的東西)。
在這裡我好像都沒提到期刊論文。一般而言,期刊論文通常比較完整,但刊登的結果往往是二、三年前的東西。就資訊科技而言,二、三年內的研究進展可能 很大,因此比較新的結果通常先發表在國際會議上,發表之後,經過幾回合的修正才會投稿到期刊。所以你survey的論文比較新的東西很少會在期刊上發現。 但反之,比較久的成果,有可能已整理發表於期刊上。如果是如此,那你在研讀這個成果時,最好是找已發表於期刊上的論文研讀,這樣會得到比較完整清楚的資 訊。
整個survey的階段會看完幾篇論文?這當然看你的研究議題而定。但三十篇以上是跑不掉的。如果加上你只瀏覽Introduction 的部分,那可能在五、六十篇以上。
最後,我要你們做一件事情:
在一星期之內,把survey的工作按照我上面講的步驟重做一次。星期六之前,請你整理一個清單摘錄下列資訊,並email給我 (記住:做完整之後再email給我;我不要片段片段的接收你們的資訊):
1. 與你研究議題相關的國際會議及期刊有哪些。
2. 你找到哪些論文,論文格式請整理成bib檔格式(記住:我要的是bib檔格式,且要非常完整正確。如何做到,可以問實驗室學長。我也會請他整理一份心得告訴大家。)
3. 在你找到的論文裡,請用另一份表格整理下列資訊:請就這些論文依其與你研究議題的相關性分成三類:密切相關、相關、略為相關。同時請標記哪些是你已經仔細 的研讀過的,哪些是你只瀏覽Introduction ,但有把握住整篇論文的重點。若有尚未看完的論文,也請標記。
4. 請把你列出來的所有論文電子檔以下列方式命名:
年代-會議或期刊縮寫(若不知,請以第一作者的Last Name代之)-Title的摘要。
例如:2003-SIGCOMM-Peer-to-Peer Information Retrieval Using Self-Organizing Semanticverlay Networks.pdf
然後請你上傳這些檔案到ftp,你的個人目錄底下的paper 子目錄內。我會就你整理的清單去判斷你的survey是否足夠,再來決定你的proposal及論文應該還要做哪些工作。
Joung
◎ ◎ ◎ ◎ ◎

沒有留言:

張貼留言