【完全指南】6个月,每周10-20小时,零基础掌握深度学习

简介: 在大约6个月的时间里,学习、跟踪和参与到深度学习state-of-the-art的工作中是完全可能的。实现这一目标只需5个步骤,本文带来详细介绍。

必备条件

  • 你愿意在接下来的6个月每周花费10-20小时
  • 你已经有一些编程技能。在学习过程中,你应该能够轻松学会Python,以及云的知识(假设没有Python和云的背景)。
  • 已经接受过一些数学教育(代数、几何等)。
  • 能够访问互联网和使用计算机。

6个月,循序渐进5个步骤掌握深度学习

第1步

我们通过开车来学习驾驶,而不是通过学习离合器和内燃机的工作原理。至少最开始不是这样。学习深度学习时,我们将遵循同样的自上而下的方法。

作为入门,学习fast.ai的“给程序员的深度学习课程-Part 1”[1]。这需要花费4-6周的时间。这个课程有一个在云上运行代码的实践。Google Colaboratory [2]提供免费的GPU接入,其他的选项还有Paperspace, AWS, GCP, Crestle 和 Floydhub。所有这些都很好用。你不用开始配置自己的机器,至少这个阶段还不用。

第2步

学完第一步的入门课程,现在应该学一些基本知识了。学习微积分和线性代数。

对于微积分,MIT的Big Picture of Calculus [3] 这个课程提供了一个很好的概述。

对于线性代数,Gilbert Strang在MIT OpenCourseWare开的《线性代数》课程[4]很棒。

完成上面两个课程后,可以阅读 Matrix Calculus for Deep Learning [5].

第3步

现在是了解深度学习的自下而上的方法的时候了。在Coursera学习吴恩达的Deep Learning Specialization的全部5门课[6]。理想情况下,考虑到你目前已经得到的背景知识,你应该能够每周完成一门课程。

第4步

“只用功不玩耍,聪明的孩子也变傻”

做一个实战项目。你可以深入钻研一个深度学习库(例如,Tensorflow、PyTorch、MXNet),并针对任何你喜欢的问题,从头开始实现一个架构。

前三个步骤是关于如何使用、在哪里使用深度学习,以及打下坚实的基础的过程。这一步就是从零开始实现一个项目,并在使用工具方面打下坚实的基础。

第5步

现在可以开始学习fast.ai第二部分的课程了——给程序员的前沿深度学习课程(Cutting Edge Deep Learning for Coders)[7]。这个课程涉及更高级的主题,你将学习阅读最新的研究论文,并从中得到启发。

以上每个步骤都大约需要4-6周的时间。总共大约26周的时间,如果你遵循上述步骤的过程,你将获得深度学习的坚实基础。

那么再下一步呢?

学习斯坦福的CS231n[8]和CS224d[9]课程。这两个都是非常深度的视觉和NLP领域的很棒的课程。这两个课程覆盖了该领域最先进的研究。同时阅读Ian Goodfellow 、Yoshua Bengio 和Aaron Courville三位大牛合著的Deep Learning这本书[10],这能够巩固你的理解。


原文发布时间为:2018-02-8

本文作者:马文

本文来自云栖社区合作伙伴新智元,了解相关信息可以关注“AI_era”微信公众

原文链接:【完全指南】6个月,每周10-20小时,零基础掌握深度学习

相关文章
|
消息中间件 大数据 Kafka
多云与混合云场景下的数据同步方案-KAFKA
多云与混合云场景下的数据同步方案-KAFKA
|
11月前
|
消息中间件 存储 网络协议
从零开始掌握进程间通信:管道、信号、消息队列、共享内存大揭秘
本文详细介绍了进程间通信(IPC)的六种主要方式:管道、信号、消息队列、共享内存、信号量和套接字。每种方式都有其特点和适用场景,如管道适用于父子进程间的通信,消息队列能传递结构化数据,共享内存提供高速数据交换,信号量用于同步控制,套接字支持跨网络通信。通过对比和分析,帮助读者理解并选择合适的IPC机制,以提高系统性能和可靠性。
1460 14
|
10月前
|
设计模式 中间件 Java
设计模式3:代理、适配器、装饰器模式
代理模式是一种结构型设计模式,通过中间件解耦服务提供者和使用者,使使用者间接访问服务提供者,便于封装和控制。
187 3
|
JSON JavaScript 前端开发
在Vue3项目中,Vite起到的作用及其可以做的事情
Vite是Vue 3项目的关键快速开发服务器和高效的热模块替换(HMR)。它的亮点包括:使用ES模块实现快速启动和动态加载,模块级别HMR提升开发效率,Rollup打包优化生产构建。此外,Vite还支持插件系统、自定义配置、静态资源处理和现代JS特性。通过`npm create vite`可快速搭建Vue项目,配置文件`vite.config.js`可定制行为,`.env`文件管理环境变量。Vite优化了开发与构建流程,提高开发者效率并保证构建性能。
|
人工智能 算法 搜索推荐
选择智能工单系统的理由,功能与效益分析
智能工单管理系统利用数字化技术,帮助企业高效接收、分配和解决客户请求,具备多渠道接收、智能分配和自动化处理等功能。通过实时响应、数据分析和协作工具,系统显著提升服务质量和效率,优化客户体验,成为企业提升竞争力的关键工具。Zoho Desk等系统表现尤为突出,支持多种渠道和服务功能,助力企业实现高效管理。
362 1
|
监控 Java 开发者
源码二次开发真的能提升开发效率与降低成本吗?
源码二次开发是在现有软件源代码基础上进行修改、扩展或定制,以满足新需求或改进功能的过程。这种方式能显著节省时间和成本,提高开发效率,同时支持高度定制,但需注意兼容性、版权和技术债务等问题。
301 0
|
Linux C++ 开发者
几款主流好用的markdown编辑器介绍
几款主流好用的markdown编辑器介绍
1279 0
|
开发框架 算法 测试技术
提升你的VB项目:模块化和代码重构的最佳实践
【4月更文挑战第27天】本文探讨了如何在Visual Basic(VB)项目中实现模块化设计和代码重构,以提升可维护性和可扩展性。通过模块化减少复杂性,遵循高内聚、低耦合原则;利用类、命名空间等实现模块化,借助.NET框架增强灵活性。代码重构包括改进结构、消除重复、封装变化点,利用现代VB特性简化代码,同时重视单元测试和持续集成确保质量。性能优化和案例研究提供实践经验,助力VB项目保持高效和适应未来发展。
417 2
|
网络协议 安全 网络安全
2023华为ICT网络初赛试题回顾
2023华为ICT网络初赛试题回顾
|
消息中间件 云安全 运维
我们找阿里云资深技术专家李响聊了聊开源和云原生
去年,全球顶级开源社区云原生计算基金会CNCF正式宣布其技术监督委员会席位改选结果。阿里云资深技术专家李响入选,成为该委员会有史以来首张中国面孔。
3164 86
我们找阿里云资深技术专家李响聊了聊开源和云原生