00 - 入门指南
欢迎来到这个不一样的机器学习教程!
这是一份什么样的教程?
这不是一本教你调用 TensorFlow 或 PyTorch API 的手册,也不是充满数学公式的学术论文。这是一场概念探索之旅——通过对话、类比和直觉构建,帮助你真正理解现代 AI/ML 算法是如何工作的,以及为什么这样设计。
你将学到什么
- 🧠 算法的本质:注意力机制为什么能”注意”?梯度下降为什么能”学习”?
- ⚖️ 设计的权衡:为什么 Transformer 取代了 RNN?为什么 LoRA 比全参数微调更受欢迎?
- 🔗 演化的脉络:从 RNN 到 Transformer 到 SSM,算法如何一步步演进?
- 💡 直觉的构建:用类比和可视化代替生硬的数学推导
你不会学到什么
- ❌ 如何配置训练环境
- ❌ 如何调参获得 SOTA 结果
- ❌ 逐行代码讲解(会有核心代码片段,但重点是思想)
什么是机器学习?三个启发式对话
让我们从最根本的问题开始。
对话 1: 机器如何”学习”?
🤔 学生:我听说机器学习让计算机能”学习”,但计算机不是只能执行指令吗?怎么可能学习?
💡 导师:好问题!先想想你是怎么学骑自行车的?
🤔 学生:我试了很多次,每次摔倒后调整一下姿势,慢慢就学会了。
💡 导师:没错!你并没有背下”左腿用力 3.5 牛顿,右手转 12 度”这样的指令对吧?你是通过试错 + 调整找到了平衡的方法。机器学习也是这样——我们不写规则,而是让程序通过大量数据自己找规律。
🤔 学生:但程序怎么知道自己做得对不对?
💡 导师:就像骑车时”没摔倒”就是对的标准,机器学习也有损失函数作为”评分系统”。程序看到”预测值和真实值差得很远”时,就知道自己错了,然后调整内部参数,让下次预测更准确。
✨ 关键洞察:
- 机器学习 = 用数据找规律,而非用规则编程
- 学习过程 = 试错 + 根据反馈调整
- 评分系统(损失函数)告诉程序”改进的方向”
对话 2: 为什么叫”训练”而不是”编程”?
🤔 学生:我们不是还在写代码吗?为什么说这不是编程?
💡 导师:想象你要教一个朋友识别猫和狗。你会怎么做?
🤔 学生:给他看很多猫和狗的照片,告诉他哪个是哪个。
💡 导师:对!你不会告诉他”如果耳朵是尖的就是猫”这样的规则,因为有的狗耳朵也很尖。你是给例子,让他自己总结特征。机器学习也是这样——我们写的代码定义了学习机制(怎么从数据中提取规律),但具体的规律是机器自己”训练”出来的。
🤔 学生:所以”训练”是指让模型看很多例子,自己找规律?
💡 导师:完全正确!传统编程是”你告诉计算机每一步怎么做”,训练则是”你给计算机数据和目标,它自己找方法”。我们编写的是学习算法,而不是最终的解决方案。
✨ 关键洞察:
- 编程 = 写规则
- 训练 = 提供数据 + 学习机制,让模型自己发现规则
- 程序员的角色从”问题解决者”变成”学习框架设计者”
对话 3: 神经网络和人脑有什么关系?
🤔 学生:既然叫”神经网络”,是不是模拟了人脑的工作方式?
💡 导师:这是个常见误解。神经网络的名字确实来自神经科学,但现代神经网络和人脑的相似度可能不到 5%。
🤔 学生:那为什么还叫这个名字?
💡 导师:因为最初的灵感确实来自神经元:多个输入 → 加权求和 → 激活函数 → 输出,这和生物神经元的”树突接收信号 → 胞体整合 → 轴突发出信号”有点像。但之后的发展完全是数学和工程驱动的,跟生物学没太大关系了。
🤔 学生:所以它只是一个数学模型?
💡 导师:可以这么理解。你可以把神经网络看作一个复杂的函数拟合器——给它输入和输出的例子,它调整内部参数,最终能模仿这个输入输出关系。至于它内部到底”理解”了什么,这仍然是个未解之谜。
✨ 关键洞察:
- 神经网络 ≈ 可学习的函数拟合器
- 名字来自生物学灵感,但现代设计主要是工程和数学
- “神经元” = 加权求和 + 非线性激活
这本教程适合谁?
✅ 你应该具备:
- Python 基础:能读懂函数、类、列表推导式
- 基础数学:理解矩阵乘法、导数的概念(不需要手推复杂积分)
- 好奇心:想知道”模型背后到底发生了什么”
❌ 你不需要:
- 机器学习背景(这本教程就是从零开始的)
- 高等数学(我们用直觉和类比,而非严格证明)
- GPU 或强大的机器(所有概念都通过小例子解释)
🎯 如果你是以下角色,这本教程特别适合:
- 软件工程师转型 AI,想理解原理而不只是调 API
- 学生学过理论但觉得公式和实际脱节
- 产品经理/分析师需要和 AI 团队深度协作
- 自学者想系统地建立机器学习的概念框架
如何使用本教程?
根据你的背景和目标,有三种推荐的学习路径:
路径 A:完全新手线性阅读
适合:从未接触过机器学习的读者
顺序:
00-入门指南 (你在这里)
↓
01-核心概念 (必读,建立基础)
↓
02-基础轨道-Transformer之旅 (核心主线)
↓
03-对齐轨道 / 04-推理优化轨道 / 05-生成模型轨道 / 06-智能体轨道
(根据兴趣选择)
↓
07-完整算法索引 (查漏补缺)
↓
08-深入探索 (进阶方向)
预计时间:20-30 小时(分散到 2-4 周)
路径 B:按兴趣选轨道
适合:有一定编程经验,想快速切入特定领域的读者
步骤:
- 快速浏览
01-核心概念.md,确保理解基础术语 - 直接跳到感兴趣的轨道:
- 想理解 ChatGPT 怎么工作?→
02-基础轨道 - 想知道如何微调模型?→
03-对齐轨道 - 关注模型部署和效率?→
04-推理优化轨道 - 对图像生成感兴趣?→
05-生成模型轨道 - 研究 AI Agent?→
06-智能体轨道
- 想理解 ChatGPT 怎么工作?→
- 遇到不懂的概念,回到
01-核心概念.md或07-完整算法索引.md查找
预计时间:每条轨道 3-6 小时
路径 C:主题探索(高级用户)
适合:已有机器学习基础,想深入理解特定算法的读者
使用方式:
- 浏览
07-完整算法索引.md找到感兴趣的算法 - 跳到对应章节阅读对话和代码片段
- 查看依赖关系图,补充前置知识
- 用
08-深入探索.md的跨章节话题建立全局视角
预计时间:每个算法 30-60 分钟
学习建议
1. 不要死记硬背
这本教程的目的是建立直觉,而不是让你背公式。如果某个对话你读完觉得”好像懂了,但说不清楚”,那就重读一遍,或者跳过,等后面回头再看。理解是螺旋式上升的。
2. 主动思考对话中的问题
每个对话中”学生”的困惑都是真实的初学者疑问。在看”导师”的回答前,先自己想想会怎么回答。这能让你更深入地参与学习过程。
3. 动手是最好的理解方式
虽然教程重点在概念,但我们会提供核心代码片段。建议你:
- 把代码复制到本地运行
- 修改参数看结果变化
- 尝试用自己的话注释代码
4. 连接到现实应用
每学完一个算法,问问自己:
- 这个算法解决什么问题?
- 我在哪见过它的应用?
- 它的局限是什么?
5. 不要孤立地学习算法
机器学习的算法不是独立的”技能点”,而是相互关联的演化链。我们会在教程中大量提到”A 算法的问题导致了 B 算法的诞生”,注意这些连接。
教程的组织结构
📂 tutorial/
├── 00-入门指南.md ← 你在这里
├── 01-核心概念.md ← 神经网络、梯度下降等基础
├── 02-基础轨道-Transformer之旅.md ← 从tokenizer到GPT的完整链条
├── 03-对齐轨道-驯服模型.md ← 微调、偏好优化、RLHF
├── 04-推理优化轨道-让模型飞起来.md ← 注意力优化、量化、SSM
├── 05-生成模型轨道-创造的艺术.md ← VAE、GAN、Diffusion
├── 06-智能体轨道-自主决策.md ← MCTS、ReAct、Bandit
├── 07-完整算法索引.md ← 47个算法速查表
└── 08-深入探索.md ← 跨章节话题、进阶资源
准备好了吗?
如果你是完全新手,下一站是 01-核心概念.md,我们将建立后续所有算法的共同基础。
如果你已经了解基本概念,可以直接跳到 02-基础轨道 开始探索 Transformer 的世界。
如果你知道自己想学什么,去 07-完整算法索引.md 找到对应章节。
让我们开始这场探索之旅吧! 🚀