Showing posts with label 學術資源. Show all posts
Showing posts with label 學術資源. Show all posts

Monday, December 6, 2010

如何閱讀學術論文 - 選擇要閱讀的論文 (Deciding what to read)


在這個資訊爆炸的年代,很多研究領域的論文數量每一年都以極快的速度在增加,想要閱讀所有的論文幾乎是不可能的任務,所以我認為學習如何選擇要閱讀的論文,有時候和閱讀論文本身同等重要。

選擇是否閱讀某篇論文,有三項基本的要素:

1. 論文的公信力

2. 與研究題目的相關性

3. 研究領域的動態 


論文的公信力

在面對龐大的論文海時,常常不知道該從何下手,此時一篇論文的公信力對於判斷論文好壞是非常有用的指標,而一篇論文是否具有公信力,大致上可以從下面三個層面來觀察:

A. 論文作者及機構

論文的主要作者是誰傳達了很多重要的訊息,我常看到很多人會忽略論文作者的重要性覺得可惜。這些訊息包含了論文的品質、看待研究問題的哲學、研究的題目、和熟悉及常使用的方法等等。論文中的作者排序同樣也有很多訊息,比如說,誰是誰的博士班學生和博士後、論文是那位學生實習時的作品、博士論文的精華、那些人正同在一個大計畫裡。

這一些隱藏在作者名字背後的訊息提供了非常有用的資訊,來幫助你/妳選擇要閱讀的論文。舉例來說,我在心裡有一份口袋名單,時常會到作者的網頁看看有沒有新的作品,由此對於研究領域脈動的掌握更加即時。當你/妳看到一篇論文新發表在某某期刊時,其實那可能是兩、三年前的想法了,這中間已經不曉得又經過了多少演進。 而有些我覺得很好的研究學者,甚至只要有新的作品,不管題目是甚麼我都會閱讀,因為每一篇作品都表現了這些優秀的研究學者對於此領域的發展看法和願景。 

而了解這些學者間的師承關係 [1],除了茶餘飯後八卦說說嘴之外,其實可以從中得知很多關於研究相關的資訊。同一實驗室往往有類似的研究風格、常使用的數學解題工具等等。有時候一看到論文標題和實驗室的名字大概就可以猜到他們的作法。自己的經驗是這些背景知識對於理解一篇論文有很大的幫助。

至於領域中那些作者是值得注意的,如果指導老師對於領域的發展很有概念,學生很快就可以掌握到名單。沒辦法仰賴指導老師的話,可以自己學著從論文閱讀中去評判論文的品質 (從論文本身的貢獻、引用次數、別人引用這篇文章時介紹的口氣
等等),慢慢地瞭解該領域的指標人物是那幾位。注意這些優秀研究學者不見得擁有很高的職位頭銜,或一定是資深的大老級教授,有時候可能只是一位正在唸博士班的學生。

B. 發表期刊、會議

第二點為論文發表的地方,也是新手最容易大略判斷論文品質的方法。每一個領域往往都會有公認的最好的論文發表期刊或是會議。這些期刊和會議論文長年經營下來對於審核論文都有一定的水準,所以比較不容易遇到品質不佳的論文。關於個別領域中的公認的優良期刊和會議,可以請教指導老師或是有經驗的學長姐,或是藉由期刊影響力指標(impact factor)或是會議的排名來做判斷 [2]。要注意的是期刊的影響力指標因領域而異,比如說,將工程領域的期刊與生物、醫學相關的領域做比較是相當不公平的。同樣的情況會也發生在會議排名上,每個人對於會議的好壞看法不見得一致,所以不用太拘泥於別人做好的排名,在某個領域論文閱讀較廣泛之後自己慢慢會對某些期刊和會議論文有較正確的評價。

當然論文的發表處並不是唯一判斷論文好壞的因素,頂尖的期刊或會議同樣會有品質不佳的論文出現,而沒那麼有名的期刊或會議也有可能有能啟發你/妳的好論文,沒有絕對的好壞。有時候甚至是頂尖的研究學者也不見得會將他的作品發表到最有名望的期刊,其中有很多非學術上的考量。舉例來說,當你的研究主要競爭對手掌握某些知名期刊的主要編輯時,把重要作品往這些期刊投稿時,很有可能會因為對方私心考量而扣住你的論文成果。所以真正判斷一篇論文的好壞主要還是得看論文的內容。


C. 論文的完整性

除了藉由了解論文作者和期刊/會議長久建立下來的名望之外,第三點,即是觀察論文本身的完整性,在科學與工程領域中,可重複性(Reproducibility)是非常重要的觀念。在理論科學中,論文中標準而嚴謹的證明即可提供讀者在觀念上的驗證。在實驗科學中,實驗的可重複性便相當重要,一篇完整的論文必須提供足夠多的細節讓其他研究團隊可以在相同的條件下重複該實驗結果。不少在生物醫學界的論文偽造數據遭到撤銷,都是因為沒有任何團隊可以重複原先的實驗結果而遭到舉發。

因此,第三項觀察論文的公信力的指標即是論文的Reproducibility,在閱讀論文之前,可以先了解該篇論文是否願意提供相關的測試資料和處理程序 (e.g., 詳細的實驗步驟、足夠的細節、環境設定或是程式碼等等),由此判斷論文的公信力。


與研究題目的相關性

在拿起一篇研究論文閱讀之前,請先問自己兩個問題:

第一、 你/妳為什麼要閱讀這篇論文?
第二、 你/妳預期從藉由閱讀這篇論文的過程中得到些甚麼?

了解這兩點可以幫助自己很快地找到正確的論文和該閱讀的段落,因此釐清自己閱讀論文的動機是相當重要的,否則很容易會發生明明已經讀過很多論文了,但是對於手上的研究題目仍然是沒進展的情況。

一般來說,從閱讀一篇論文的過程中,可能可以從中學習到的東西有

A. 認識領域中的某個未解決題目

當你/妳初次接觸一個研究題目時,第一步並不是找一篇最複雜效果宣稱最好的論文硬K,生硬地去試著了解實作細節等等。如果只是個課程實作專題則另當別論,但是若是研究,這樣的做法很容易就陷入見數不見林的窘境。我的建議是先應該先好好地問一下幾個問題?

為什麼這是個重要的問題?
為什麼這個問題困難? 難在哪裡?
問題的設定是甚麼? 輸入和輸出分別是甚麼?
要認識新題目,首先可以搜尋有沒有相關的Tutorial、short course、甚或是video lecture [3]:

搜尋關鍵字:BlahBlahBlah + tutorial/lecture/video/introduction/wiki

這些豐富的學術資源可以提供你/妳對於一個新題目概略的知識,有了high-level的概念之後,再繼續專研比較不容易迷失。

B. 熟悉某個題目的相關論文作品

明白了某個題目的重要性、設定、和困難性之後,下一步可能會希望熟悉該題目相關的論文作品,了解之前的人是怎麼處理這個問題。

這時候需要閱讀的論文屬於比較survey性質,可以找找看是否有相關的回顧文獻。

搜尋關鍵字:BlahBlahBlah + survey/review/introduction/

C. 學習某個特定方法和實作細節

有時候我們想要了解的並不是一篇完整的內容,而僅僅只是論文中使用到的某個數學工具或方法。這種情況下,最簡單直接的方式就是翻教科書相關章節,尤其是一些已經被廣泛討論且理解的方法(e.g., Principle Component Analysis)。如此一來可以避免掉閱讀論文時因為缺乏足夠細節而較難理解的問題。

搜尋關鍵字:BlahBlahBlah + Tutorial/introduction/wiki

D. 學習常用的實驗設定
通常在做科學實驗和工程驗證時,往往會遵循既有的實驗方法來實現,比如說,做影像資料壓縮方面的研究論文絕大部分都會秀PSNR/Bit-Rate的圖,做偵測相關研究的得給precision-recall curve,做識別研究的通常都會給準確率和Confusion matrix等等,還有特定題目往往有不同的好壞評量標準,了解這些實驗設定才能使得讀者對你/妳和前人的研究有個比較的基準。

搜尋關鍵字: BlahBlahBlah + experiment/setting/parameter/evaluation/quantitative/qualitative

E. 了解已有方法所能達到的效果
搜尋關鍵字: BlahBlahBlah + suvery/review/benchmark/qualitative/study

F. 藉由聯想找到可以延伸研究方向
這個動機就沒有特定適合的相關論文,透過廣泛的跨領域閱讀,總是可以獲得更多啟發。

搜尋關鍵字: BlahBlahBlah

研究領域的動態
在一些較熱門的研究領域,隨時了解研究領域的動態是很重要的,這部分可以藉由訂閱網路上的關於學術的新聞頻道,了解到現在大家正關心的研究題目或是有那位知名的學者在做回顧性的演講,才不容易跟領域的脈動脫節。 

這裡所謂研究新聞頻道並不是像一般的社會新聞一樣有個統一的版面,每個領域都會有各式各樣不同的管道。

舉例來說,如果你/妳是數學系的學生,學習分析相關的領域,那麼關於這領域的研究進展可以訂閱Terence Tao的What's new 部落格,還有他的Google Buzz feed。大約每隔一兩天就會有新的長篇文章 (我都不曉得他那裡來這麼多美國時間 = =)

另外像是幾個月前數學界熱烈討論的P<>NP的問題,主要的討論區也在一位教授Dick Lipton的Gödel’s Lost Letter and P=NP 部落格上,頂尖的數學家們如Timothy Gowers, Ken Regan, Gil Kalai, Terence Tao, Suresh Venkatasubramanian都在這個平台上即時地討論,而不是透過正式的論文發表和評論,所以了解這種管道對於掌握研究進展有很幫助。

而數學界比較傳統一些的新聞管道則是藉由網站上的Preprint來獲得,比如說 arXiv 和  Front for the arXiv
再舉訊號處理界現在最熱門的題目Compressive sensing為例,資訊的集散地在Nuit Blanche這個部落格,你可以藉由電子郵件訂閱來取得這個題目最新的研究進展。

在影像處理、電腦視覺、醫學影像這些領域,你/妳可以訂閱Imageworld文摘,從中不只可以得知該領域哪些會議在徵求論文,還可以知道哪裡有相關的實習工作機會或是Ph.D.獎學金。除了被動接受資訊外,也可以主動和這個Community互動,比如說之前和朋友合作的Computer Vision Genealogy Project 就是藉由這個管道通知全世界的研究學者。

如果你/妳對於你/妳所在的研究領域有足夠的了解,就會曉得那幾間實驗室是重點實驗室,時常會邀請知名學者去演講領域上新的突破或是回顧,這些都是非常值得了解的資訊。舉我自己所在的資訊領域(電腦視覺)為例,我加入了兩份Mailing list。第一份是MIT CSAIL的研討會通告,另一份則是UC Berkely的computer vision mailing list。從MIT CSAIL的研討會通告常常可以得知資訊領域上的重大進展,剛畢業的Ph.D.的博士論文題目,看到有興趣的演講再去作者的網頁找相關資源進行了解。而UC Berkely的computer vision mailing list則可以提供電腦視覺最新的研究進展 (因為如果有學者有夠好的研究成果,通常會被邀請到該實驗室演講)。

上面這些新聞管道,大部分都可以藉由電子郵件來訂閱,也就是每當一有更新時,你/妳只需要看看信就可以了,不用到各網站跑來跑去。不管是哪一種新聞管道,都比最傳統的紙本期刊訂閱快將近1-3年 (依各領域不同)。

至於如何掌握自己領域的動態,這部分就要請教自己的指導老師或是經驗豐富的學長姐。
[1] Academic genealogy
[2] Journal impact and conference ranking
Thomson Reuters (ISI) Web of Knowledge
[3] Videolecture是一個蒐集學術演講的網站,裡頭的分類非常完整,內容有許多學術會議、專題演講、博士班口試演講、Tutorial介紹等等。非常推薦。

Monday, August 23, 2010

Computer Vision Taiwanese Group



Computer Vision Taiwanese Group is an open platform to connect all taiwanese people (students, researchers, engineers, and faculties) working on computer vision, image processing and pattern recognition. Here you can find people with relevant research interests in computer vision. You are welcome to leave comments, share academic links that you found useful, discuss technical problems you encounter, etc.


The group page is open to everyone.


Here is the link to the group page:
http://www.facebook.com/group.php?gid=112719202116662

Tuesday, August 17, 2010

如何閱讀學術論文 (How to Read Research Papers) - 前言


"What's the most resilient parasite?"

"An Idea."

"A single idea from the human mind can build cities. An idea can transform the world and rewrite all the rules."
                                                       - Inception


動機

論文閱讀和論文寫作是兩項研究過程中相當為重要的過程,然而大部分的學生(包括我自己)卻很容易忽略掉這兩項的重要性,在Trial and Error中走了很多冤枉路。這份有關於論文閱讀的文章(How to Read Research Papers?)以及接下來想分享的論文寫作(How to Write Research Papers?),我想藉由整理自己的一些心得和網路上的資源,提供給新踏入研究領域的同學做參考。


什麼是研究論文寫作與閱讀?

研究論文是我們用來傳遞想法的一種手段和媒介。用電影<全面啟動>來比喻的話,撰寫論文的過程即是Inception: 將想法(idea)從作者腦袋裡植入到讀者的腦袋,而閱讀論文的過程則是Extraction: 將想法從論文之中萃取出來,成為對自己有幫助的知識


為什麼要閱讀研究論文?

閱讀研究論文好處多多,雖然沒有辦法讓你/妳每次考試都考一百分,但往往是多個願望一次滿足,比如說:

1. 指導老師告訴你要讀,師命難違。
2. 避免發生閉門造車的慘劇。
3. 了解現在研究領域方向。
4. 使得你/妳能複製或是延伸論文的結果。
5. 提供你/妳有用的資料。
6. 學習經過消化後的思想。
7. 教導你/妳如何寫作。


如何閱讀學術論文?

接下來分閱讀學術論文時的四個階段做分享。在第一章首先先了解如何在茫茫的論文海之中選擇要閱讀的論文。決定好要閱讀的論文後,先別急著跳進論文的細節之中,第二章介紹如何利用豐富的學術資源來幫助你/妳很容易地抓住作者的想法,有助於閱讀論文本身。第三章則是閱讀論文本身,分為廣度和深度的閱讀。閱讀論文之後,所花的時間要怎麼樣才能最有價值呢?第四章介紹藉由總結、評論和聯想將從論文Extract而得的內容轉化成對自己有幫助的力量。

註: 第一二章的目的在於有效率地(efficient)的閱讀論文,而三四章則是希望能有效地(effective)從閱讀論文中獲得有用的知識。

內容

1. 選擇要閱讀的論文
    (Deciding what to read)

2. 閱讀論文前: 善用學術資源
    (Making the best use of academic resources)

3. 閱讀論文中: 建立廣度與深度
    (Reading for breadth or reading in depth)

4. 閱讀論文後: 總結, 評論, 與聯想
    (Summary, review, and creative thinking)

Tuesday, August 10, 2010

有效率地閱讀論文 (Efficient Reading of Papers)











前陣子有位朋友問到,剛進入一個新領域時,每次要看懂一篇論文都得花上很大的功夫,而且看完之後對於自己的研究往往還是沒有甚麼頭緒,要怎麼樣才可以大量且有效地閱讀科學論文?

以前並沒有仔細想過這個問題,於是搜尋網路上許多關於這方面主題的探討,但是大多數強調的是如何分析一篇論文 [1]。然而在某些領域,論文數量以及成長速度非常地驚人,使得剛進入研究領域的研究生們常常在面對一大片論文海時,會覺得不知所措而走了很多冤枉路。所以我想分享這一兩年自己慢慢摸索出來的尋找論文與閱讀論文兩點簡單的經驗:1) 選擇要閱讀的論文, 2) 善用其他資源,提供給剛開始研究之路的朋友參考。


選擇要閱讀的論文


有些領域的論文數量相當龐大,每一年可能都有好幾千篇新的論文發表,進展速度非常快,所以我覺得如何選擇要閱讀的論文,有時候和閱讀論文本身幾乎是同等重要。

我個人選擇論文的偏好,大致上有四個要素
  1. 發表在哪裡?
  2. 作者是誰?
  3. 和研究題目的相關性?
  4. 新穎或是回顧性的題目?

第一個要素是論文發表的地方,也是新手最容易大略判斷論文品質的方法。每一個領域往往都會有公認的最好的論文發表期刊或是會議。這些期刊和會議論文長年經營下來對於審核論文都有一定的水準,所以比較不容易遇到品質不佳的論文。關於個別領域中的公認的優良期刊和會議,可以請教指導老師或是有經驗的學長姐,或是藉由期刊影響力指標(impact factor)或是會議的排名來做判斷。當然論文的發表處並不是唯一判斷論文好壞的因素,頂尖的期刊或會議同樣會有品質不佳的論文出現,而沒那麼有名的期刊或會議也有可能有能啟發你/妳的好論文,沒有絕對的好壞。

第二點是論文的作者,我常看到很多人會忽略論文作者的重要性。論文的主要作者是誰其實傳達了很多重要的訊息,比如說論文的品質、看待問題的哲學、研究的題目、和常使用的方法等等。論文中的作者排序同樣也有很多訊息,比如說,誰是誰的博士班學生和博士後、論文是那位學生實習時的作品、博士論文的精華、那些人正同在一個大計畫裡。

這一些隱藏在作者名字背後的訊息提供了非常有用的資訊,來幫助你/妳選擇要閱讀的論文。舉例來說,我在心裡有一份口袋名單,時常會到作者的網頁看看有沒有新的作品,由此對於研究領域脈動的掌握更加即時。(當你/妳看到一篇論文新發表在某某期刊時,那其實可能是兩、三年前的想法了,這中間已經不曉得又經過了多少演進。而有些我覺得很好的研究學者,甚至只要有新的作品,不管題目是甚麼我都會閱讀,因為每一篇作品都表現了這些優秀的研究學者對於領域的發展看法和遠景。

了解這些研究學者間的師承關係 [2] 除了茶餘飯後八卦說說嘴之外,其實可以從中得知很多關於研究的資訊。同一個實驗室往往有類似的研究風格、常使用的數學解題工具等等。有時候一看到論文標題和實驗室的名字大概就可以猜到他們的作法。個人的經驗是這些背景知識對於理解論文有很大的幫助。

至於領域中那些作者是值得注意的,如果指導老師對於領域的發展很有概念,學生很快就可以掌握到名單。沒辦法仰賴指導老師的話,可以自己學著從論文閱讀中去評判論文的品質 (從論文本身的貢獻、引用次數、別人引用這篇文章時介紹的口氣等等),慢慢地瞭解該領域的指標人物是那幾位。注意這些優秀研究學者不見得擁有很高的職位頭銜,或一定是資深的大老級教授,有時候可能只是一位正在唸博士班的學生。

第三點為是和題目的相關性。選擇直接相關的論文(i.e., 處理同一個題目)很簡單,只要依照前兩個因素來做判斷其重要性就可以。選擇該閱讀那些和題目間接相關的論文,則需要一些研究上的經驗,有很大一部分的論文就是藉由連結這些間接相關的論文而產生的 (對相關例子有興趣的朋友請參考如何找研究題目()) [3]


第四點是藉由訂閱網路上的關於學術的新聞頻道 [4],了解到現在大家正關心的研究題目或是有那位知名的學者在做回顧性的演講,才不容易跟領域的脈動脫節。


這裡所謂研究新聞頻道並不是像一般的社會新聞一樣有個統一的版面,每個領域都會有各式各樣不同的管道。


舉例來說,如果你/妳是數學系的學生,學習分析相關的領域,那麼關於這領域的研究進展可以訂閱Terence Tao的What's new 部落格,還有他的Google Buzz feed。大約每隔一兩天就會有新的長篇文章,我都不曉得他那裡來這麼多美國時間 = =


另外像是最近幾天數學界熱烈討論的P<>NP的問題,主要的討論區也在一位教授Dick Lipton的Gödel’s Lost Letter and P=NP 部落格上,頂尖的數學家們如Timothy Gowers, Ken Regan, Gil Kalai, Terence Tao, Suresh Venkatasubramanian都在這個平台上即時地討論,而不是透過正式的論文發表和評論,所以了解這種管道對於掌握研究進展有很幫助。


而數學界比較傳統一些的新聞管道則是藉由網站上的Preprint來獲得,比如說 arXiv 和  Front for the arXiv


再舉訊號處理界現在最熱門的題目Compressive sensing為例,資訊的集散地在Nuit Blanche這個部落格,你可以藉由電子郵件訂閱來取得這個題目最新的研究進展。


在影像處理、電腦視覺、醫學影像這領域,你/妳可以訂閱Imageworld文摘,從中不只可以得知該領域哪些會議在徵求論文,還可以知道哪裡有相關的實習工作機會或是Ph.D.獎學金。除了被動接受資訊外,也可以主動和這個Community互動,比如說之前和朋友合作的Computer Vision Genealogy Project 就是藉由這個管道通知全世界的研究學者。


如果你/妳對於你/妳所在的研究領域有足夠的了解,就會曉得那幾間實驗室是重點實驗室,時常會邀請知名學者去演講領域上新的突破或是回顧,這些都是非常值得了解的資訊。舉我自己所在的資訊領域(電腦視覺)為例,我加入了兩份Mailing list。第一份是MIT CSAIL的研討會通告,另一份則是UC Berkely的computer vision mailing list。從MIT CSAIL的研討會通告常常可以得知資訊領域上的重大進展,剛畢業的Ph.D.的博士論文題目,看到有興趣的演講再去作者的網頁找相關資源進行了解。而UC Berkely的computer vision mailing list則可以提供電腦視覺最新的研究進展 (因為如果有學者有夠好的研究成果,通常會被邀請到該實驗室演講)。


上面這些新聞管道,大部分都可以藉由電子郵件來訂閱,也就是每當一有更新時,你/妳只需要看看信就可以了,不用到各網站跑來跑去。不管是哪一種新聞管道,都比最傳統的紙本期刊訂閱快將近1-3年 (各領域不同)。


至於如何掌握自己領域的動態,這部分就要請教自己的指導老師或是經驗豐富的學長姐。





善用其他資源

前頭花了這麼大的功夫選擇了要閱讀的論文,是不是接下來就要把論文從頭到尾了呢?

答案通常不是。

也許是我很懶惰的關係,印象中我幾乎沒有把一篇論文從頭到尾仔細地看過…Orz

但也因為這懶惰的個性,讓我懂得善用論文其他相關的學術資源。要記得論文發表有些時候只是研究的一種形式。論文的相關演講、口頭報告的投影片、海報、計畫網頁等等都是研究的發表形態。

當我看到一篇想要閱讀的論文時,大概會有三個偷懶的步驟 XD

第一步會試著去找找看網路上有沒有相關的演講或課程 [4]。因為演講時往往是作者重新審視過他寫過的論文,經過消化沉澱之後再進行報告,所以大部分都比直接閱讀論文來得更容易理解,有時聽個三分鐘的演講對於論文的理解更勝埋首苦讀論文三小時。

第二步拜訪作者或實驗室的網頁去尋找相關資源:報告投影片、海報、Demo video等等。這些資料都是作者將論文的內容濃縮之後取其精髓後的成果,所以看這些資料不用擔心自己會陷入太過細節的內容。

最後一步才真正接觸到論文本身,通常會採取漸進式地閱讀。先瞄一下標題和作者,猜猜看論文的內容,接著仔細看摘要,了解論文大致的全貌。如果有興趣的話,再從簡介開始閱讀,從簡介章節中可以徹底了解論文要處理的問題、困難點、主要貢獻、方法、和主要結果。如果論文寫得好的話,看到這裡應該就幾乎把論文的內容看得差不多了。因為了解論文的想法和貢獻才是閱讀論文的本質。關於剩下的細節實現,包含使用了那些方法解題、公式的推導、參數的調整、實驗的設定等等,每個人都可以有不一樣的實現方式。這些細節當你/妳真正需要實現時再回頭來參考就可以了,只有在論文和題目高度相關時,完整的閱讀才是必要的。

至於看不懂論文時該怎麼辦呢?體醒自己並不是所有的論文都寫得清楚易懂,有時候不見得是你/妳個人閱讀能力的問題,遇到這種情況時,我也有個偷懶三步驟 XD

第一、回頭尋找相關資源,看有沒有相關投影片,如果不了解的關鍵點在於某個已知的方法,也許Wikipedia就會有很完整又簡單的介紹,或是搜尋網路上相關的Tutorial等等。做法很簡單,就是蒐尋一下不了解的Keywords + wiki 或是Keywords + tutorial。

第二、相關的參考文獻,所謂的相關論文有兩種,1) 這篇論文所引用的論文, 2) 引用這篇論文的論文。閱讀引用的論文可以了解以前看待問題的角度,和更清楚詳細的介紹。而閱讀引用這篇論文的論文,則可以看到其他人是如何看待和評價你/妳手上這篇文章 (i.e., 從別人消化過的文字來閱讀論文)

第三、乖乖地再仔細讀一遍。
自己的論文閱讀經驗很少走到第三步XD,除了本身的懶惰個性之外還有一個原因:如果論文沒有辦法很簡單地解釋讓別人理解時,那大概只有兩種可能,1) 作者自己也不懂, 2) 這不是篇好論文,不用浪費時間在上面。

You do not really understand something unless you can explain it to your grandmother. -- Albert Einstein

[1] How to read a paper

網路上有很多關於如何閱讀論文的文章,這裡介紹四篇文章,對於閱讀一篇論文很有幫助。

[2] Academic genealogy

有些領域中的師承關係可以在網路上找到相關資源,舉例來說:


之前寫有關於如何找研究題目的系列文章,有興趣可以參考看看。


Videolecture是一個蒐集學術演講的網站,裡頭的分類非常完整,內容有許多學術會議、專題演講、博士班口試演講、Tutorial介紹等等。非常推薦。

Monday, June 14, 2010

[演講] 如何找研究題目? (電腦視覺) 錄影



時間: 2010 年 06 月 08 號
地點: 中央研究院資訊所
題目: How to come up with new ideas in computer vision?
摘要:
Computer vision has been studied for more than 40 years. Due to the increasingly diverse and rapidly developed topics in vision and the related fields (e.g., machine learning, signal processing, cognitive science), the tasks to come up with new research ideas are usually daunting for junior graduate students in this field. In this talk, I will present five methods to come up with new research ideas. For each method, I will give several examples (i.e., existing works in the literature) to illustrate how the method works in practice.







相關資源


1. Presentation slide download
http://jbhuang0604.blogspot.com/2010/05/how-to-come-up-with-new-research-ideas.html


2. Online slideshow
http://www.slideshare.net/jbhuang/how-to-come-up-with-new-research-ideas-4005840?from=ss_embed


3. Main content in my blog (in Chinese)
http://jbhuang0604.blogspot.com/2010/04/blog-post.html


4. Raskar Idea Hexagon
http://www.slideshare.net/cameraculture/how-to-come-up-with-new-ideas-raskar-feb09?src=related_normal&rel=4005840

Monday, May 24, 2010

演講:如何找研究題目 (電腦視覺)?





兩個禮拜之後將給這個演講,應該是暑假前最後一次講這個題目,對於電腦視覺研究有興趣的朋友(e.g., 碩博士生)歡迎來參與討論。


注意時間有更正
時間:   6月8日下午 4:00-5:30 
地點:台北市南港中央研究院資訊所 106室

時間:6/8 (二) 下午2:00 - 3:30 (3:30-4:00 問題討論)
地點:台北市南港中央研究院資訊所 107 室





題目:How to come up with new research ideas (in Computer Vision)?

摘要
Computer vision has been studied for more than 40 years. Due to the increasingly diverse and rapidly developed topics in vision and the related fields (e.g., machine learning, signal processing, cognitive science), the tasks to come up with new research ideas are usually daunting for junior graduate students in this field. In this talk, I will present five methods to come up with new research ideas. For each method, I will give several examples (i.e., existing works in the literature) to illustrate how the method works in practice. 


This is a common sense talk and will not have complicated math equations and theories.

Note: The content of this talk is inspired by Prof. Ramesh Raskar's talk on "How to come up with new Ideas".


投影片

Saturday, May 22, 2010

How to Solve Problems in Computer Vision? Preface



How to Solve Problems in Computer Vision? Preface




Jia-Bin Huang
Jbhuang0604@gmail.com

Latest Update: May 20, 2010


The Feynman Problem-Solving Algorithm:
                      (1) Write down the problem
                      (2) Think very hard
                      (3) Write down the answer
         -Richard Feynman


Motivation

When writing the article series “How to come up with new research ideas in computer vision?”, I think that there is another thing which is also essential to the research process, namely, “How to solve problems in computer vision?”. It may not be a difficult task for junior researchers (especially the imaginative ones) to come up with new research ideas. However, it often takes years of research experiences to know how to describe and analyze a problem via scientific approaches, deal with data uncertainty though statistical approaches, and realize an effective and efficient implementation using engineering approaches.

The gap between the abstract thinking and the problem-solving skills usually forms the major communication barriers between graduate students and their advisors. For example, students might feel that the feedback from the advisor useless or impractical, while advisors might worry about the fact that students could have been lost in technical details. In fact, these two things (i.e., knowing what to do and how to do) are both of great importance and complement with each other. As the MIT motto says

Mens et Manus (Mind and Hand) - MIT's motto

In “How to come up with new research ideas?” I addressed the Mens (mind) part. In this series, I will focus on the Manus (hand) part.

After introducing the basic concepts in computer vision, I will follow the Feynman Problem-Solving Algorithm to show how to solve problems in computer vision. The three problem-solving steps will be accompanied with various examples in the following articles. Through examples, people can learn how these vision problems had been addressed and know how to apply these methodologies on their own problems. In other words, I am a believer in this quote:

Do not tell people how to live their lives. Just tell them stories. And they will figure out how those stories apply to them. - Randy Pausch


Note: The content of this article series is inspired from the new computer vision textbook: Computer Vision: Algorithms and Applications, by Richard Szeliski.


Three Level of Analysis in Computer Vision

David Marr, one of the pioneers in computer vision, proposed to understand vision (i.e., an information processing system) at three different levels of analysis.

1.    Computational Level
What does the system do, and why?

2.    Representation and Algorithm Level
How does the system do what it wants to do? What are the representations and what are the algorithms to build and manipulate the representations.

3.    Implementation Level
How does the system be physically realized?

Even after thirty-years, Marr’s view on vision remains useful and serve a good guide for formulating and solving problems in computer vision.


What Kinds of Problems Are There in Computer Vision?

Computer vision processes and interprets visual information (e.g., images or videos). We can roughly classify vision problems into three categories by the level of the output labels: 1) Low-level, 2) Mid-level, and 3) High-level vision.
(Note that this is my own interpretation. There may be other viewpoints on how to define low-, mid-, and high-level vision.)

The output from low-level vision problems is a label map, i.e., one label for each pixel. Mid-level vision problems produce meaningful representations from images or videos. High-level vision predicts (semantic) class labels.

InputVisual information (e.g., image or video)

=====Low-level vision=====

OutputA label map
Example problems                         Label means

Depth estimation                       Depth from the viewer
Figure / ground estimation         Foreground or background
Edge detection                          Edge or non-edge
Segmentation                            Region membership
Motion (optical flow)                   Motion vector
Intrinsic image                           Reflectance
Image restoration               High-resolution, clear, clean images
(denoising,  demosaicking,
deblurring, inpainting,
contrast enhancement,
dehazing, super-resolution)

=====Mid-level vision=====

OutputRepresentation of images
Example problems

Shape reconstruction
Human/head pose estimation
Hand gesture representation
Face representation
(Snakes / Active shape models / Active appearance models)
Texture representation and synthesis
Image representation 
(Bag-of-features / Spatial pyramid, i.e., coding and pooling of low-level features)

=====High-level vision=====

InputSemantic label of an image
Example problems

Object detection / localization
Object recognition
Optical character recognition
Hand-written digit recognition
Event recognition
Scene understanding

Relationship between Computer Vision and Computer Graphics
From the three-level of vision problems above we know that all computer vision problems aim to recover information Y we need by input visual information X. In other words, the goal of computer vision problems is to accurately estimate the conditional probability P(Y|X). On the other hand, computer graphics cares P(X|Y), i.e., given the information Y, what’s the realistic image X would be?

Take the Natal Project for an example, computer vision attempts to the recover the underlying human pose (or facial expression) from image and depth sensors, while computer graphics generates the corresponding animation (the one you saw in your TV) from the estimated pose.


Another practical example is 3D city in the Google Earth. Computer vision reconstructs the 3D structure from a large collection of photos, while computer graphics renders realistic scenes from these 3D models.


Over the last decades, we have witnessed an increasing interaction between computer vision and computer graphics, such as image-based modeling and rendering, morphing, light field capture and rendering, panoramic image stitching and computational photography.


How to Solve Problems in Computer Vision?

How to solve these difficult inverse problems in computer vision? We will follow Richard Feynman’s Problem-Solving Algorithm and show how three different kinds of approaches, namely, scientific, statistical, and engineering approach are applied in this problem-solving algorithm.

The Feynman Problem-Solving Algorithm
Step 1: Write down the problem.
Step 2: Think very hard.
Step 3: Write down the answer.

The problem-solving algorithm seems trivial at the first glance. However, it can be widely applied to solve complex problems. Below is a tentative outline:

1.    Write down the problem (Scientific)
  1. Low-level vision
  2. Mid-level vision
  3. High-level vision

2.    Think very hard (Statistical)
  1. Bayesian Modeling
  2. Inference: Maximum Likelihood (ML), Maximum a Posteriori (MAP) and Minimum Mean Squared Error estimation (MMSE)
  3. Approaximate inference: Monte Carlo methods, Variational methods, and (loopy) belief propagation.
  4. Structured prediction: Markov random Field, Conditional random field, Max-Margin Markov Networks, Structured SVM, Joint Kernel Support Estimation

3.    Write down the answer (Engineering)
  1. Implementation algorithms
  2. Testing: synthetic experiments, noise and abbreviation from the model, real-world images