大牛們,你們寫論文會「偷藏一手」嗎?
最近遇到好幾次這種情況。拿到示例代碼後發現裡面有不少論文中沒寫到的「小技巧」,如果沒有這些基本上實現不了論文中的效果,甚至實時演算法連實時都做不到。
請問各位大牛,你們寫論文時也會這樣嗎?是覺得這些tricky的東西其實不重要,還是像費馬那樣,論文里不夠寫了?
當然會,但不一定是故意的。因為論文這種東西,惜字如金,長了容易被攻擊,所以細節一般都略去。所以在這種情況下,那些trick都因為是實現細節而,剩下演算法框架。歸根到底,論文這種東西,就是信息不對稱的。寫了表示我這麼做了,沒寫不表示我沒這麼做。你要照著論文實現,100%復現了是你的本事,沒有100%復現一般就表示還有實現上的細節不同。
比如,我很早以前在微博上就說過一件事情,Skinning with Dual Quaternions 這篇paper,從頭到尾沒說如何配合scale使用,附帶的代碼甚至沒有真的用dual quaternion,全都轉成矩陣來計算。要不是重新推一遍公式,是完全沒法知道最關鍵的地方被略過了。
但如果實現的paper多了,也會遇到很有意思的情況。曾經有個實習生,實現了一篇頂級論文,發現速度比原論文還快20%。然後我們驚恐地發現,他跑的還是debug版,換成release以後,簡直完爆啊。在生物醫學領域估計都很難藏一手,巴不得把能證明假說的數據都擺上去。要是發明了新方法,也就是那種技術型的,肯定會公開所有細節讓大家都來用,別人重複得越多說明發明者越牛x,說不定哪天還拿個什麼獎。要是那種理論型和應用型的,也是要擺出大量的證據,生怕少一個環節就被審稿人槍斃了。就算過審發表了,要是遺漏了什麼細節讓別人重複不出來,分分鐘也會是會被打臉的節奏。
但是,論文發表是有個過程的。有經驗的實驗室,第一稿投稿會故意留個小小的不致命的「漏洞」,讓審稿人往裡面跳,但其實相關數據早就做好了,只等審稿人提出問題直接附上去回應即可。要是第一稿太「完美」,就越容易引導審稿人雞蛋裡面挑骨頭(提不出問題很沒面子啊),到時候面對他們提出的刁鑽問題,哭都來不及。這是所謂提高命中率的「留一手」策略,而不是為了讓別人重複不出來。
而還有一類,是在企業比如葯企做的數據,在申請到專利甚至上市前,文章都不會發表的。因為論文對企業來說沒屁用,賺錢才重要。要是不小心發出去了被人搶仿了產品就噁心了。自然也得到一個推論,企業出來的文章,要麼他們已經獨家生產,要麼就是他們覺得這貨沒價值把文章發掉算了。
在實現細節上肯定無法做到介紹巨細無遺,所以需要開源演算法代碼。特別是與深度學習應用有關的論文,不開源代碼和數據集就是在耍流氓。:)
"初步混合後,用兩根鎳刮刀攪打直到大部分白色塊狀物消失。""鑒於樣品獨特的流變學性質,其最佳混合方式是攥在手裡上下搖動。""填入模具後,把模具在桌上猛敲除去氣泡。"
這種事就不用都說了吧?
化學文獻,涉及合成的 experimental section,幾乎所有人都會隱藏一些實驗細節(是一些較為重要的操作細節!雖然我們不指望他能像實驗記錄寫得那麼詳細)所以多和有經驗的人交流是很重要的。
語言是一門藝術,有些時候論文能中,真的是文字水平的原因。深入淺出、娓娓道來,甚至腦抽了要去點透困擾很多人的對於最最基礎的東西的理解,這種方式只適合於口頭交流。如果論文也這樣寫,反而會讓人感覺你的東西很簡單,也沒啥。畢竟很多審稿專家並不是你這個細分方向的,他並不見得理解你的工作量和付出。所以,適當的處理行文,讓文章讀起來更書面化、更學術化一點,還是很有必要的。已經說得很直白了,再說就要挨打了。相信題主會懂的。
誰來邀請一下韓春雨老師。。
很多人寫數學論文喜歡留一手,但是這其實完全可以理解,想到證明並且把證明寫清楚對大部分人來說已經是很傷腦筋的事情了,再要求把證明的動機解釋清楚既不必要也很難實現。
當然也有non trivial的反例,比如gromov就屬於寫清楚證明動機不那麼關注寫清楚證明的。個人感覺更加nontrivial的反例是jean bourgain和terry tao,前者證明和證明動機都很清楚的擺出來給你看(然而就算擺給我看我也學不會。。。。),後者的文章往往introduction裡面全是一些很直觀的對之後證明的解釋。細節太多容易被人攻擊,確實有這個情況。
為了論文審的快,好過,故意搞錯一點點數據
非大牛,學術萌新。一般寫論文寫的比較含蓄,看別人論文有時候尤其懵逼,一到演算法的關鍵就列幾個公式或者扯些雲里霧裡的話就這麼糊弄過去了。看別人的回答有說論文會公開源碼的,我的這個方向罕見有。還有,不能重複也有的是實驗數據的問題,可能某個演算法就適用於某個圖像也說不定哦。
這問題問的,整個代碼少了誰都實現不了論文中的效果,你別只看那幾個細節啊
論文是有主題的,一切內容為主題服務。看題目描述並不清楚你說的 tricky 的內容是不是和主題相關 —— 注意:並非缺了就不能運行的就和主題相關。
1) 和主題無關或者相關度不高。此時或許無意(沒考慮到) 或許故意刪掉——目的是不影響主題宣兵奪主,甚至只是篇幅限制。
2) 和主題相關。如果是無意的,那麼說明作者水平不高,這就要看文章檔次了。 如果是有意的,那麼說明他的工作有問題,刻意隱瞞不利因素只為發表 (你想到的 tricks 未必作者當時就想到了)推薦閱讀:
※各位醫生和科研工作者穿著白大褂如何上廁所的?
※生物信息學領域有哪些牛刊?
※如何評價深度學習文章平台Distill?
※你所在或了解的領域有哪些技術上不是很複雜,但創意非常好,很有原創性的研究?