从第一原理理解AI:Multi-Layer Perceptrons 与 Hidden Layer 突破
Source: Dev.to
请提供您希望翻译的正文内容,我将为您翻译成简体中文。
“感知器有许多局限……最严重的是它无法学习即使是最简单的非线性函数。” – Marvin Minsky
让 AI 头疼的问题
在我上一篇文章中,我提到感知器可以完美学习 AND、OR 和 NAND 门。
但有一个简单的逻辑门,它 永远 学不出来,无论你训练多久:
XOR(异或)
XOR 真值表
┌─────────┬─────────┬────────┐
│ Input 1 │ Input 2 │ Output │
├─────────┼─────────┼────────┤
│ 0 │ 0 │ 0 │
│ 0 │ 1 │ 1 │
│ 1 │ 0 │ 1 │
│ 1 │ 1 │ 0 │
└─────────┴─────────┴────────┘
当 Marvin Minsky 和 Seymour Papert 在 1969 年出版《Perceptrons》时,他们用数学方法证明了 单层感知器无法解决 XOR。
这一发现引发了第一次 AI 冬天:资金枯竭,研究停滞,神经网络在随后十多年里基本被抛弃。
为什么 XOR 是特殊的
不可能性的几何
感知器绘制一条直线来分离类别。
对于 XOR,你需要在输入不同的情况下输出1,相同的情况下输出0:
Input 2
↑
1 │ [1] [0]
│
0 │ [0] [1]
└──────────────→ Input 1
0 1
[1]= 输出 1(红色方块)[0]= 输出 0(蓝色圆圈)
尝试画一条直线把红色方块和蓝色圆圈分开——做不到。模式是对角的;你需要两条线或一条曲线。
这就是“不可线性分离”的含义。
对于 AND 和 OR,所有的 1 都位于一条线的一侧,所有的 0 位于另一侧。
对于 XOR,类别交错,因此线性分类器在数学上是不可能的。
Source: …
突破:隐藏层
当我还是个孩子时,单数字相加非常简单:
3 + 5 = 8
但多位数相加让我感到困惑:
27 + 15 → 2+1 = 3, 7+5 = 12 → 312 (错误!)
我把两列当作独立的单数字问题来处理。
缺失的关键是 进位:
7 + 5 = 12 → 写下 2,向十位进 1。
进位是一种 中间的、非线性的变换,它会影响下一步的计算。
这正是神经网络中 隐藏层 所起的作用。
- 单层感知器就像单数字相加——输入直接映射到输出,没有任何变换。
- 堆叠更多 线性 层仍然只能得到一条直线;不会出现新的能力。
- 加入 非线性激活函数(sigmoid、ReLU 等)就相当于引入了“进位”——它重新塑造空间,使得 XOR 问题可被解决。
解决 XOR: “啊哈!”的时刻
一个 2‑2‑1 网络(2 个输入,2 个隐藏神经元,1 个输出)可以学习 XOR。
┌──────────────────────────────────────┐
│ Hidden Neuron 1: learns OR pattern │
│ (fires when x₁ OR x₂ = 1) │
│ │
│ Hidden Neuron 2: learns AND pattern │
│ (fires when x₁ AND x₂ = 1) │
│ │
│ Output neuron: combines them │
│ (OR but NOT AND = XOR) │
└──────────────────────────────────────┘
当我第一次运行代码并看到 XOR 工作时,我意识到隐藏层并不仅仅是额外的复杂性——它 转换 了问题,使其变得线性可分。
注意: 图中显示的权重/偏置是为 XOR 问题手工构造的。
交互式练习场
运行交互式练习场,观察曲线决策边界的实际效果。调节权重滑块,观看边界从弱到强的演变,并将其与感知器的直线尝试进行比较。
仓库:perceptrons-to-transformers – 02-xor-problem
02-multi-layer-perceptron/
│
├─ mlp.py # Clean MLP implementation
└─ mlp_playground.py # Streamlit app (interactive visualisation)
练习场让你能够:
- 可视化解决 XOR 的曲线决策边界。
- 实时调节权重并观察边界的变化。
- 查看标注了所有权重的完整网络结构。
- 对比感知器的直线与 MLP 的曲线。
这解锁了什么
Solving XOR now seems trivial, but it was the breakthrough that unlocked everything.
现在解决 XOR 看似微不足道,但它是解锁一切的突破。
The real insight was that hidden layers enable non‑linear thinking.
真正的洞见是隐藏层使非线性思考成为可能。
In the 1980s, Geoffrey Hinton, David Rumelhart, and Ronald Williams showed that multi‑layer networks could be trained with back‑propagation. Suddenly, problems once thought impossible became solvable, and the AI winter began to thaw.
在 1980 年代,Geoffrey Hinton、David Rumelhart 和 Ronald Williams 证明了多层网络可以通过反向传播进行训练。突如其来,曾被认为不可能解决的问题变得可解,人工智能的寒冬也开始融化。
从感知器到转换器 – 第 2 部分,共 18 部
系列: From Perceptrons to Transformers
到目前为止我们学到了什么
- 感知器 学会绘制 直线(线性边界)。
- 多层感知器(MLP) 学会绘制 曲线(非线性边界)。
- 深度网络 学会了 层次结构(边缘 → 形状 → 对象 → 概念)。
当今的神经网络——无论是图像分类器还是像 GPT‑4 这样的大型语言模型——都遵循同一原则:堆叠带有非线性激活函数的层,将数据转换为日益有意义的表示。
所有这些都源于添加第一层隐藏层。
接下来怎么办?
我们现在可以构建能够解决 XOR 的网络。但有一个关键问题:我们如何学习权重?
前面展示的 XOR 网络使用的是 手工构造的权重——即我手动设置的数值。对于拥有成千上万输入和数百万权重的实际问题,手动调参几乎是不可能的。
使学习成为可能的算法是 反向传播。它让网络能够从错误中学习并逐步改进。
在下一篇文章中,我们将深入探讨 反向传播——将所有内容联系在一起的算法。它涉及微积分,但我保证会让它直观易懂。
参考文献
- Minsky, M., & Papert, S. (1969). Perceptrons: An Introduction to Computational Geometry. MIT Press.
- Nielsen, M. (2015). Neural Networks and Deep Learning. Determination Press. 可在以下位置获取:
标签
#MachineLearning #AI #DeepLearning #NeuralNetworks #MLP