利用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 条评论
登录 后参与评论

相关文章

来自专栏人工智能快报

德科学家发现新的神经网络学习方法

沙沙响动的树叶,吱吱作响的树枝:对老鼠来说,这些感觉看起来是无害的,但如果有一只猫突然从灌木丛窜出来就不同了。在这种情况下,这些现象就变成了能够提示迫在眉睫的生...

3153
来自专栏AI科技评论

学界 | 清华与迈阿密大学独家解析:更新了朋友圈和微博动态,好友何时会点赞评论?

AI科技评论按:本文由清华大学媒体与网络实验室以及迈阿密大学物理系共同合作完成,作者包括:余林韵(清华大学计算机系博士生,已毕业加入今日头条人工智能实验室)、崔...

37312
来自专栏新智元

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

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

1052
来自专栏IT派

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

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

3558
来自专栏AI科技评论

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

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

3225
来自专栏量子位

AI进军B-Box界:输入20秒任意声音,还你一段定制的B-Box演奏

和人类玩家不同,只要你不打断AI B-Boxer Vid,它就永远不会累。而且它还有一个特殊技能:可以用任何声音合成B-Box。

771
来自专栏媒矿工厂

视频体验评估标准(uVES1.0)模型及算法解读

视频业务快速发展,已经从强调用户规模走向注重提升服务品质的阶段。消费者对观看体验的要求不断提高,提升视频用户体验质量已经成为视频服务的主要竞争因素。

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

机器学习项目中常见的误区

在最近的一次报告中,Ben Hamner向我们介绍了他和他的同事在Kaggle比赛中看到的一些机器学习项目的常见误区。 这个报告于2014年2月在Strate举...

3386
来自专栏IT派

深度学习框架的热度对比

近两年,该调查中使用深度学习工具的投票者所占份额保持稳定。2018 年有 33% 的投票者使用深度学习工具,2017 年和 2016 年分别有 32% 和 18...

1243
来自专栏ATYUN订阅号

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

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

1393

扫码关注云+社区