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

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

编译团队|姚佳灵 裴迅

简介

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

原文发布于微信公众号 - 大数据文摘(BigDataDigest)

原文发表时间:2017-01-18

本文参与腾讯云自媒体分享计划,欢迎正在阅读的你也加入,一起分享。

发表于

我来说两句

0 条评论
登录 后参与评论

相关文章

来自专栏IT派

深度学习在安全方面的影响日益增长

导语:深度学习因为其积极影响成为了2017年最流行的流行语之一。深度学习(更准确地应该被称为深层神经网络)试图模拟大脑的活动。自20世纪50年代末以来,神经网络...

36580
来自专栏ATYUN订阅号

强化学习简介(第一部分)

强化学习是机器学习的一个方向,智能体通过执行某些操作并观察从这些操作中获得的奖励或者结果来学习在环境中行为。

15830
来自专栏机器之心

从标题到写作流程:写好一篇论文的十条基本原则

32460
来自专栏新智元

【2天=100年】OpenAI用打Dota2的算法造了一只会转方块的机器手

【新智元导读】之前在DOTA2团队战中战胜人类玩家的OpenAI Five,现在被用于训练机器手,取得了前所未有的灵活度。这只机器手完全在虚拟环境中自我学习和训...

12520
来自专栏PPV课数据科学社区

目前数据科学和机器学习中使用的最多的20个包

CRAN包库有6778个常用的包。哪些是你知道的?下面对此进行以下的分析,同时在文章底部另请参见原始数据链接。 这些R包都是Kagglers里的技术大牛最青睐的...

37150
来自专栏PPV课数据科学社区

【学习】 TensorFlow:最棒的深度学习加速器

TensorFlow没有改变世界。但是,它显然是最棒的,也是现有最便利的深度学习库。本文作者Zachary Chase Lipton是来自加利福尼亚大学计算机科...

29550
来自专栏玉树芝兰

如何用人工智能帮你找论文?

传统的关键词检索论文,浩如烟海的结果让你无所适从?试试人工智能检索引擎。根据你的研究兴趣和偏好,便捷而靠谱帮你找论文。

12610
来自专栏AI研习社

Andrej Karpathy谈神经网络:这不仅仅是分类器,这是一种新的软件开发思想

有越来越多的传统编程语言(C、C++、Java)等程序员开始学习机器学习/深度学习,而对机器学习/深度学习的研究人员来说,编程也是必备技巧。那么传统程序员和深度...

33640
来自专栏CVer

机器学习&深度学习网站资源汇总

今天推荐一个超NB的开源项目mlhub123,我自以为自己收集的"黑科技"已经够多够全了,但直接看到mlhub123,哈哈,自惭形秽。

32410
来自专栏机器之心

前沿 | IBM全新AI芯片设计登上Nature:算力是GPU的100倍

用 GPU 运行神经网络的方法近年来已经为人工智能领域带来了惊人的发展,然而两者的组合其实并不完美。IBM 研究人员希望专门为神经网络设计一种新芯片,使前者运行...

15400

扫码关注云+社区

领取腾讯云代金券