How-to-learn-Deep-Learning
How-to-learn-Deep-Learning 是一份专为零基础或转行人士设计的深度学习实战指南。它摒弃了传统“先理论后实践”的枯燥路径,采用独特的“自顶向下”教学法,引导学习者直接从高层框架入手,快速建立对人工智能的直观认知。
这份资源主要解决了初学者面对海量理论无从下手、难以将知识转化为实际工程能力,以及因缺乏真实项目经验而求职受阻的痛点。它不仅提供了清晰的学习路线图,涵盖从 Python 基础、数据处理到模型部署的全流程,还特别强调了如何构建具有竞争力的作品集,帮助学习者避开仅依赖教程和玩具数据的误区,真正掌握解决现实问题的能力。
该指南非常适合希望进入机器学习领域的开发者、自学者以及寻求职业转型的技术人员。其核心亮点在于务实的职业导向:建议初学者优先瞄准需求量大且更看重工程落地能力的“机器学习工程师”岗位,利用 FastAI 和 PyTorch 等现代工具在云 GPU 上快速实践。通过两个月的密集训练与后续的项目积累,用户能够建立起扎实的深度学习思维,为职业生涯打下坚实基础。
使用场景
一位零基础的转行者希望在不攻读学位的情况下,通过自学掌握深度学习技能并成功应聘机器学习工程师岗位。
没有 How-to-learn-Deep-Learning 时
- 学习路径混乱:面对海量理论教材不知所措,陷入“从数学公式开始”的误区,导致数月无法写出第一行有效代码。
- 实战经验缺失:作品集充斥着泰坦尼克号预测等教程里的“玩具数据集”项目,被面试官认为缺乏解决真实问题的能力。
- 技术栈脱节:花费大量时间钻研过时的算法或纯理论研究,忽视了企业真正需要的 PyTorch、FastAI 及云端部署等工程化技能。
- 求职定位模糊:盲目竞争高门槛的研究科学家岗位,因缺乏论文成果而屡屡碰壁,不知道如何切入需求更大的工程类职位。
使用 How-to-learn-Deep-Learning 后
- 自上而下高效入门:遵循“先框架后原理”的实战路线,两个月内迅速掌握 Python、Jupyter 及 Git 工作流,建立起直观的深度学习思维。
- 构建差异化作品集:避开同质化的教程项目,利用云 GPU 复现前沿模型并解决具体业务问题,向雇主证明具备独立交付价值的能力。
- 对齐工业界需求:聚焦 FastAI 和 PyTorch 等主流工具,优先掌握模型部署与扩展技能,精准匹配企业对“机器学习工程师”的实际用人标准。
- 明确职业切入点:策略性地首选竞争较小且重工程的岗位,先就业再深造,利用实战优势弥补学历短板,实现职业生涯的平滑过渡。
How-to-learn-Deep-Learning 通过提供一条经过验证的“自顶向下”实战路径,帮助学习者跳过学术弯路,直接用可落地的工程能力敲开行业大门。
运行环境要求
- 未说明
建议使用云 GPU(Cloud GPUs),具体型号、显存大小及 CUDA 版本未在文中明确指定
未说明

快速开始
方法
采用实用的自顶向下方法,从高层次框架入手,重点关注深度学习。
更新版: 👉 请查看我的60页指南《无需机器学习学位》(No ML Degree),了解如何在没有学位的情况下找到一份机器学习相关工作。
入门阶段 [2个月]
要快速掌握深度学习,主要有三个目标:
- 熟悉将要使用的工具,例如Python、命令行和Jupyter Notebook;
- 适应整个工作流程,从数据获取到训练好的模型部署;
- 培养深度学习思维模式,对深度学习模型的行为及其优化方式形成直觉。
- 在Codecademy.com上花一周时间学习Python语法、命令行操作和Git。如果你之前没有任何编程经验,建议花几个月时间系统地学习编程基础,否则很容易感到不知所措。
- 花一到两周时间使用Pandas和Scikit-learn,结合Kaggle上的入门题目,通过Google Colab上的Jupyter Notebook完成练习,比如泰坦尼克号乘客生存预测、房屋价格预测以及鸢尾花分类等任务。这将帮助你全面了解机器学习的思维方式和工作流程。
- 花一个月时间在云端GPU上实现各种模型。可以从FastAI和PyTorch开始。FastAI社区是希望应用深度学习并分享最新技术的人们的首选之地。
完成以上步骤后,你就能知道如何利用机器学习创造价值了。
作品集 [3–12个月]
把你的作品集看作是向潜在雇主展示你能够为其带来价值的证据。
在寻找第一份工作时,你可以申请以下四种主要职位:
- 机器学习工程师,
- 应用机器学习研究员/实习岗位,
- 机器学习研究科学家,以及
- 软件工程师。
与机器学习相关的许多工作实际上属于纯软件工程岗位(第4类),例如基础设施的扩展与优化,但这不在本文讨论范围内。如果你想顺利进入这个行业,最简单的方式就是瞄准机器学习工程师岗位。相比第2类和第3类岗位,ML工程师的职位数量要多得多,且对理论知识的要求较低,竞争也相对较小。大多数企业更倾向于采用稳定、成熟的实现方案(通常已有约一年历史),而不是投入稀缺资源去实现那些耗时较长、实际效果往往不佳的最先进论文中的方法。
一旦你能靠这份工作维持生计,并积累几年的工作经验,你就会更有条件去学习理论知识,进而晋升到第2类或第3类岗位。这一点对于自学成才的人来说尤其重要——你往往比普通的大学毕业生更具优势。一般来说,大学毕业生虽然理论功底扎实,但实践能力相对较弱。
背景
无论你的背景如何,评审你的作品集的人通常会包括3到10位技术与非技术人员。你希望引发以下几方面的反应:
- 申请人具备解决我们这类问题的经验;
- 申请人的作品易于理解且组织清晰;
- 这些作品毫无疑问是申请人独立完成的。
大多数机器学习学习者的作品集都大同小异,常见内容包括参加在线课程、训练猫狗分类器,以及在泰坦尼克号或鸢尾花等玩具数据集上的实现。这些项目往往表明你倾向于回避真实世界的问题解决,更愿意待在舒适区里照搬教程代码。这样的作品集不仅无法体现你的价值,反而可能给人留下负面印象,让你看起来并不像一位高质量的候选人。
相比之下,一个独特的作品项目意味着你曾面对过没有现成解决方案的独特问题,从而锻炼了与员工日常工作中类似的解决问题能力。一个好的起点是关注活跃的Kaggle竞赛、机器学习咨询项目,以及常见生产流水线的演示版本。这里有一条关于如何构思作品集创意的推文串。
以下是评估作品集质量的大致指南:
机器学习工程方向:
尽管机器学习工程岗位是最具战略意义的入门途径,但竞争依然非常激烈。一般来说,每有一个机器学习岗位,就有大约50个软件工程岗位。据我所了解的自学者中,有三分之二未能成功进入该领域,最终转而从事软件工程工作。当你拥有两个高质量、文档完善、使用独特数据集且与某一特定行业(如银行或保险)相关的项目时,就可以开始求职了。
| 项目类型 | 基础分 |
|---|---|
| 普通项目 | -1 分 |
| 独特项目 | 10 分 |
| 倍数类型 | 因子 |
|---|---|
| 强文档支持 | 5倍 |
| 5000字文章 | 5倍 |
| Kaggle奖牌 | 10倍 |
| 与雇主相关性 | 20倍 |
- 可聘用: 5,250 分
- 有竞争力: 15,000 分
应用研究/研究助理/研究员:
对于大多数公司而言,追求前沿研究的风险往往过高,因此只有大型企业才真正需要这类人才。虽然也有一些小型研究机构会招聘此类职位,但这些岗位通常宣传不足,且更倾向于从其现有圈子内选拔人才。
许多这类岗位并不要求博士学位,因此持有学士或硕士学位,或者经过一年专注学习的自学者也有机会申请。
鉴于这些岗位的地位、稀缺性及要求,它们无疑是机器学习领域中最难竞争的职位之一。知名公司的相关岗位往往每空缺一席就会收到上千份申请。
日常工作中,这些岗位要求你能够理解并实现最先进论文中的方法,因此他们在评估你的作品集时也会着重考察这一点。
| 项目类型 | 基础分 |
|---|---|
| 普通项目 | -10 分 |
| 独特项目 | 1 分 |
| SOTA论文实现 | 20 分 |
| 倍数类型 | 因子 |
|---|---|
| 强文档支持 | 5倍 |
| 5000字文章 | 5倍 |
| 达到SOTA性能 | 5倍 |
| 与雇主相关性 | 20倍 |
- 可聘用: 52,500 分
- 有竞争力: 150,000 分
研究科学家:
研究科学家岗位通常要求博士学位或同等经验。前者侧重于实现最先进论文中的方法,而后者则要求提出创新性的研究思路。主流学术界通常以研究成果的影响力来衡量研究创意的质量,此处列出了一些重要期刊及其影响力。要使自己的作品集具有竞争力,你需要在与潜在雇主相关领域内的顶级期刊上发表两篇论文。
| 项目类型 | 基础分 |
|---|---|
| 普通项目 | -100 分 |
| 未发表论文 | 5 分 |
| ICML/ICLR/NeurIPS发表 | 500分 |
| 其他发表 | 50分 |
| 倍数类型 | 因子 |
|---|---|
| 第一作者论文 | 10倍 |
| 与雇主相关性 | 20倍 |
- 可聘用: 20,000 分
- 竞争激烈的岗位及顶尖博士职位: 200,000 分
案例:
- 我的第一个作品项目(学习两个月后):代码 | 文章
- 我的第二个作品项目(学习四个月后):代码 | 文章
- Dylan Djian的第一个作品项目:代码 | 文章
- Dylan Djian的第二个作品项目:代码 | 文章
- Reiichiro Nakano的第一个作品项目:代码 | 文章
- Reiichiro Nakano的第二个作品项目:文章
大多数招聘人员只会花10到20秒钟浏览你的每个作品项目。如果在这段时间内他们无法理解该项目的价值,那么这个项目的实际价值几乎为零。因此,撰写清晰的说明和完善的文档至关重要。这里还有一条关于如何撰写作品项目说明的推文。
最后一个关键点是相关性。制作多样化的项目固然有趣,但如果你想最大化进入行业的可能性,就应该将所有项目聚焦于同一个细分领域,从而使你的技能对特定雇主群体来说具有极高的相关性。
更多灵感:
理论基础101 [4个月]
如果你想进入研究领域,或者成为一名优秀的机器学习工程师,学会阅读论文至关重要。要熟练阅读论文,需要掌握以下三个关键方面:
- 理解最常见算法的细节,例如梯度下降、线性回归和多层感知机等。
- 学会将最常见的数学符号转化为代码。
- 掌握代数、微积分、统计学和机器学习的基础知识。
- 第一周:观看3Blue1Brown的《线性代数的本质》(https://www.youtube.com/watch?v=fNk_zzaMoSs&list=PLZHQObOWTQDPD3MizzM2xVFitgF8hE_ab)、《微积分的本质》(https://www.youtube.com/watch?v=WUvTyaaNkzM&list=PLZHQObOWTQDMsr9K-rj53DwVRMYO3t5Yr),以及StatQuest的《统计学基础》(https://www.youtube.com/watch?v=qBigTkBLU6g&list=PLblh5JKOoLUICTaGLRoHQDuF_7q2GfuJF)和《机器学习》(https://www.youtube.com/watch?v=Gv9_4yMHFhI&list=PLblh5JKOoLUICTaGLRoHQDuF_7q2GfuJF)。使用间隔重复应用(如Anki)来记忆所有关键概念。尽量多使用图像,因为它们更容易记住。
- 花一个月时间用Python和NumPy重新实现核心概念(https://github.com/eriklindernoren/ML-From-Scratch),包括最小二乘法、梯度下降、线性回归和一个简单的神经网络。这将帮助你在后续工作中减轻认知负担。通过学习这些符号实际上是一种简洁的逻辑表达方式,并将其转化为代码,你会对理论部分感到更加自信,焦虑感也会降低。
- 我认为最好的深度学习理论课程是Ian Goodfellow、Yoshua Bengio和Aaron Courville合著的《深度学习》(http://www.deeplearningbook.org/)。我以这本书为课程大纲,同时结合在线课程和网络资源来深入理解每个概念。用三个月的时间学习《深度学习》的第一部分。利用讲座视频(如https://www.youtube.com/watch?v=vi7lACKOUao&list=PLsXu9MHQGs8df5A4PzQGw-kfviylC-R9b&ab_channel=AlenaKruchkova)来理解概念,通过类似可汗学院的练习来掌握每个概念,并使用Anki闪卡进行长期记忆。
重点书籍:
- 《深度学习》(http://www.deeplearningbook.org/),作者:Ian Goodfellow、Yoshua Bengio和Aaron Courville。
- 《面向编码者的深度学习:使用fastai和PyTorch的AI应用,无需博士学位》(https://www.amazon.com/gp/product/1492045527/ref=ppx_od_dt_b_asin_title_s00?ie=UTF8&psc=1),作者:Jeremy Howard和Sylvain Gugger。
- 《用Python进行深度学习》(https://www.manning.com/books/deep-learning-with-python),作者:François Chollet。
- 《神经网络与深度学习》(http://neuralnetworksanddeeplearning.com/),作者:Michael Nielsen。
- 《深度学习精要》(https://www.manning.com/books/grokking-deep-learning),作者:Andrew W. Trask。
论坛
- FastAI论坛(http://forums.fast.ai/)
- Keras Slack频道(https://keras-slack-autojoin.herokuapp.com/)
- Distill Slack频道(https://join.slack.com/t/distillpub/shared_invite/enQtMzg1NzU3MzEzMTg3LWJkNmQ4Y2JlNjJkNDlhYTU2ZmQxMGFkM2NiMTI2NGVjNzJkOTdjNTFiOGZmNDBjNTEzZGUwM2U0Mzg4NDAyN2E)
- PyTorch讨论区(https://discuss.pytorch.org/)
其他优秀的学习策略:
- Emil Wallner的文章(https://blog.floydhub.com/emils-story-as-a-self-taught-ai-researcher/)
- S. Zayd Enam的文章(http://ai.stanford.edu/~zayd/why-is-machine-learning-hard.html)
- Catherine Olsson的文章(https://80000hours.org/articles/ml-engineering-career-transition-guide/)
- Greg Brockman的第二篇博文(https://blog.gregbrockman.com/how-i-became-a-machine-learning-practitioner)
- Greg Brockman的第一篇问答文章(https://www.quora.com/What-are-the-best-ways-to-pick-up-Deep-Learning-skills-as-an-engineer)
- 吴恩达的视频(https://www.youtube.com/watch?v=F1ka6a13S9I)
- Amid Fish的文章(http://amid.fish/reproducing-deep-rl)
- OpenAI的Spinning Up项目(https://spinningup.openai.com/en/latest/spinningup/spinningup.html)
- Reddit上关于AI研究员的自白帖(https://www.reddit.com/r/MachineLearning/comments/73n9pm/d_confession_as_an_ai_researcher_seeking_advice/)
- Y Combinator上的相关讨论帖:一 和 二
如果你有任何建议或问题,请在GitHub上创建一个issue,或者在Twitter上@我。(https://twitter.com/EmilWallner)
更新版本: 👉 查看我的60页指南《无需机器学习学位》(https://twitter.com/EmilWallner/status/1528961488206979072),教你如何在没有学位的情况下找到一份机器学习工作。
相似工具推荐
openclaw
OpenClaw 是一款专为个人打造的本地化 AI 助手,旨在让你在自己的设备上拥有完全可控的智能伙伴。它打破了传统 AI 助手局限于特定网页或应用的束缚,能够直接接入你日常使用的各类通讯渠道,包括微信、WhatsApp、Telegram、Discord、iMessage 等数十种平台。无论你在哪个聊天软件中发送消息,OpenClaw 都能即时响应,甚至支持在 macOS、iOS 和 Android 设备上进行语音交互,并提供实时的画布渲染功能供你操控。 这款工具主要解决了用户对数据隐私、响应速度以及“始终在线”体验的需求。通过将 AI 部署在本地,用户无需依赖云端服务即可享受快速、私密的智能辅助,真正实现了“你的数据,你做主”。其独特的技术亮点在于强大的网关架构,将控制平面与核心助手分离,确保跨平台通信的流畅性与扩展性。 OpenClaw 非常适合希望构建个性化工作流的技术爱好者、开发者,以及注重隐私保护且不愿被单一生态绑定的普通用户。只要具备基础的终端操作能力(支持 macOS、Linux 及 Windows WSL2),即可通过简单的命令行引导完成部署。如果你渴望拥有一个懂你
n8n
n8n 是一款面向技术团队的公平代码(fair-code)工作流自动化平台,旨在让用户在享受低代码快速构建便利的同时,保留编写自定义代码的灵活性。它主要解决了传统自动化工具要么过于封闭难以扩展、要么完全依赖手写代码效率低下的痛点,帮助用户轻松连接 400 多种应用与服务,实现复杂业务流程的自动化。 n8n 特别适合开发者、工程师以及具备一定技术背景的业务人员使用。其核心亮点在于“按需编码”:既可以通过直观的可视化界面拖拽节点搭建流程,也能随时插入 JavaScript 或 Python 代码、调用 npm 包来处理复杂逻辑。此外,n8n 原生集成了基于 LangChain 的 AI 能力,支持用户利用自有数据和模型构建智能体工作流。在部署方面,n8n 提供极高的自由度,支持完全自托管以保障数据隐私和控制权,也提供云端服务选项。凭借活跃的社区生态和数百个现成模板,n8n 让构建强大且可控的自动化系统变得简单高效。
AutoGPT
AutoGPT 是一个旨在让每个人都能轻松使用和构建 AI 的强大平台,核心功能是帮助用户创建、部署和管理能够自动执行复杂任务的连续型 AI 智能体。它解决了传统 AI 应用中需要频繁人工干预、难以自动化长流程工作的痛点,让用户只需设定目标,AI 即可自主规划步骤、调用工具并持续运行直至完成任务。 无论是开发者、研究人员,还是希望提升工作效率的普通用户,都能从 AutoGPT 中受益。开发者可利用其低代码界面快速定制专属智能体;研究人员能基于开源架构探索多智能体协作机制;而非技术背景用户也可直接选用预置的智能体模板,立即投入实际工作场景。 AutoGPT 的技术亮点在于其模块化“积木式”工作流设计——用户通过连接功能块即可构建复杂逻辑,每个块负责单一动作,灵活且易于调试。同时,平台支持本地自托管与云端部署两种模式,兼顾数据隐私与使用便捷性。配合完善的文档和一键安装脚本,即使是初次接触的用户也能在几分钟内启动自己的第一个 AI 智能体。AutoGPT 正致力于降低 AI 应用门槛,让人人都能成为 AI 的创造者与受益者。
stable-diffusion-webui
stable-diffusion-webui 是一个基于 Gradio 构建的网页版操作界面,旨在让用户能够轻松地在本地运行和使用强大的 Stable Diffusion 图像生成模型。它解决了原始模型依赖命令行、操作门槛高且功能分散的痛点,将复杂的 AI 绘图流程整合进一个直观易用的图形化平台。 无论是希望快速上手的普通创作者、需要精细控制画面细节的设计师,还是想要深入探索模型潜力的开发者与研究人员,都能从中获益。其核心亮点在于极高的功能丰富度:不仅支持文生图、图生图、局部重绘(Inpainting)和外绘(Outpainting)等基础模式,还独创了注意力机制调整、提示词矩阵、负向提示词以及“高清修复”等高级功能。此外,它内置了 GFPGAN 和 CodeFormer 等人脸修复工具,支持多种神经网络放大算法,并允许用户通过插件系统无限扩展能力。即使是显存有限的设备,stable-diffusion-webui 也提供了相应的优化选项,让高质量的 AI 艺术创作变得触手可及。
everything-claude-code
everything-claude-code 是一套专为 AI 编程助手(如 Claude Code、Codex、Cursor 等)打造的高性能优化系统。它不仅仅是一组配置文件,而是一个经过长期实战打磨的完整框架,旨在解决 AI 代理在实际开发中面临的效率低下、记忆丢失、安全隐患及缺乏持续学习能力等核心痛点。 通过引入技能模块化、直觉增强、记忆持久化机制以及内置的安全扫描功能,everything-claude-code 能显著提升 AI 在复杂任务中的表现,帮助开发者构建更稳定、更智能的生产级 AI 代理。其独特的“研究优先”开发理念和针对 Token 消耗的优化策略,使得模型响应更快、成本更低,同时有效防御潜在的攻击向量。 这套工具特别适合软件开发者、AI 研究人员以及希望深度定制 AI 工作流的技术团队使用。无论您是在构建大型代码库,还是需要 AI 协助进行安全审计与自动化测试,everything-claude-code 都能提供强大的底层支持。作为一个曾荣获 Anthropic 黑客大奖的开源项目,它融合了多语言支持与丰富的实战钩子(hooks),让 AI 真正成长为懂上
ComfyUI
ComfyUI 是一款功能强大且高度模块化的视觉 AI 引擎,专为设计和执行复杂的 Stable Diffusion 图像生成流程而打造。它摒弃了传统的代码编写模式,采用直观的节点式流程图界面,让用户通过连接不同的功能模块即可构建个性化的生成管线。 这一设计巧妙解决了高级 AI 绘图工作流配置复杂、灵活性不足的痛点。用户无需具备编程背景,也能自由组合模型、调整参数并实时预览效果,轻松实现从基础文生图到多步骤高清修复等各类复杂任务。ComfyUI 拥有极佳的兼容性,不仅支持 Windows、macOS 和 Linux 全平台,还广泛适配 NVIDIA、AMD、Intel 及苹果 Silicon 等多种硬件架构,并率先支持 SDXL、Flux、SD3 等前沿模型。 无论是希望深入探索算法潜力的研究人员和开发者,还是追求极致创作自由度的设计师与资深 AI 绘画爱好者,ComfyUI 都能提供强大的支持。其独特的模块化架构允许社区不断扩展新功能,使其成为当前最灵活、生态最丰富的开源扩散模型工具之一,帮助用户将创意高效转化为现实。