Reddit 熱門話題:如何閱讀並理解論文中的數學內容?

 2017-08-07 11:12:20.0

選自Reddit

參與:Panda

有的機器學習論文中有大量的數學公式和推導過程,讀這樣的論文往往很是費力費時。為了了解閱讀這樣的論文的技巧,Reddit 用戶 thebackpropaganda 提出了自己的問題:理解機器學習論文讀什麼書比較好?要讀懂數學內容很多的機器學習論文,我又該讀什麼書?問題發出後反響熱烈,很多「過來人」都分享了自己經驗和看法。機器之心從中選擇了部分進行編譯介紹,更多經驗可參閱原帖(地址見文後)。

schmook 的回答:

「太多數學(math heavy)」有兩種可能的含義。你是指哪種?

一篇「太多數學的論文」可能是指:有很長的公式的論文,有復雜公式的大量代數運算和操作。

當你閱讀一篇論文時,你不會只讀一次。你首先要閱讀標題,然後你要決定要不要讀摘要,讀完摘要你還要決定是否瀏覽結果,之後你再決定是否瀏覽整個文本,等等。人生苦短,要讀的文章實在太多了。

要讀懂一篇有很多代數運算的論文,秘訣是不要在第一次閱讀時就去理解代數部分。這是大多數學生都會犯的錯。在第一次閱讀時,你不需要理解一個長計算過程的所有步驟。你大略看看並且假設它就是對的,著重看看其中的關鍵步驟即可。閱讀那些公式之間用英語寫的內容。閱讀結果,閱讀結論。當你大概理解了這篇該死的論文在說什麼之後,然後再考慮要不要花時間去琢磨那些代數部分。別被你不理解的部分困住。假設它們是對的,然後繼續閱讀。後面可以回過頭再來看。如此反复直到你完全搞懂。

當你像一位「應用數學家」一樣熟練時,你就有能力只需略覽代數部分就能或多或少理解這部分的內容、想要實現的目的以及需要做哪些步驟。沒人能快速閱讀對複雜公式的長操作,所以你不需要一開始就讀這些。你只需要粗略看看,然後每一次復讀都關注越來越細的細節。

另外,你也應該注意,計算中很多時候都會有錯誤。在第一次閱讀時就找到這些錯誤是不可能的。大多數時候這些錯誤與這篇文章想要得到的結論無關,但它們會讓你困惑,阻礙你對這些代數內容的理解。如果你之前已經有了大概的了解,就能更容易發現這些錯誤。

另外,當你查看這些等式時,你要確保你能理解這些等式的實際意義。我相信你知道這些等式的數學含義,但你明白這些等式的物理意義嗎? (抱歉,因為我是物理學家,所以我只知道這個比喻。)你知道該怎樣用普通語言解釋給我聽嗎——這個等式說明了這個特定係統在做什麼?你可以說出這樣的話嗎——「當你最大化 ELBO,這個近似後驗將與似然項中的數據允許的先驗相似」?這就是 ELBO 表達式背後的「物理意義」。當你達到這種程度時,推理長長的代數操作就輕鬆多了。要怎樣達到這種程度?讀大量論文,做大量計算。別無他法。

另一種「太多數學」的論文是指使用了非常形式化的數學語言而且依賴於(有時候是過分依賴或不必要依賴)許多形式的數學概念的論文。比如它引用了勒貝格測度、Radon-Nikodym 導數、西格瑪代數等等。

對我來說,這讀起來要難得多,因為它們會讓我的胡說八道檢測器困惑。所有形式部分看起來都很重要。但技巧是一樣的:首先略看。現在還無需查閱維基百科了解並記住什麼是博雷爾分層(Borel Hierarchy)。留在後面來做吧,你甚至可能不會讀這篇論文第二遍。

另外,也可以將形式概念替換成普通場景中的特定案例。很多時候,人們使用形式數學的原因是保證安全,防止出現什麼怪異的案例毀了他們的推理。就像是一個自作聰明的在讀數學博士問:「哦,要是這個函數是連續的但任何地方都不可微分呢?這仍然有效嗎?」所以,你應該假設沒有這樣自作聰明的人,並用比率來替代所有的Radon-Nikodym 導數、用好用的黎曼積分的簡單函數來替代所有測度,並且假設這個論文作者在賣弄自己,你不需要這些富麗的辭藻來理解他所說的內容。

有時候這種方法不管用,而你又確實應該讀那篇充滿了形式數學的論文,因為數學在其中發揮了重要作用。那就只有硬著頭皮上了。如果你像我一樣,形式數學不是長項,那就要花點時間和功夫了。

PassiveAgressiveHobo 的回答:

當我開始閱讀論文時,我總是會試圖一次性理解所有東西。我總是會卡在小細節上,因為沮喪,大多時候我都不能讀完這些論文。後來我看到了這篇論文《如何閱讀論文》:http://ccr.sigcomm.org/online/files/p83-keshavA.pdf,現在我正在嘗試使用其中的技巧來提升我的閱讀能力,目前來看,效果良好。

__boo__ 的回答:

不要擔心時間長;這極其取決於論文的新穎性、作者寫作的質量和你先前的知識。如果我閱讀的是一個熟悉的主題,我讀一遍就能理解其中的主要思想。但是我要讀好幾遍才能消化一篇非常新穎的論文或很少關注的主題的論文。即使如此,那也可能要好幾天,甚至好幾週,才能得到合理的直覺理解。儘管如此,我過去幾年也讀完了大約 1000 篇論文。

至少對我來說,關鍵在於完全理解作者的意圖,然後再去研究公式。自下而上地實現目標鮮有成效。 (計算機科學博士飄過)

Terminthem 的回答:

相關的 xkcd 漫畫:


原文鏈接: https://www.reddit.com/r/MachineLearning/comments/6rj9r4/d_how_do_you_read_mathheavy_machine_learning/

文章來源:機器之心