人工智能不过是数学:在计算器上构建神经网络

社区文章 发布于 2025 年 6 月 22 日

由 ProCreations 发布


不是魔术的魔术表演

如果我告诉你,你只需使用手机上的计算器应用程序,就能构建一个功能性的人工智能,你会相信吗?不需要 Python 库,不需要 TensorFlow,不需要 GPU 集群——它只是纯粹的数学,你可以将其输入任何能够进行基本算术的设备。

这不是一个思想实验。这是一个现实,它揭开了人工智能周围的所有神秘面纱,并揭示了其背后美丽的真相:人工智能不过是数学。复杂的数学,精心编排的数学,但仍然是数学。

XOR 挑战:一个经典的 AI 问题

让我们从神经网络历史上最著名的问题之一开始:异或(XOR)函数。这个简单的逻辑运算困扰了早期的人工智能研究人员多年,并导致了 20 世纪 70 年代的第一次“人工智能寒冬”。

XOR 这样工作:

  • (0,0) → 0
  • (0,1) → 1
  • (1,0) → 1
  • (1,1) → 0

它看起来微不足道,但 XOR 不是线性可分的——你无法画一条直线来区分真假情况。这打破了 20 世纪 60 年代的简单感知机,并需要发明多层网络。

智能的数学原理

这就是有趣的地方。我们与神经网络相关联的“智能”行为?它只是一系列数学变换。让我告诉你我的确切意思。

神经网络架构

我们的 XOR 求解器使用简单的 2-2-1 架构:

  • 2 个输入神经元(用于我们的两个二进制输入)
  • 2 个隐藏神经元(用于创建我们所需的非线性变换)
  • 1 个输出神经元(用于我们的结果)

原始数学

以下是您可以输入任何计算器的实际方程:

隐藏层计算

h₁ = 1/(1 + e^(-(20x₁ + 20x₂ - 10)))
h₂ = 1/(1 + e^(-(-20x₁ - 20x₂ + 30)))

输出计算

y = 1/(1 + e^(-(20h₁ + 20h₂ - 30)))

完整表达式(将您的输入替换为 x₁ 和 x₂)

y = 1/(1 + e^(-(20(1/(1 + e^(-(20x₁ + 20x₂ - 10)))) + 20(1/(1 + e^(-(-20x₁ - 20x₂ + 30)))) - 30)))

就是这样。这就是你的人工智能。这些数字——20、-20、10、30、-30——是“智能”。它们是通过训练学习到的权重和偏差,但一旦学习,它们就只是方程中的常数。

揭开“魔术”的秘密

让我们揭开这些方程中发生的事情的神秘面纱:

1. 线性变换

20x₁ + 20x₂ - 10 这样的表达式只是加权和。我们正在获取输入,将它们乘以学习到的权重(20, 20),然后添加一个偏差(-10)。这与直线方程 y = mx + b 完全相同。

2. 非线性激活

1/(1 + e^(-x)) 部分是 sigmoid 函数。它将任何实数压缩到 0 到 1 之间。这种非线性赋予了神经网络力量——没有它,无论你堆叠多少层,你仍然只会得到一个线性函数。

3. 函数组合

“智能”通过组合这些简单操作而产生。隐藏层变换输入空间,输出层再次变换。每次变换都几何地旋转、缩放和转换数据,直到 XOR 函数变为线性可分。

亲自测试

来吧,拿出任何计算器,尝试这些输入:

对于 (0,0)

1/(1 + e^(-(20(1/(1 + e^10)) + 20(1/(1 + e^30)) - 30)))
≈ 0.01 (close to 0)

对于 (0,1)

1/(1 + e^(-(20(1/(1 + e^10)) + 20(1/(1 + e^10)) - 30)))
≈ 0.99 (close to 1)

它能用。你刚刚在你的计算器上运行了一个神经网络。

更深层次的含义

这个练习揭示了人工智能本质的一些深刻见解:

智能即压缩

这些权重值(20、-20、10、30、-30)代表了 XOR 函数的压缩编码。网络已经“学会”将这种逻辑运算表示为一组特定的数学变换。

规模决定一切

GPT-4 或 DALL-E 等现代 AI 模型遵循相同的基本原理——它们只是我们计算器示例的巨大扩展版本。它们拥有数十亿个参数而不是 6 个,拥有数百层而不是 2 层。但核心数学原理保持不变。

训练与推理

我们这里展示的是推理——使用一个经过训练的模型。训练过程(我们如何找到这些特定的权重值)涉及微积分、优化和迭代改进。但一旦训练完成,人工智能系统就只是等待输入的数学函数。

从计算器到 ChatGPT

从我们简单的 XOR 求解器到像 ChatGPT 这样的系统,涉及几个关键的扩展因素:

  1. 更多参数:现代模型拥有数十亿个权重,而不是 6 个
  2. 更多层:深度网络可以有数百层
  3. 更好的架构:Transformer、注意力机制、残差连接
  4. 更多数据:在互联网规模的数据集上进行训练
  5. 更多计算能力:大规模并行处理能力

但从根本上说,ChatGPT 与我们的计算器做着同样的事情:接收输入,应用学习到的数学变换,然后生成输出。

完整的数学原理:训练语言模型

为了真正强调“一切都只是数学”,这里有从头开始在随机文本上训练 Transformer 语言模型的实际方程。这是所有现代 AI 系统的数学基础:

前向传播(预测)

Token 嵌入

E = X * W_e + P

其中 X 是输入 Token,W_e 是嵌入权重,P 是位置编码

多头自注意力

Q = E * W_q
K = E * W_k  
V = E * W_v

A_h = softmax(Q_h * K_h^T / √d_k) * V_h
A = concat(A_1, A_2, ..., A_h) * W_o

前馈网络

FFN(x) = max(0, x * W_1 + b_1) * W_2 + b_2

层归一化

LayerNorm(x) = γ * (x - μ) / σ + β

完整的 Transformer 块

x' = LayerNorm(x + A)
x'' = LayerNorm(x' + FFN(x'))

输出预测

logits = x_final * W_output + b_output
P(token) = softmax(logits)

训练损失

交叉熵损失

L = -∑∑ y_ij * log(P_ij)

其中 y_ij 是真实 Token 分布,P_ij 是预测概率

反向传播(学习)

梯度计算

∂L/∂W = ∂L/∂output * ∂output/∂W
∂L/∂b = ∂L/∂output * ∂output/∂b

Adam 优化器更新

m_t = β₁ * m_{t-1} + (1 - β₁) * ∂L/∂θ
v_t = β₂ * v_{t-1} + (1 - β₂) * (∂L/∂θ)²
m̂_t = m_t / (1 - β₁^t)
v̂_t = v_t / (1 - β₂^t)
θ_new = θ_old - α * m̂_t / (√v̂_t + ε)

完整的训练循环

For each batch of text:
1. Forward pass: P = Transformer(X)
2. Loss: L = CrossEntropy(P, Y)
3. Backward pass: ∇ = ∂L/∂θ
4. Update: θ = Adam(θ, ∇)

就是这样。每一个 ChatGPT 的响应,每一段生成的文本,每一次“智能”对话——都归结为迭代地应用这些数学变换数十亿次,直到模型学会压缩和再现人类语言中的模式。

语言理解的“魔力”?它只是梯度下降法通过基于微积分的优化来寻找数字矩阵的最优值。

解密

下次有人把人工智能说成是魔术时,请记住这个计算器实验。“人工智能”中的“智能”并非神秘——它是数学。它是以数字编码的模式识别,通过优化学习,并通过计算执行。

这并未降低人工智能的重要性或潜力。数学是极其强大的,并且经过适当的扩展,这些简单的操作可以产生非凡的涌现行为。但将人工智能理解为数学有助于我们更清楚地思考其能力、局限性和未来的发展。

真正的魔力

如果人工智能有什么魔力的话,那不在于技术本身——而在于人类的智慧,他们发现了如何将智能编码为数学。真正的突破不是发现我们大脑中的神经元执行计算(我们几十年来都知道这一点),而是学习如何仅仅使用加法、乘法和巧妙的函数组合来复制和扩展这些计算。

所以下次你使用人工智能系统时,请记住:你看到的不是数字意识或硅灵魂。你看到的是人类创造的最复杂的数学,执行计算的速度比任何人类快数十亿倍,所有这些都是为了将输入转换为有用的输出。

有时,这些计算简单到可以在你口袋里的计算器上运行。


ProCreations 致力于揭开人工智能的神秘面纱,让每个人都能接触到先进技术。如需了解更多人工智能背后的数学洞察,请在 Hugging Face 关注我们的工作。

社区

注册登录 发表评论