【完全指南】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小时,零基础掌握深度学习

相关文章
|
运维 Java Nacos
nacos常见问题之配置账号密码
Nacos是阿里云开源的服务发现和配置管理平台,用于构建动态微服务应用架构;本汇总针对Nacos在实际应用中用户常遇到的问题进行了归纳和解答,旨在帮助开发者和运维人员高效解决使用Nacos时的各类疑难杂症。
1530 6
|
监控 JavaScript 前端开发
|
关系型数据库 数据库 PostgreSQL
PostgreSQL 内存表可选项 - unlogged table
标签 PostgreSQL , 内存表 , unlogged table 背景 内存表,通常被用于不需要持久化,变更频繁,访问RT低的场景。 目前社区版本PostgreSQL没有内存表的功能,postgrespro提供了两个插件可以实现类似内存表的功能。
4603 0
|
消息中间件 存储 网络协议
从零开始掌握进程间通信:管道、信号、消息队列、共享内存大揭秘
本文详细介绍了进程间通信(IPC)的六种主要方式:管道、信号、消息队列、共享内存、信号量和套接字。每种方式都有其特点和适用场景,如管道适用于父子进程间的通信,消息队列能传递结构化数据,共享内存提供高速数据交换,信号量用于同步控制,套接字支持跨网络通信。通过对比和分析,帮助读者理解并选择合适的IPC机制,以提高系统性能和可靠性。
2520 14
|
12月前
|
Dubbo Java 测试技术
【Lattice】设计原理
Lattice 是一个轻量级业务扩展调用框架,通过模块化架构实现复杂业务定制的高效管理。支持动态发现、加载与执行扩展,提供清晰的分层设计,集成 Spring、Dubbo 等主流技术,助力企业应用灵活扩展。
1065 0
|
前端开发 开发者
基于.net8 和 Vue3 的前后端分离管理系统搭建
一款名为PurestAdmin的前后端分离系统,基于.net8和Vue3,实现了真正意义上的分离,服务端仅关注功能接口,客户端通过功能编码控制路由。选用Vue3提升交互体验,利用ABP框架保证后端性能。项目特点是无业务功能、单Token刷新、接口权限验证和在线用户管理。源码可在Gitee、GitHub找到,提供在线预览和文档支持。历经多次重构,旨在促进快速开发,降低框架搭建难度。
1468 1
|
Java API Spring
Spring Boot中的RESTful API版本控制
Spring Boot中的RESTful API版本控制
|
自然语言处理 安全 前端开发
什么是CMS?CMS适合搭建什么网站?
CMS(内容管理系统)用于快速搭建、管理和发布网站内容。它支持自定义板块,降低建站门槛。CMS分为独立CMS和SaaS CMS两种类型,主要功能包括角色分配、SEO优化、多语言支持等。建站流程包括确定需求、选择系统、购买域名和主机、安装系统、选择模板、扩展栏目、添加内容、上线和维护。PageAdmin CMS是一款优秀的建站系统,推荐免费试用。
1040 1
|
存储 自然语言处理 算法
OpenIM Bot: 用LLM构建企业专属的智能客服
OpenIM Bot 通过结合LLM和RAG技术,构建企业专属的智能客服系统。该系统通过优化向量存储、混合检索和查询分析,解决了LLM的幻觉、新鲜度、token长度和数据安全问题,提升了用户体验。向量存储和预处理步骤确保文档高质量,而混合检索结合文本和语义搜索,增强了检索结果的准确性。通过迭代优化,OpenIM Bot 提供了高效、智能的支持服务,减轻了支持团队的负担,提升了问题解决效率。
1981 3
OpenIM Bot: 用LLM构建企业专属的智能客服
|
存储 SQL 数据库
OceanBase数据库的分区策略
【8月更文挑战第13天】OceanBase数据库的分区策略
1252 5

热门文章

最新文章