深度学习核心概念梳理 -- 从机器学习基础到 Keras 与优化(含 4 种体验组件 + 10 道测验题)
① 机器学习基础 → ② 线性回归·梯度下降法 → ③ 感知机 → ④ MLP·反向传播 → ⑤ 学习率·优化 → ⑥ 10道小测试
计算器不仅仅是普通的计算器, 更是能让你亲手感受概念的体验工具。不妨每个试用3分钟吧。
① 机器学习的基础
传统编程是由人类编写算法并提交给计算机来运行的方式。如果要用代码写出“看到小狗照片就识别为小狗”的完整步骤,对人类来说几乎是不可能的。机器学习则改变了思路:只要提供大量照片以及“这是小狗”这一正确答案,系统就会自动寻找规律。
人名与年份的对应非常重要:亚瑟·塞谋尔(Arthur Samuel)、1959年、IBM西洋跳棋程序 - 这个组合就是“机器学习(Machine Learning)”一词的来源。
flowchart TD AI[人工智能 AI] --> ML[机器学习 ML] ML --> DL[深度学习 DL] ML --> S1[监督学习:回归 · 分类] ML --> S2[无监督学习:聚类 · 降维] ML --> S3[强化学习:基于价值 · 基于策略 · Actor-Critic]
概念关系图这样记住即可:人工智能 ⊃ 机器学习 ⊃ 深度学习。而在机器学习之下,又分为监督学习、无监督学习和强化学习。
- 监督学习:有正确答案(标签)的有监督学习。若输出为连续值,则为回归;若划分为不同类别,则为分类(例如:小狗/小猫)。分类算法示例:神经网络、kNN、SVM、决策树
- 无监督学习:无标签,自行进行分类或提炼(聚类、降维)
- 强化学习:基于价值、基于策略、Actor-Critic
这里还涉及3个核心术语:特征(feature)是用于区分输入的数值(如饮料的颜色、酸度);数据标注(Data Labeling)是由人工打上正确标签的工作(常被比喻为“21世纪的手工贴娃娃眼珠”);而训练数据(用于学习)与测试数据(用于评估,模型从未见过的数据)必须始终保持分离。
② 线性回归与梯度下降法
回归用于预测连续值(如房价),分类用于预测类别。线性回归的基本公式为 f(x) = Wx + b - 其中的斜率 W 被称为权重(weight),截距 b 被称为偏置(bias)。当 x 只有一个时称为简单线性回归,有多个时则称为多元线性回归。
将数据与直线之间的误差平方后求和,就构成了损失函数(loss function)。机器学习本质上就是寻找能使该损失最小化的 W 和 b 的过程。最小化的方法主要有两种:对于简单回归,可以使用统计学中的最小二乘法;对于复杂模型,则采用梯度下降法(gradient descent)。该方法沿着损失梯度的反方向逐步向下寻找最小值。
请记住梯度下降法的两大陷阱:如果学习率过大就会发生发散;而在下降过程中,可能会陷入局部最小值(Local Minimum)。
[体验 1] 梯度下降法模拟器
亲自运行一下,发散的概念就一目了然了。 这是一个用于运行原文代码(X=[0,1,2], y=[3,3.5,5.5], W=b=0, η=0.01, 1000 epochs)的工具。将学习率滑块从 0.01 逐渐调大,就能亲眼看到发生发散的瞬间。
参考:当 η=0.01 并迭代 1000 次时,会收敛至 W≈1.253, b≈2.746。
过拟合(overfitting)是指模型在训练数据上表现良好,但在新数据(泛化)上表现欠佳;欠拟合(underfitting)则是指模型连训练数据都无法很好拟合。如果是欠拟合,通常需要更换模型本身。
③ 感知机
由1957年罗森布拉特(Rosenblatt)提出的单单元人工神经网络。神经网络具有两大优点:① 可以从示例中学习 ② 即使部分元件出现故障,整体仍能正常运行(容错性)。
将输入的加权和转换为输出的函数叫做激活函数 - 早期采用的是阶跃函数(超过阈值则输出 1,否则输出 0)。
[体验 2] 感知机门电路计算器 - AND 门
经典设置(w1=w2=1, b=-1.5)对应的是 AND 门。通过滑块将 b 提高到 -0.5 附近,你会发现它变成了 OR 门(输出 0, 1, 1, 1),请亲自验证一下。
学习算法:将偏置 b 融入为 w0(输入末尾补 1),发生误分类时更新权重 - 如果将 1 误判为 0,则增加 η×(1-0)×x;如果将 0 误判为 1,则减少。此处使用 η=0.2, epochs=10。
感知机的局限性:单个单元无法解决 XOR 问题。正是这一局限促成了多层感知机(MLP)的发展。
④ 多层感知机(MLP)与反向传播
MLP 具有输入层-隐藏层-输出层的结构。学习分为 3 个阶段:前向传播(输入→隐藏→输出) → 计算误差 → 反向传播(更新权重)。
激活函数全部必须是非线性的 - 如果堆叠线性函数,无论堆叠多少层都等同于单个线性函数,毫无意义。四种常见激活函数对比总结:阶跃函数(感知机早期)、Sigmoid(S 型曲线,1980年代传统函数)、ReLU(大于等于 0 保持原值,目前最受欢迎)、tanh(与 Sigmoid 类似,输出范围为 -1~1)。
在前向传播部分,包含了手算练习(输入的加权和 → Sigmoid → 隐藏层输出 → 重复该过程 → 输出层)。
[体验 3] MLP 前向传播计算器
2个输入-2个隐藏单元-1个输出。尝试修改权重,观察 z(加权和) → Sigmoid → 输出的完整计算流程。
损失函数采用 MSE = 0.5 × Σ(y−t)²。示例:当预测值接近正确答案时损失为 0.03,偏离较大时损失为 0.81。
[体验 4] MSE 计算器 - 包含预设示例
反向传播(backpropagation) - 将损失从输出层向隐藏层方向传播,以此修正权重。推导过程依赖于微积分中的链式法则。隐藏层的误差是通过将输出层的误差反向传播计算得出的,此时的误差值被称为Delta(δ)。梯度 = Delta × 单元输出。
⑤ 学习率、批次与优化器
三种权重更新时机 - 常作为特征匹配题型出现:
| 方式 | 说明 | 特点 |
|---|---|---|
| 在线学习(SGD) | 每处理 1 个样本更新一次 | 易受噪声样本干扰 |
| 全批次(Full Batch) | 处理完全体样本后更新 | 稳定但较慢 |
| 小批次(Mini Batch) | 每个批次更新一次 | 二者的折中,收敛较稳定 |
同时处理多个样本是通过矩阵乘法来实现的(批次学习)。
学习率:过大易发散,过小则训练太慢。动量(Momentum):借助惯性加速,并有助于逃离局部最小值。自适应学习率系列:Adagrad(学习率随着梯度平方累加和反比衰减,默认 0.01,缺点是训练时间过长时学习率会变得极小) → RMSprop(由 Hintion 提出,采用指数加权移动平均) → Adam(= RMSprop + 动量,目前最受欢迎)。建议按演进脉络进行记忆。


