利用 Python 进行深度学习的完整入门指南 (附资源)

2,514 阅读6分钟
原文链接: mp.weixin.qq.com

深度学习,是人工智能领域的一个突出的话题,被众人关注已经有相当长的一段时间了。它备受关注是因为在计算机视觉(Computer  Vision)和游戏(Alpha GO)等领域有超越人类能力的突破  。自上一次调查 (查看调查:https://www.analyticsvidhya.com/blog/2014/06/deep-learning-attention/) 以来,对于深度学习的关注又出现了大幅增加的趋势。


下图是谷歌趋势向我们所展示的:



如果你对这个话题感兴趣的话,本文是一个很好的非技术性的介绍。如果你有兴趣了解关于深度学习的最新趋势,本文是一个很全面的汇总。


在这里,我们的目标是为新手和想进一步探索深度学习的人们提供一个学习路径。那么,你准备好踏上征服深度学习的征程了吗?我们上路吧。


步骤0:出征准备


建议在进入深入学习领域之前,应该了解机器学习的基本知识。“机器学习的学习路径”(https://www.analyticsvidhya.com/learning-path-learn-machine-learning/)是一个完整的资源,让你开始了解该领域。


如果你想要一个较短的版本,请看下面:

  • 基础数学,资源1:“数学|可汗学院(Khan academy, https://www.khanacademy.org/math)”(尤其是微积分、概率论和线性代数)


  • Python基础,资源:“计算机科学入门”(https://www.datacamp.com/community/open-courses/introduction-to-python-machine-learning-with-analytics-vidhya-hackathons#gs.null ),EDX课程


  • 统计学基础,资源:“统计入门”(https://www.udacity.com/course/intro-to-statistics--st101),Udacity 的课程


  • 机器学习基础,资源:“机器学习入门”(https://www.udacity.com/course/intro-to-machine-learning--ud120),Udacity 的课程


时间:建议2-6个月

 

步骤1:设置好你的机器


在继续下一步之前,请确保有支撑硬件。一般建议应该至少有:


  • 一个足够好的GPU(4+ GB),最好是Nvidia的


  • 一个够用的CPU(如英特尔酷睿 i3可以,而英特尔Pentium 不行)


  • 4GB 内存或取决于数据集。

 

如果仍然不确定,可以看一下这个硬件指南http://timdettmers.com/2015/03/09/deep-learning-hardware-guide/


PS:如果你是一个铁杆游戏玩家(当然不只是糖果粉碎机玩家!),你可能已经有了所需硬件。


如果没有所需硬件,可以购买或租用一个亚马逊网页服务(AWS,https://aws.amazon.com)。这里有个利用AWS 进行深度学习的好指南: http://cs231n.github.io/aws-tutorial/。


注意:在这个阶段不用安装任何深度学习的学习库,这些在步骤3中做。

 

步骤2:尝试一下


现在有了足够的预备知识,可以进一步了解深度学习了。


按照个人喜好,可以关注:


  • 博客:(资源1:“深度学习的基础” https://www.analyticsvidhya.com/blog/2016/03/introduction-deep-learning-fundamentals-neural-networks/,资源 2:“黑客的神经网络指南” http://karpathy.github.io/neuralnets/)


  • 视频:“简化的深度学习”https://www.youtube.com/watch?v=b99UVkWzYTQ&list=PLjJh1vlSEYgvGod9wWiydumYl8hOXixNu


  • 教科书:《神经网络和深度学习》http://neuralnetworksanddeeplearning.com


除了这些先决条件,还应该知道流行的深度学习程序库和运行它们的语言。这是一个(非全面)列表(更全面的列表请查看维基页面):


  • Caffe :http://caffe.berkeleyvision.org

  • DeepLearning4j:http://deeplearning4j.org

  • Tensorflow:https://www.tensorflow.org

  • Theano:http://www.deeplearning.net/software/theano/

  • Torch:http://torch.ch


其他一些著名的库包括:


  • Mocha:http://mochajl.readthedocs.io/en/latest/

  • neon:http://neon.nervanasys.com/index.html/

  • H2O:http://www.h2o.ai/verticals/algos/deep-learning/

  • MXNet:https://github.com/dmlc/mxnet

  • Keras: https://keras.io

  • Lasagne:http://lasagne.readthedocs.io/en/latest/

  • Nolearn:https://github.com/dnouri/nolearn

 

这里有一个根据语言分类的深度学习库列表:http://www.teglor.com/b/deep-learning-libraries-language-cm569/


建议看斯坦福的cs231n课程第12讲:流行的深度学习库概述http://cs231n.stanford.edu/slides/winter1516_lecture12.pdf


时间:建议1-3周


步骤3:选择你自己的探险之路


现在有趣的部分来了!深度学习已被应用在各个领域并带来了最先进成果。为了进入到这个领域,你,读者,需要选择一条合适自己的路走。这应该是个实践经验,那样你就可以在目前所理解的之上获得一个合适的基础。


注意:每条路径包含一个入门简介的博客,一个实践项目,项目所需的深度学习的程序库和辅助课程。首先理解简介,然后安装所需的程序库,开始项目工作。如果你在这其中遇到任何困难,利用相关的课程以获得支持。


深度学习之计算机视觉


  • 入门简介:“DL forComputer Vision”电脑视觉博客 https://www.analyticsvidhya.com/blog/2016/04/deep-learning-computer-vision-introduction-convolution-neural-networks/


  • 项目:“FacialKeypoint Detection”人脸关键点检测教程 http://danielnouri.org/notes/2014/12/17/using-convolutional-neural-nets-to-detect-facial-keypoints-tutorial/


  • 所需程序库:Nolearn, https://github.com/dnouri/nolearn#installation


  • 相关课程:“cs231n:  卷积神经网络视觉识别”http://cs231n.stanford.edu

 

深度学习之自然语言处理


  • 入门简介:“DeepLearning, NLP, and Representations”(“深度学习,自然语言处理与呈现”博客,http://colah.github.io/posts/2014-07-NLP-RNNs-Representations/ )


  • 项目:“深度学习聊天机器人”:

    “第一部分”http://www.wildml.com/2016/04/deep-learning-for-chatbots-part-1-introduction/

    “第二部分”http://www.wildml.com/2016/07/deep-learning-for-chatbots-2-retrieval-based-model-tensorflow/


  • 所需程序库:tensorflow

https://github.com/dennybritz/chatbot-retrieval/#setup


  • 相关课程:“cs224d:深度学习在自然语言处理方面的应用”  http://cs224d.stanford.edu


深度学习之语音/音频识别


  • 入门简介:“深度演讲:深度学习的经验教训”新闻和相应的视频。http://usa.baidu.com/deep-speech-lessons-from-deep-learning/


  • 项目:“用Magenta生成音乐( tensorflow)”https://magenta.tensorflow.org/2016/06/10/recurrent-neural-network-generation-tutorial/


  • 所需程序库:Magenta ,https://github.com/tensorflow/magenta#installation


  • 相关课程:“深度学习(2016春季), cilvr实验室@纽约 http://cilvr.cs.nyu.edu/doku.php?id=courses:deeplearning2016:start


深度学习之强化学习


  • 入门介绍与项目:“深度强化学习:来自Pixels的乒乓球游戏”  http://karpathy.github.io/2016/05/31/rl/


  • 所需程序库:没有要求。但是需要openAI gym (https://github.com/openai/gym#installation )来测试你的模型。


  • 相关课程:“cs294 :深度强化学习”http://rll.berkeley.edu/deeprlcourse/


时间:建议1-2个月


步骤4:深入深度学习


现在(几乎)能够在深度学习名人堂上占一个坑!前面的道路是漫长的和深刻的(双关语),其实主要是还未探索过的。现在是靠你自己熟悉和使用这个新技能的时候。这里有一些技巧,可以提升你的技能。


选择一个不同的路径重复上述步骤。


深度学习之以上没提到的!(例如:交易的深度学习,为优化能源效率的深度学习https://deepmind.com/blog/?t=1)


使用你新学到的技能来创建一个东西(请记得,力量越大,责任越大,https://xkcd.com/1613/)


测试你的深度学习技能(如Kaggle, https://www.kaggle.com/competitions)


参与深度学习社区(如谷歌群 https://plus.google.com/u/0/communities/112866381580457264725,DL subreddithttps://www.reddit.com/r/deeplearning/ )


关注最新的研究成果及研究人员。(如“RE.WORK DL Summit ”,https://www.re-work.co/events/deep-learning-sanfran-2016 ”)


时间:建议——无上限!


 结语 

 ▼

希望本文对各位读者有帮助!


关于转载如需转载,请在开篇显著位置注明作者和出处(转自:大数据文摘 |bigdatadigest),并在文章结尾放置大数据文摘醒目二维码。无原创标识文章请按照转载要求编辑,可直接转载,转载后请将转载链接发送给我们;有原创标识文章,请发送【文章名称-待授权公众号名称及ID】给我们申请白名单授权。未经许可的转载以及改编者,我们将依法追究其法律责任。联系邮箱:zz@bigdatadigest.cn。
志愿者介绍

回复“志愿者”了解如何加入我们




往期精彩文章

点击图片阅读文章

将Python和R整合进一个数据分析流程