深度学习作为人工智能领域的一个热点话题,已经在计算机视觉和游戏(例如AlphaGo)等领域取得了超越人类能力的突破。自上次调查以来,深度学习的趋势急剧上升。
在深入学习深度学习之前,建议先掌握机器学习的基础知识。以下是一些学习资源,可以帮助快速入门机器学习领域。
数学基础(资源1:(特别是微积分、概率论和线性代数))
Python基础(资源:)
统计学基础(资源:)
机器学习基础(资源:)
建议时间线:2-6个月
在进行下一步之前,请确保拥有支持的硬件。通常建议至少拥有一个足够好的GPU(4+ GB),最好是Nvidia的。
如果不确定自己的硬件是否满足要求,可以查看这个。
如果没有所需的硬件规格,可以选择购买或者租用一个Amazon Web Service实例。这里有一个关于使用AWS进行深度学习的。
注意:在这一步不要安装任何深度学习库,等到第三步再进行。
现在已经掌握了预备知识,可以进一步了解深度学习了。根据偏好,可以选择以下方法之一来学习:
博客方法(资源1:,资源2:)
视频方法:《深度学习简化》
教科书方法:《神经网络和深度学习》
同时,应该了解流行的深度学习库和运行它们所需的语言。以下是一些(非全面的)列表(查看以获取更全面的列表):
Caffe、DeepLearning4j、Tensorflow、Theano、Torch
其他值得注意的库包括Mocha、neon、H2O、MXNet、Keras、Lasagne、Nolearn。这里有一个按语言分类的深度学习库列表。
查看斯坦福大学CS231n课程的第12讲,以获得一些流行库的简要概述。
建议时间线:1-3周
现在来到了有趣的部分!深度学习已经在各个领域取得了最先进的成果。为了让体验这一领域,作为读者的可以选择要走哪条路。这应该是一个实践经历,以便在现在理解的基础上打下坚实的基础。
注意:每条路径都包含一个入门博客、一个实践项目、项目所需的深度学习库和辅助课程。首先阅读入门博客,然后安装所需的库并开始项目。如果在过程中遇到困难,可以使用相关课程来支持。
深度学习在计算机视觉中的应用
入门博客:“深度学习在计算机视觉中的应用”博客。
项目:“面部关键点检测”教程
所需库:Nolearn
相关课程:“CS231n:用于视觉识别的卷积神经网络”
深度学习在自然语言处理中的应用
入门博客:“深度学习、NLP和表示”博客。
项目:“深度学习聊天机器人”:第一部分,第二部分
所需库:Tensorflow
相关课程:“CS224d:深度学习在自然语言处理中的应用”
深度学习在语音/音频中的应用
入门博客和项目:“深度语音:从深度学习中学习”新闻文章和相应的视频。
项目:“使用Magenta(Tensorflow)生成音乐”
所需库:Magenta
相关课程:“深度学习(2016年春季),CILVR Lab@NYU”
深度学习在强化学习中的应用
入门博客和项目:“深度强化学习:从像素玩Pong”
所需库:不需要深度学习库。尽管需要openAI gym来测试模型。
相关课程:“CS294:深度强化学习”
建议时间线:1-2个月
现在(几乎)准备好在深度学习的名人堂中留下印记了!前方的道路漫长而深入(双关语),大部分还未被探索。现在取决于如何尽可能高效地利用这个新获得的技能。以下是一些应该做的技巧,以磨练技能。
用不同的冒险重新进行上述步骤。
深度学习用于上述以外的领域!(例如,深度学习用于交易,深度学习用于优化能源效率)
使用新学的技能构建一些东西(记住,能力越大,责任越大)
测试深度学习技能(例如,kaggle)
参与深度学习社区(例如,Google Group,DL Subreddit)
关注最新的研究/研究人员(例如,“RE.WORK DL Summit”)
建议时间线:无限!
完整的深度学习书籍
斯坦福大学UFLDL教程
“神经网络中的深度学习:概述”,一篇关于深度学习的调查论文
Awesome Deep Learning github仓库
Yann LeCun推荐的深度学习自学资源
希望这个学习路径对有所帮助。已经尽力使其尽可能全面。现在,是时候让尽可能多地练习和阅读了。