如何开始学习Deep Learning

时间:2022-12-14 22:06:56
译者:李老湿;转载请注明出处: 机器人视觉
由于近来在许多不同问题(例如人脸识别,目标检测和Go)上,人工神经网络取得一系列成果,深度学习已变得非常流行。本博客目的是成为对深度学习感兴趣的朋友们的起点。
 
如果你已经对线性代数,微积分,概率和编程有了基本的了解:我建议从斯坦福的 CS231n开始。这个课程讲义很全面,而且写的很好。每节课程的幻灯片也可用,即使相关视频从官方网站删除,在网上也很容易找到重新上传的。
 
如果你没有相关的数学背景:网上有大量的在线免费材料,可以用来学习所需的数学知识。 吉尔伯特·斯特朗的线性代数课程是对该领域的一个很好的介绍。 对于其他科目,edX有来自MIT的关于 微积分概率的课程。
 
如果你有兴趣了解更多关于机器学习的内容Andrew Ng的Coursera课程是机器学习最受欢迎的入门课程。还有其他很好的选择,如Y aser Abu-Mostafa的机器学习课程,比Coursera课程更侧重于理论,但它仍然适合初学者。机器学习的知识不是真正的学习深度学习的先决条件,但它确实有帮助。此外,学习古典机器学习而不仅是只学习深度学习,这很重要,不仅因为古典机器学习提供了理论背景,并且因为深度学习并不总是正确的解决方案。
 
CS231n不是唯一的在线深度学习课程。 Geoffrey Hinton的Coursera课程“机器学习的神经网络”涵盖了许多不同的主题, Hugo Larochelle的“神经网络类”也是如此。这两个课程都包含视频讲座。  Nando de Freitas还有一个在线课程,其中包含视频,幻灯片以及作业作业列表。
如果你喜欢阅读而不是看视频讲座: 神经网络和深度学习是一本免费的在线书籍,适合初学者进入这一领域。 深度学习书也是一本伟大的免费书,但它稍微高阶一些。
 
在你有基本知识后去哪里:
  • 计算机视觉被大多数(如果不是全部)上述深度学习资源所覆盖。
  • 循环神经网络(RNNs)是基于模型的神经网络的基础,基于模型的神经网络用于解决序列相关的问题,如机器翻译或语音识别的序列相关的任务。Andrej Karpathy关于RNNs的博客文章,是一个开始学习RNNs的好地方。克里斯托弗·奥拉有一个非常棒的博客,许多深度学习的概念都解释得非常直观容易理解。 他的文章LSTM网络是对LSTM网络的介绍,LSTM网络是一种广泛使用的RNN变体。
  • 自然语言处理(NLP)CS224d是一个使用深度学习的NLP的介绍。 高级课程可以从Kyunghyun Cho这里有讲义)和Yoav Goldberg这位老师都可以。
  • 增强学习:如果你想控制机器人或击败Go的人类冠军,你应该使用增强学习。 Andrej Karpathy关于深层增强学习的文章是一个很好的起点。 David Silver最近还发表了一篇短博文,介绍了深层增强学习。
深度学习框架:深度学习有许多框架,但排名前三个的可能是 Tensorflow(谷歌), Torch(Facebook)和 TheanoMILA)。 所有这些都是非常棒,但如果我只选择一个推荐我会说,Tensorflow对初学者是最好的,主要是因为伟大的 教程可以使用。
 
如果你想训练神经网络,你应该在GPU上。 你不一定非用GPU,但如果你这样做训练会更快。 NVIDIA卡是行业标准,虽然大多数研究实验室使用1000美元的显卡,但是有几个经济实惠的卡也可以完成工作。 一个更便宜的选择是从像Amazon的EC2这样的云服务器提供商租用一个支持GPU的实例(这里的简短 指南)。
 
祝你好运!

原文:http://ofir.io/How-to-Start-Learning-Deep-Learning/