关于深度学习:阅读和实现深度学习的论文初学者指南

6次阅读

共计 2943 个字符,预计需要花费 8 分钟才能阅读完成。

可能应用代码实现最新的论文对于数据科学家来说是一项极具竞争力的技能。

如果想理解黑匣子外部产生了么,进步创造力或成为第一个将最新科学研究带入业务的开发人员 这篇文章应该能够帮到你。

咱们将探讨如何抉择一篇“好”的论文作为开始,这对于初学者来说会比拟容易;本文中将概述典型的论文构造以及重要信息的地位;并提供无关如何解决和实现论文的分步阐明,并分享在遇到困难时可能有所帮忙的链接。

从哪儿开始?

如果你想让你的学习顺利无压力的开始,应该找一篇“好”的论文。作为终点倡议抉择一篇形容你相熟概念的并且被援用度高的论文。

高援用率的旧论文通常解释了十分根本的概念,这些概念也是最近钻研的根底,这些基础知识会更好的帮你了解最新的论文。然而要记住对于深度学习,2016 年之前的论文曾经过期了。援用量高的论文意味着许多其余科学家可能了解并应用该办法,也侧面阐明了该办法是可反复的。要找出特定论文的援用次数,能够在 Google Scholar 中搜寻它。援用次数超过 1000 次的论文被认为是高被引论文。

最初,较旧的论文形容了更简略的概念,这对初学者来说是一个很大的劣势。

论文构造:疏忽什么,读什么

典型的深度学习论文具备以下构造:

  • Abstract
  • Introduction
  • Related Work
  • Approach in Details
  • Experiments
  • Conclusion
  • References

摘要 Abstract:论文的整体内容摘要,它很短。重点介绍为什么这种办法比以前的办法更好,以及它的新鲜之处。摘要会公布在会议日程表和在线归档(如 Arxiv)中,它们的惟一目标是压服你浏览这篇特定的论文。如果你曾经抉择了一篇论文来浏览,能够随便跳过摘要,然而如果你打算进行论文的创作,这个局部是你论文“营销”的要害。

引言 Introduction:是重要的必读局部。它提供了论文中提到办法的高级概述。通常它不是太技术性并且十分“用户敌对”,因而如果浏览的时候请先浏览这部分,因为能够让咱们在深入研究算法细节之前先热身。

相干工作 Related Work:所有科学论文(以及深度学习)都是相干的,因为每一项发现都建设在之前数十项甚至数百项钻研工作的根底之上。相干工作概述是每篇论文的必填局部。作者必须确保他们的工作是相干的,并且解决了以前论文中的重要的问题的同时不会反复其余钻研人员之前所做的工作。这是学术界的一个重要局部——但对咱们(从业者)来说不是,所以如果常识浏览和实现论文能够跳过,然而如果编写改良改论文实现的办法的新论文,这里肯定要看。(或者有时你可能正在寻找该畛域的其余根本论文 / 概念来浏览,这里也能够给你新的思路)

具体办法 Approach in Details:这是论文中最简单和最具挑战性的局部,也是最重要的局部(肯定要浏览!)。不要冀望过高,也不要冀望通过一次浏览就理解所有内容。因为这是在编码时一次又一次仔细阅读了解的局部,所以咱们的“乐趣”就从这里开始。

不要胆怯简单的公式,在大多数状况下,它们解释了基本概念。这就是钻研人员以他们的模式“开的玩笑”。对于论文的实现咱们甚至不必关注他们,当然如果你想改良论文,这些简单的公式还是须要用的。看不懂也没关系多看看论文,用不了多久你就会习惯了🤣。

在浏览论文时,必须获取可能须要的所有信息,例如:数据预处理技术、具体的神经网络架构、损失函数、训练技巧和后处理。如果浏览了几次都不太明确也没关系,前面我会通知你怎么做。

试验 Experiments:这一节充斥了图表、表格和图像。通常它蕴含无关数据集、训练和指标评估的详细信息,以及对模型在各种超参数下的体现以及与其余论文中的最新办法进行比拟的回顾。如果论文是对于计算机视觉的,也会有模型预测的可视化。这部分能够抉择感兴趣局部浏览。

论断 Conclusion:是对论文的总结,有时蕴含作者对将来钻研的想法。小学作文中老师都说过要扣题对吧,这部分就是要与后面的摘要和引言响应。所以跳过它没什么问题。

参考文献 References:学术界有一个严格的规定:如果钻研人员应用属于其他人的想法,他 / 她必须增加对原始作品的援用。当论文中曾经解释了这些参考文献中的概念或只是不重要时,能够跳过大多数此类参考文献。然而有时作者可能会说:“咱们应用了论文 [2] 中形容的模型架构,只批改了最初一层的激活”。在这种状况下,您须要找到并浏览论文 [2] 以齐全了解该办法。

当初——是时候浏览论文了。在接下来的 30 分钟里,你应该高度专一,因为你正潜入一个有挑战性并且令人兴奋新世界。

去哪里寻求帮忙?

对许多人来说,“实现论文”意味着“疾速浏览论文,而后在互联网上寻找现成的实现”(paperwithcode:说的对😘)。这是确实是最简略的办法,但不是无益的办法。我强烈建议你从头开始,不要马上寻找现成的解决方案。至多本人做些事件因为那才是对你的技能进步的要害。

即便你是一个齐全初学者,总有一些事件你能够做:

下载数据集,钻研它,对数据集做 EDA,写一个数据加载器等等。这是一项简略而又容易的工作,但一旦实现它,你就会有信念并帮忙你继续前进:

开始编写模型架构,简化或跳过你不了解的局部。例如这里有一个奇怪的权重初始化器(跳过它,应用通用甚至默认的那个)。以前从未应用过 PReLU 激活(那就先用 ReLU)。你当初的指标是创立一个可训练的模型把流程跑通(有输出,有输入,能够进行训练),而不是要训练出论文的模型或体现更好的模型。在论文中有一个自定义的损失:用一个相似的损失替换它。对优化器、数据裁减、后处理进行同样的解决——简化或跳过。这样你最终会失去一个原型。你甚至能够应用这个原型跑通残缺的流程,看看它如何工作 - 兴许后果不会那么蹩脚🙂

下一步就是填补缺口,修复工作不好的局部。再次浏览论文认真了解你之前漏掉的概念。如果你被卡住了也不要怄气。因为你曾经有原型了,这是一个很大的提高你曾经学到了很多。你甚至能够给论文的作者写信,因为在学术界大部分的论文作者还是十分的友善的。

感觉齐全卡住了?那就进行总结一下具体是哪里的问题,有重点的进步相干的常识。在下一篇论文,你会写得更好,因为这是一个学习的过程。文章的开始倡议选一篇被高度援用的论文。当初你就能感触到益处了。风行的论文在互联网上有几十种实现,(paperwithcode:我又来了🙃),这里举荐 paper With Code 的起因是它蕴含了可能所有风行论文的代码实现。这些有的实现是官网的,有的来自像你我这样的钻研人员。例如,word2vec 在 PyTorch 和 Tensorflow 中有 67 个 paper With Code 实现。

您能够复制粘贴,但肯定要花工夫来了解代码。

最初总结

  1. 抉择一篇被高度援用的旧论文。
  2. 仔细阅读它并试着获取尽可能多的信息——数据筹备、模型架构、损失函数和训练细节。
  3. 如果你不明确所有的事件,不要焦急
  4. 通过跳过和简化你不了解的概念来创立一个原型。如果你的原型与论文中的办法相去甚远也没关系,然而要试着本人改良草稿。
  5. 在互联网上寻找文章和代码。复制粘贴,但要浏览和了解。
  6. 反复一篇新论文。而后感触第二次的感觉是如许的顺利🙂

真正的学习产生在步骤 2 - 5 上,所以你在这里花的工夫越多,你学得就越快。好运!

作者:Olga Chernytska

正文完
 0