利用 Python 进行深度学习的完整入门指南

原文出处:http://www.chinastor.org/gdcc/9224.html

利用 Python 进行深度学习的完整入门指南

[日期:2017-01-22] 来源:  作者: [字体:大 中 小]

大数据文摘作品,转载要求见文末

编译团队|姚佳灵  裴迅

简介 


深度学习,是人工智能领域的一个突出的话题,被众人关注已经有相当长的一段时间了。它备受关注是因为在计算机视觉( 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:///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 ”)

时间:建议——无上限!

结语 

你可能感兴趣的:(人工智能-深度学习-杂项)