新手如何开始学深度学习?别着急,看看别人走过的路先

很多人问我如何开始机器学习和深度学习。在这里,我整理了一个我使用过的资源列表,以及我第一次学习深度学习时所走过的路。

作者:Arkar Min Aung

编译:ronghuaiyang

导读

新手如何开始学深度学习,这个问题很难回答,每个人似乎都有自己的一套方法,在开始之前,先看看别人是怎么做的,也许会对自己有所启发。

刚开始学深度学习的时候,一定要像婴儿学步一样,慢慢的小步走。

很多人问我如何开始机器学习和深度学习。在这里,我整理了一个我使用过的资源列表,以及我第一次学习深度学习时所走过的路。

免费课程

从Andrew Ng在Coursera上的机器学习课程开始(https://www.coursera.org/learn/machine-learning)。这门课程会教会你机器学习的一些诀窍,并且会提高你的线性代数技巧。你一定要好好作业,在完成课程后,你会掌握机器学习的概念,例如:线性回归、逻辑回归、支持向量机、神经网络和k均值聚类。你也有机会建立一个推荐系统来玩玩。这会开阔你的眼界,让你更有信心进入机器学习和深度学习的领域。但是要知道,还有许多其他重要的概念,这门课程无法涵盖。所以,在这门课结束后,要准备好拓宽你的知识面。如果你在完成吴博士的课程后非常兴奋,你应该去看看他的其他课程,它是Coursera上深度学习专业课程的一部分。

Fast.ai提供免费的在线深度学习课程,课程分为两个部分:

  • 深度学习第一部分:Practical Deep Learning for Coders
  • 深度学习第二部分:Cutting Edge Deep Learning for Coders

在这些课程之后,您可能已经准备好学习Hinton的机器学习神经网络了。Hinton的课程相对于前面提到的课程来说比较难,因为课程很枯燥,而且包含了更多的数学概念。如果你觉得你还不能解决这个问题,不要慌!停一段时间,先做数学部分(在下一节中描述),然后再回来。这次你一定能解决这个问题!记住,决心,决心,决心,更多的决心。

数学

深度学习当然需要你对线性代数、微分学和向量有很好的掌握。如果你想快速复习一些基本的线性代数并开始写代码,强烈推荐Andrej Karpathy的黑客神经网络指南。我发现hadrienj ‘s notes在《深度学习》一书中对实际了解底层数学概念,以及如何使用Python (Numpy)非常有用。如果你喜欢从视频中学习,3blue1brown有一个关于线性代数、微积分, 神经网络以及其他数学相关概念的非常好的视频。在非卷积问题上自己实现一个基于cpu的反向传播算法也是真正理解反向传播工作原理的好方法。

来点真格的

如果你想提高你的机器学习知识,并准备认真对待(我的意思是研究生水平的认真对待),去研究一下 Learning From Data ,这是一本加州理工教授写的书。准备好做所有的数学运算。这可能有点挑战性,但是你要是读完了而且做完了作业的话,绝对是值得的。我认为,教科书很难捕捉到目前深度学习的状态,因为这一领域的发展速度非常快。但最受欢迎的教科书应该是 Goodfellow, Bengio, 和Courville的《深度学习书》(http://www.deeplearningbook.org/)。它可以在网上免费下载,所以你也可以一章一章地下载,一章一章地阅读课本。

论文,论文,论文,我再也追不上它们

是的,深度学习的知识主要来自论文,而这些论文的发表速度在当今是非常快的。Reddit是一个很好的起点。订阅/r/machinelearning和/r/deeplearning。不过我觉得机器学习的reddit版块更有用。ArxivSanity是一个查看与你正在寻找的论文相关的论文的好地方。在深度学习中,阅读论文时要做的一件重要的事情就是做好文献综述。做一个好的文献回顾可以让你更好地了解事物是如何发展的。解决文献综述问题的一种方法是安装谷歌Scholar Chrome扩展并搜索你想查找的论文。你可以跟随“相关文章”和“被引用”来跟随之前的工作以及基于那篇论文的新工作。阅读论文的一个好习惯是在论文中画出概念的思维导图。

新手如何开始学深度学习?别着急,看看别人走过的路先

当我阅读一篇关于“few-shot learning”的论文时,我画出了这张思维图。

思维导图的优点是它是一种很好的方法来跟踪文章中提出的概念之间的关系。我发现思维导图对于跟踪相关文献以及它们与我正在阅读的论文之间的关系非常有用。思维导图能让我对一篇论文有一个清晰的认识,也能让我在读完之后对论文有一个很好的总结。

我发现Twitter(国内就是微博,公众号了吧)对于跟踪机器学习和深度学习研究非常有用。你可以从跟踪ML/DL领域中的知名人员开始,然后从那里开始扩展。因为我经常转发关于对抗机器学习和自动驾驶汽车的研究,你也可以关注我的twitter(关注我的公众号吧),把它当作你的feed。你能做的就是查看我转发过的人,查看他们的推特,关注他们圈子里的其他研究人员。一旦你提供了足够的数据,Twitter也会推荐优秀的人去关注,也就是关注足够多的ML/DL研究者。

Kaggle

Kaggle实在是太有用了。我强烈建议你尝试Kaggle竞赛,即使你进入前100名的机会很小。Kaggle竞赛的价值在于社区。阅读kernel并从中汲取好的实践经验。阅读评论并参与讨论。在那里你会学到很多东西。你会了解人们如何进行探索性数据分析,以及如何处理丢失数据、不平衡数据等各种情况。Kaggle竞赛中有很多知识。

灵感

机器学习的可视化介绍是一种很好的方法,可以直观地掌握统计学习技术是如何用于识别数据中的模式的。

谷歌的Seedbank是一个获得灵感的伟大资源!看一看这些例子,跟着文献走。

Distill.pub是一个交互式学习DL概念的好地方。我希望Distil出现更多的文章。

冰山一角

除非你把自己所学的付诸实践,否则什么都不重要。ML和DL听起来很神奇,当你自己实现整个pipeline,你会发现也就那样。整个pipeline包括数据来源、数据收集、数据质量评估、数据清理、数据注释、数据预处理、构建工作流、构建模型、调优模型、评估模型、部署模型和重复模型。这些步骤只是整个ML/DL pipeline中的一些步骤。那些已经完成了全面DL工作的人知道尽可能保持整个开发操作的流畅是多么重要。整个数据来源、收集、注释、清理和评估步骤至少占整个项目的60%,而且它们可能是项目中最昂贵的部分之一(除了耗电的GPU !)

总之,ML/DL领域是一个不断发展的领域,你必须张大你的耳朵、睁大你的眼睛,开放你的思想。不要仅仅因为一篇论文/博客/教程/个人/YouTube视频说某一项新技术在某一特定数据集上表现很好就跳到它上面。我看到许多闪亮的新技术来了又去的很快。永远要意识到区分信号和噪音是很重要的。

原文链接:https://towardsdatascience.com/newbies-guide-to-deep-learning-6bf601c5a98e

本文为专栏文章,来自:AI公园,内容观点不代表本站立场,如若转载请联系专栏作者,本文链接:https://www.afenxi.com/73707.html 。

(0)
上一篇 2019-09-03 21:29
下一篇 2019-09-04 18:30

相关文章

关注我们
关注我们
分享本页
返回顶部