我有数学背景,习惯于阅读带有引理和证明的论文。当我看到一篇深度学习论文时,它们似乎具有实用性。
如何提高我对深度学习论文的阅读和理解?
要真正理解,我是否必须实现代码?最好的方法是什么(如果有的话)?
我有数学背景,习惯于阅读带有引理和证明的论文。当我看到一篇深度学习论文时,它们似乎具有实用性。
如何提高我对深度学习论文的阅读和理解?
要真正理解,我是否必须实现代码?最好的方法是什么(如果有的话)?
在 nbro 回答中添加一些内容,根据我的个人经验,还有一些提示可以快速告诉您是否正在处理一篇好的机器学习论文,即是否值得完整阅读。
随机顺序:
明确的贡献描述:机器学习和人工智能通常都是广泛的领域。一篇论文可以涉及几件事,从标题中应该已经很清楚主要贡献是什么:一种新的模型架构?新的前/后处理步骤?新的损失函数?如果阅读摘要后不清楚,则阅读整篇论文后也很可能不清楚这一点。
清晰的架构/算法描述和可视化:图像和代码片段有很大的不同。正如您所指出的,机器学习主要是一个应用领域,因此拥有一个代码片段或一个清晰的实现段落列表可以减少思考如何以有效的方式将数学转化为代码的开销,同时也减少了当段落不清晰或理所当然时,会犯解释错误。由于您来自数学背景,您可能会遇到相反的感觉,并想知道为什么里面没有那么多数学。关键是大多数机器学习论文的结构都像实验论文。你有假设,而不是要证明的定理,你进行实验来测试它们,最后描述结果。
代码可用性:不幸的是,仍然不是一种普遍的做法,使您的代码可用是基本的,不是为了让其他人的生活更轻松,而是为了授予已发布结果的可重复性。此外,机器学习的特点是有许多微妙和任意的选择,特别是在涉及超参数时,很多时候没有在真实论文中报道,在这种情况下,查看代码成为找到该信息的最后资源.
适当的基准测试:评估新损失/架构的影响总是很困难的。许多论文只报告具有“97% 准确率”之类的随机分数的表格,与其他模型相比,这毫无意义。一篇好的论文总是报告最先进的 (SOTA) 分数,并在完全相同的数据上测试提出的改进。此外,理想情况下,一篇论文应该报告几次训练运行的平均分数。不幸的是,由于昂贵的硬件和只训练一个模型需要很长时间,这几乎从未完成。
简短但清晰的 SOTA 分析:在机器学习方面,要跟上最先进的技术是非常困难的,因为每个月都会发表数十篇论文。出于这个原因,文献研究部分应该简明扼要,并指出尽可能接近论文中将要描述(和改进)的内容,否则,你知道你正在阅读调查。
我有一些阅读研究论文的经验。但是,在我看来,这个问题没有单一的答案(除了我给你的这个答案,即“取决于”)。您的问题的答案取决于
你的背景知识/教育
你为什么要读这篇论文
您只是对论文中的主题感兴趣或好奇吗?那么也许你只能快速阅读它,或者只阅读特定的部分,例如介绍技术的部分(摘要、介绍,也许还有结论)而跳过所有的数学;这些数字有时也很有洞察力。
您是否正在(认真)研究相关主题?如果是,您可能需要多次阅读论文(至少是您不完全理解的部分)。查看该方法的实现也可能很有用。如果它们不存在,您可以考虑自己实施该方法。
你需要出示论文吗?在这种情况下,您可能还需要多次阅读论文,很好地理解这些数字(因为您可能会在幻灯片中使用它们:一张图片值 1000 字等)
你有多少时间阅读论文
请注意,这些指南也应该适用于其他情况(即当您阅读其他类型的涉及数学的研究论文时)。
您可能还对论文如何阅读论文(Keshav 撰写)感兴趣。它提供了一些有用的提示。