介绍
深度学习目前已经成为了人工智能领域的突出话题。它在“计算机视觉”和游戏(AlphaGo)等领域的突出表现而闻名,甚至超越了人类的能力。近几年对深度学习的关注度也在不断上升,这里有一个调查结果可以参考。
这里有一个 Google 的搜索趋势图:
如果你对这个话题感兴趣,这里有一个很好的非技术性的介绍。如果你有兴趣了解最近的趋势,那么这里有一个很好的汇总。
在这篇文章中,我们的目标是为所有深度学习的人提供一条学习之路,同时也是为想要进一步学习的人提供一条探索的路径。如果你准备好了,那么让我们开始吧!
步骤0:先决条件
建议在学习深度学习之前,你应该先了解一些机器学习的基础知识。这篇文章列出了完整的学习机器学习的资源。
如果你想要一个简单的学习版本。那么可以看下面的列表:
建议时间:2-6个月
步骤1:机器配置
在进行下一步学习之前,你应该确保你有一个支持你学习的硬件环境。一般建议你至少拥有以下硬件:
如果你还不确定,那么请阅读这个硬件指南。
- 一个足够好的 GPU(4+ GB),最好是 Nvidia
- 一个还可以的 CPU(比如:Intel Core i3,Intel Pentium 可能不适合)
- 4 GB RAM(这个取决于数据集大小)
备注:如果你是一个硬件玩家,那么你可能已经拥有了所需的硬件。
如果你没有所需的规格,那么你可以租一个云平台来学习,比如 Amazon Web Service(AWS)。这是使用 AWS 进行深度学习的良好指南。
备注:在这个阶段不要安装任何深度学习的库,安装过程我们会在步骤 3 中介绍。
步骤2:初试深度学习
现在,你已经对这个领域有了一个初步的认识,那么你应该进一步深入了解深度学习。
根据自己的偏好,我们可以选择以下几个途径:
除了上述的先学知识,你还应该了解一些流行的深度学习库和运行他们的语言。以下是一个不太完整的列表(你可以通过查看 wiki 获得更加完整的列表):
- 通过博客学习,比如 Fundamentals of Deep Learning ,Hacker's guide to Neural Networks。
- 通过视频学习,比如 Deep Learning Simplified。
- 通过书籍学习,比如 Neural networks and Deep Learning
其他一些著名的库:Mocha,neon,H2O,MXNet,Keras,Lasagne,Nolearn。关于深度学习语言,可以查看这个文章。
你也可以查看查看 Stanford 的 CS231n 中的第 12 讲,概要性的了解一些深度学习库。
建议时间:1-3周
步骤3:选择你自己的领域
这是最有趣的部分,深度学习已经应用在各个领域中,并且取得了最先进的研究成果。如果你想更深入的了解,那么作为一个读者,你最适合的路径就是动手实践。这样才能对你现在了解的内容有一个更加深入的认识。
注意:在以下的每个领域中,都会包括一个博客,一个实战项目,一个需要的深度学习库以及一个辅助课程。第一步你应该学习一下博客,然后去安装对应的深度学习库,然后再去做实战项目。如果在这个过程中,你遇到什么问题,那么可以去学习辅助课程。
建议时间:1-2个月
- 深度学习在机器视觉中的应用
- 深度学习在自然语言处理中的应用
- 参考博客:Deep Learning, NLP, and Representations
- 实战项目:Deep Learning for Chatbots, Part 1, Part2。
- 深度学习库:Tensorflow
- 推荐课程:CS224d: Deep Learning for Natural Language Processing
- 深度学习在语音中的应用
- 深度学习在强化学习中的应用
- 参考博客和实战项目:Deep Reinforcement Learning: Pong from Pixels
- 深度学习库:没有需要的深度学习库,但是你需要 openAI gym 来测试你的模型。
- 推荐课程:CS294: Deep Reinforcement Learning
步骤4:深挖深度学习
现在你应该已经已经学会了基础的深度学习算法!但是前面的路程会更加艰苦。现在,你可以尽可能高效的利用这一新获得的技能。这里有一些技巧,你应该做的,可以磨炼你的技能。
建议时间:无限
- 重复上述步骤,选择不同的领域进行尝试。
- 深度学习在别的领域的应用。比如:DL for trading,DL for optimizing energy efficiency。
- 利用你学到的心技能去做点别的事,比如参考这个网站。
- 参加一些比赛,比如:kaggle。
- 加入一些深度学习社区,比如:Google Group,DL Subreddit。
- 跟随一些研究人员,比如:RE.WORK DL Summit。
一些比较好的资源: