热门标签 | HotTags
当前位置:  开发笔记 > 编程语言 > 正文

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

利用Python进行深度学习的完整入门指南(附资源)▼深度学习,是人工智能领域的一个突出的话题,被众人关注已经有相当长的一段时间了。它备受关注是因为在计算机视觉(Comput

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

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

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

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

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

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

步骤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.),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 内存或取决于数据集。

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

其他一些著名的库包括:

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

时间:建议1-3周

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

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

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

深度学习之计算机视觉

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

  • 所需程序库: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/)

  • 所需程序库: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”)


原网站:http://www.toutiao.com/i6376712652361564673/


推荐阅读
  • 本文详细介绍了如何使用 Yii2 的 GridView 组件在列表页面实现数据的直接编辑功能。通过具体的代码示例和步骤,帮助开发者快速掌握这一实用技巧。 ... [详细]
  • PHP 5.2.5 安装与配置指南
    本文详细介绍了 PHP 5.2.5 的安装和配置步骤,帮助开发者解决常见的环境配置问题,特别是上传图片时遇到的错误。通过本教程,您可以顺利搭建并优化 PHP 运行环境。 ... [详细]
  • [论文笔记] Crowdsourcing Translation: Professional Quality from Non-Professionals (ACL, 2011)
    Time:4hoursTimespan:Apr15–May3,2012OmarZaidan,ChrisCallison-Burch:CrowdsourcingTra ... [详细]
  • PHP 编程疑难解析与知识点汇总
    本文详细解答了 PHP 编程中的常见问题,并提供了丰富的代码示例和解决方案,帮助开发者更好地理解和应用 PHP 知识。 ... [详细]
  • Explore a common issue encountered when implementing an OAuth 1.0a API, specifically the inability to encode null objects and how to resolve it. ... [详细]
  • 构建基于BERT的中文NL2SQL模型:一个简明的基准
    本文探讨了将自然语言转换为SQL语句(NL2SQL)的任务,这是人工智能领域中一项非常实用的研究方向。文章介绍了笔者在公司举办的首届中文NL2SQL挑战赛中的实践,该比赛提供了金融和通用领域的表格数据,并标注了对应的自然语言与SQL语句对,旨在训练准确的NL2SQL模型。 ... [详细]
  • Android 渐变圆环加载控件实现
    本文介绍了如何在 Android 中创建一个自定义的渐变圆环加载控件,该控件已在多个知名应用中使用。我们将详细探讨其工作原理和实现方法。 ... [详细]
  • 扫描线三巨头 hdu1928hdu 1255  hdu 1542 [POJ 1151]
    学习链接:http:blog.csdn.netlwt36articledetails48908031学习扫描线主要学习的是一种扫描的思想,后期可以求解很 ... [详细]
  • 本文详细介绍了Java中org.w3c.dom.Text类的splitText()方法,通过多个代码示例展示了其实际应用。该方法用于将文本节点在指定位置拆分为两个节点,并保持在文档树中。 ... [详细]
  • 机器学习中的相似度度量与模型优化
    本文探讨了机器学习中常见的相似度度量方法,包括余弦相似度、欧氏距离和马氏距离,并详细介绍了如何通过选择合适的模型复杂度和正则化来提高模型的泛化能力。此外,文章还涵盖了模型评估的各种方法和指标,以及不同分类器的工作原理和应用场景。 ... [详细]
  • 网络运维工程师负责确保企业IT基础设施的稳定运行,保障业务连续性和数据安全。他们需要具备多种技能,包括搭建和维护网络环境、监控系统性能、处理突发事件等。本文将探讨网络运维工程师的职业前景及其平均薪酬水平。 ... [详细]
  • MySQL 数据库迁移指南:从本地到远程及磁盘间迁移
    本文详细介绍了如何在不同场景下进行 MySQL 数据库的迁移,包括从一个硬盘迁移到另一个硬盘、从一台计算机迁移到另一台计算机,以及解决迁移过程中可能遇到的问题。 ... [详细]
  • 本文详细介绍了如何使用PHP检测AJAX请求,通过分析预定义服务器变量来判断请求是否来自XMLHttpRequest。此方法简单实用,适用于各种Web开发场景。 ... [详细]
  • 本文介绍了如何使用PHP代码实现微信平台的媒体素材上传功能,详细解释了API接口的使用方法和注意事项,确保文件路径正确以避免常见的错误。 ... [详细]
  • 在维护公司项目时,发现按下手机的某个物理按键后会激活相应的服务,并在屏幕上模拟点击特定坐标点。本文详细介绍了如何使用ADB Shell Input命令来模拟各种输入事件,包括滑动、按键和点击等。 ... [详细]
author-avatar
qqjayzhe
这个家伙很懒,什么也没留下!
PHP1.CN | 中国最专业的PHP中文社区 | DevBox开发工具箱 | json解析格式化 |PHP资讯 | PHP教程 | 数据库技术 | 服务器技术 | 前端开发技术 | PHP框架 | 开发工具 | 在线工具
Copyright © 1998 - 2020 PHP1.CN. All Rights Reserved | 京公网安备 11010802041100号 | 京ICP备19059560号-4 | PHP1.CN 第一PHP社区 版权所有