在不實現的情況下,CS 的 paper 應該讀到什麼程度?
回想讀過的paper,能想起來的基本都是實現過的paper,沒實現的只有印象大概做的是什麼。實現每篇paper顯然是不可能的,那CS的paper應該要讀到什麼程度(或者怎樣讀)才能深刻地理解paper?
還有就是常常遇到聲稱各種牛b,實現起來各種坑的paper,不實現的情況下有沒有可能預判到可能的坑?
謝邀。從我非常有限的經驗來說,可能在沒有demo可以玩、沒有熟人可以請教的情況下,實現一遍是唯一的能夠深入理解的辦法了……
不請自來。本人經驗也很有限,談談個人的看法。
針對本題(即深刻地理解),我姑且認為題主對於paper中提出的演算法的每個細節,每個坑都想知道。那我覺得純讀paper是不可能的(原題問的是怎樣讀),因為很多paper,比如siggraph的paper,可能其中的很多trick都不會在paper中指出來。在讀paper 之餘,我認為有兩種方法:
(1)親自實現一遍。個人感覺這種方法不適用於大多數的paper,因為所花代價較大,除非它會成為你目前在做的系統的一部分,並且這點題主也說了。
(2)跑一遍和讀一遍paper作者提供的code,並適當修改驗證。這種方法對於熟練的人來說可能一天就能搞清楚其中的不少trick,甚至看出paper 的漏洞。我曾經遇到過某篇paper,在讀code的過程中發現跟paper中寫的演算法好幾處都有所出入。
當然對於大多數的paper(不需要太過深刻理解),我覺得首先看看introduction了解個大概,再著重演算法部分,最後看看結果(尤其是對比)就差不多了。要說以後會不會想起來,那確實可能時間久了想不起來,但這是很正常的,知識本來就是要不斷複習才能牢牢記住,何況是一篇前沿的paper中的複雜的知識,要想過一遍便記一生那是不可能的。對於那些你只是在做research的時候想參考或了解的paper,我覺得在那個當下知道就夠了。以後如果再想用,回來翻看也不花時間。
資歷尚淺,僅供參考。
學術界讀paper大都是了解他人的工作,找找漏洞,啟發啟發自己的idea,至於讀多麼精看個人情況吧
推薦閱讀:
※怎樣完成的第一篇論文?請描述當時的情形和經歷
※2015 年最驚艷的計算機領域的技術或論文都有哪些?
※如何看待數學論文的精簡性所帶來的弊端?
※如何看待小木蟲上的這個帖子?
※VeriGuide的檢查原理是怎樣的?