机器学习论文怎么读?论文讲解大神教你三步妙招。

首先声明此博客来自B站的一个视频。

每周阅读10到12篇研究论文,以此紧跟计算机领域的潮流。找机器学习时,一个最爱的资源是Reddit,另外还有个很棒的网站arxiv-santiy.com,AI大佬开发的,谷歌和DeepMind也会在各自的网站上发表研究成果。

阅读论文时带着目的去读,比如学习更多的激活函数,或者能帮我使用注意机制的概率模型等等,目标确定之后,就能够很容易的确定读论文的策略,只是从数学上看懂机器学习论文并不是我们的理想目标,能让自己有耐心有动力读下去更为重要。举个例子,有一篇论文名字叫Generative Adversarial Nets,这篇论文信息量很大,它整合了很多观点,阅读时通过三步校正法,在第一步,仅浏览论文,理解论文大意,先会看标题,看标题是否有趣或者相关,接着,读摘要,摘要就是论文中研究工作的简短和独立的总结,如果摘要很有趣,那么可以继续略读论文剩余部分,阅读期间,仔细阅读引言,然后是段落和小节标题,但不管剩余部分,主要是忽略数学部分。在第一步中,我从来不看数学方面的内容,然后我会读末尾总结,可能会扫一眼引用资料,主要是留意有没有我看过的。在第一步,我会假设数学部分是正确的,我这步的目标就是能弄懂作者的目的、论文的主要贡献、论文想解决什么问题以及是否是我感兴趣的内容。等我完成第一步后,我会回过头看看网上其他人怎么评价论文,把我的初步想法和大家对比一下。第一步的基本目的就是确保论文值得我花时间继续研究,人生苦短嘛。如果论文符合我的兴趣,接着我会第二遍重新读它,在第二遍会更严谨,也会边读边做笔记,我会读全部的内容,尽力高度理解论文中的数学部分。我还会看所有图表及说明部分,也会努力高度理解算法。大多时候,作者会将公式分解,析出因数。在第二步,我会避免分析这一点。我看到论文在用一种叫做相对熵的损失函数,从没听说过,但我能理解将损失函数最小化的概念,我在读论文的实验时,我会尽力评估试验结果,它们是重复的吗?结果有明显的证据支撑吗?等这一步完成后,就会去Github上找找是否有已实现的相关代码。如果有,下载代码,自己读一遍。然后试着实现它们,在本地跑一遍,复现结果,通常代码中的注释会有助于理解,还可以在网上搜索任何能帮助我理解论文和代码的资料,比如,文章、总结、教程等等。通常一篇很火的论文会有很多人在网上分享对它的见解。在第二步后,我会打开Jupyter Notebook,上面有很多注释和相关帮助图像,教别人也是完全理解一个研究论题的最佳途径。至于读论文的第三步,全都是数学内容。我在这一步的关注重点就是真正理解数学细节,甚至会拿一支笔一张纸自己解析论文里的公式,期间会借助维基百科帮我理解公式概念,比如这里的相对熵,如果感觉很好,我会尝试借助论文中提到的超参数设置和公式,尽力用程序复现论文。在做完这些后,我就能满怀自信和其他人讨论论文啦!

读论文并不容易,没人能轻松地很快就弄懂又长又复杂的公式,关键是不要放弃。如果没理解某个数学概念,上网搜!

你可能感兴趣的:(机器学习论文怎么读?论文讲解大神教你三步妙招。)