热门标签 | 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/


推荐阅读
  • Learning to Paint with Model-based Deep Reinforcement Learning
    本文介绍了一种基于模型的深度强化学习方法,通过结合神经渲染器,教机器像人类画家一样进行绘画。该方法能够生成笔画的坐标点、半径、透明度、颜色值等,以生成类似于给定目标图像的绘画。文章还讨论了该方法面临的挑战,包括绘制纹理丰富的图像等。通过对比实验的结果,作者证明了基于模型的深度强化学习方法相对于基于模型的DDPG和模型无关的DDPG方法的优势。该研究对于深度强化学习在绘画领域的应用具有重要意义。 ... [详细]
  • 微软头条实习生分享深度学习自学指南
    本文介绍了一位微软头条实习生自学深度学习的经验分享,包括学习资源推荐、重要基础知识的学习要点等。作者强调了学好Python和数学基础的重要性,并提供了一些建议。 ... [详细]
  • 本文详细介绍了Linux中进程控制块PCBtask_struct结构体的结构和作用,包括进程状态、进程号、待处理信号、进程地址空间、调度标志、锁深度、基本时间片、调度策略以及内存管理信息等方面的内容。阅读本文可以更加深入地了解Linux进程管理的原理和机制。 ... [详细]
  • 本文讨论了在iOS平台中的Metal框架中,对于if语句中的判断条件的限制和处理方式。作者提到了在Metal shader中,判断条件不能写得太长太复杂,否则可能导致程序停留或没有响应。作者还分享了自己的经验,建议在CPU端进行处理,以避免出现问题。 ... [详细]
  • 模板引擎StringTemplate的使用方法和特点
    本文介绍了模板引擎StringTemplate的使用方法和特点,包括强制Model和View的分离、Lazy-Evaluation、Recursive enable等。同时,还介绍了StringTemplate语法中的属性和普通字符的使用方法,并提供了向模板填充属性的示例代码。 ... [详细]
  • Python教学练习二Python1-12练习二一、判断季节用户输入月份,判断这个月是哪个季节?3,4,5月----春 ... [详细]
  • 判断编码是否可立即解码的程序及电话号码一致性判断程序
    本文介绍了两个编程题目,一个是判断编码是否可立即解码的程序,另一个是判断电话号码一致性的程序。对于第一个题目,给出一组二进制编码,判断是否存在一个编码是另一个编码的前缀,如果不存在则称为可立即解码的编码。对于第二个题目,给出一些电话号码,判断是否存在一个号码是另一个号码的前缀,如果不存在则说明这些号码是一致的。两个题目的解法类似,都使用了树的数据结构来实现。 ... [详细]
  • 在本教程中,我们将看到如何使用FLASK制作第一个用于机器学习模型的RESTAPI。我们将从创建机器学习模型开始。然后,我们将看到使用Flask创建AP ... [详细]
  • 关于如何快速定义自己的数据集,可以参考我的前一篇文章PyTorch中快速加载自定义数据(入门)_晨曦473的博客-CSDN博客刚开始学习P ... [详细]
  • OCR:用字符识别方法将形状翻译成计算机文字的过程Matlab:商业数学软件;CUDA:CUDA™是一种由NVIDIA推 ... [详细]
  • 计算机存储系统的层次结构及其优势
    本文介绍了计算机存储系统的层次结构,包括高速缓存、主存储器和辅助存储器三个层次。通过分层存储数据可以提高程序的执行效率。计算机存储系统的层次结构将各种不同存储容量、存取速度和价格的存储器有机组合成整体,形成可寻址存储空间比主存储器空间大得多的存储整体。由于辅助存储器容量大、价格低,使得整体存储系统的平均价格降低。同时,高速缓存的存取速度可以和CPU的工作速度相匹配,进一步提高程序执行效率。 ... [详细]
  • 浏览器中的异常检测算法及其在深度学习中的应用
    本文介绍了在浏览器中进行异常检测的算法,包括统计学方法和机器学习方法,并探讨了异常检测在深度学习中的应用。异常检测在金融领域的信用卡欺诈、企业安全领域的非法入侵、IT运维中的设备维护时间点预测等方面具有广泛的应用。通过使用TensorFlow.js进行异常检测,可以实现对单变量和多变量异常的检测。统计学方法通过估计数据的分布概率来计算数据点的异常概率,而机器学习方法则通过训练数据来建立异常检测模型。 ... [详细]
  • 服务器上的操作系统有哪些,如何选择适合的操作系统?
    本文介绍了服务器上常见的操作系统,包括系统盘镜像、数据盘镜像和整机镜像的数量。同时,还介绍了共享镜像的限制和使用方法。此外,还提供了关于华为云服务的帮助中心,其中包括产品简介、价格说明、购买指南、用户指南、API参考、最佳实践、常见问题和视频帮助等技术文档。对于裸金属服务器的远程登录,本文介绍了使用密钥对登录的方法,并提供了部分操作系统配置示例。最后,还提到了SUSE云耀云服务器的特点和快速搭建方法。 ... [详细]
  • 本文总结了使用不同方式生成 Dataframe 的方法,包括通过CSV文件、Excel文件、python dictionary、List of tuples和List of dictionary。同时介绍了一些注意事项,如使用绝对路径引入文件和安装xlrd包来读取Excel文件。 ... [详细]
  • python3 nmap函数简介及使用方法
    本文介绍了python3 nmap函数的简介及使用方法,python-nmap是一个使用nmap进行端口扫描的python库,它可以生成nmap扫描报告,并帮助系统管理员进行自动化扫描任务和生成报告。同时,它也支持nmap脚本输出。文章详细介绍了python-nmap的几个py文件的功能和用途,包括__init__.py、nmap.py和test.py。__init__.py主要导入基本信息,nmap.py用于调用nmap的功能进行扫描,test.py用于测试是否可以利用nmap的扫描功能。 ... [详细]
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社区 版权所有