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:按兴趣选轨道

适合:有一定编程经验,想快速切入特定领域的读者

步骤:

  1. 快速浏览 01-核心概念.md,确保理解基础术语
  2. 直接跳到感兴趣的轨道:
    • 想理解 ChatGPT 怎么工作?→ 02-基础轨道
    • 想知道如何微调模型?→ 03-对齐轨道
    • 关注模型部署和效率?→ 04-推理优化轨道
    • 对图像生成感兴趣?→ 05-生成模型轨道
    • 研究 AI Agent?→ 06-智能体轨道
  3. 遇到不懂的概念,回到 01-核心概念.md 或 07-完整算法索引.md 查找

预计时间:每条轨道 3-6 小时


路径 C:主题探索(高级用户)

适合:已有机器学习基础,想深入理解特定算法的读者

使用方式:

  1. 浏览 07-完整算法索引.md 找到感兴趣的算法
  2. 跳到对应章节阅读对话和代码片段
  3. 查看依赖关系图,补充前置知识
  4. 用 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 找到对应章节。


让我们开始这场探索之旅吧! 🚀