什么是神经网络?(从数学到现代AI)
Source: Dev.to

编辑导言
人工智能并非一夜之间变得强大。
在当今的突破——图像识别、语音理解、自动驾驶汽车以及像 ChatGPT 这样的工具——背后,隐藏着一个受人脑启发的看似简单的概念:神经网络。
这些数学结构改变了机器学习的方式,使软件从僵硬的规则转向能够从数据中学习模式的系统。如果你想了解现代 AI,神经网络不是可有可无的知识——它们是基础。
让我们一步一步拆解它们。
什么是神经网络?
神经网络是一种受生物神经元处理信息方式启发的数学模型。它不是通过明确的指令来工作,而是通过观察示例并调整内部参数来学习。
可以把它看作一个能够回答以下问题的系统:
“给定此输入,最可能的输出是什么?”
一个具体的例子:手写数字识别
想象在纸上画出数字 3,并将该图像转换为 20 × 20 灰度图像(400 像素)。每个像素都有一个亮度值(0–100 %)。这 400 个数字就成为网络的 输入神经元。
输入层
400 neurons → one per pixel
输出层
输出层包含 10 个神经元,对应每个数字(0–9)。每个神经元输出一个 概率。
示例输出:
- 数字 3 → 0.90
- 数字 8 → 0.84
神经网络以 概率 思考,而不是绝对确定——这与人类的思维方式相似。
隐藏层:智能所在之处
在输入和输出之间是 隐藏层——系统的真正“大脑”。
示例架构:
- 输入层:400 个神经元
- 隐藏层 1:15 个神经元
- 隐藏层 2:15 个神经元
- 隐藏层 3:15 个神经元
- 输出层:10 个神经元
隐藏层学习什么?
它们会自动提取特征:
- 直线
- 曲线
- 形状组合
例如:
- 9 → 圆形 + 直线
- 7 → 斜线
⚠️ 层数越多 ≠ 智能越高。过于复杂的网络会浪费资源,甚至学习效果更差。
神经网络如何学习?
学习发生在 训练 期间,遵循以下循环:
- 初始化 – 随机分配权重。
- 数据输入 – 向网络展示成千上万的标记示例。
- 前向传播 – 数据在网络中流动 → 产生预测。
- 误差计算 – 将预测结果与正确答案进行比较。
- 反向传播 – 使用微积分和激活函数(ReLU、sigmoid)来调整权重。
🔁 对整个数据集进行一次完整的遍历 = epoch。神经网络通常需要多个 epoch 才能学得好。
训练期间会发生什么变化?
- 早期层检测简单模式(线条)。
- 中间层检测形状。
- 后期层检测复杂结构。
到最后,当出现数字 3 时,代表数字 3 的神经元会强烈激活,而其他神经元保持安静。
从数字到语言模型
数字识别很简单,语言却不是。语言模型不使用像素,而是使用 tokens(词、子词、字符)。英语约有 50,000 个 token。
类似 ChatGPT 的语言模型需要:
- 输入层:50,000 个神经元
- 大量隐藏层
- 输出层:50,000 个神经元
⚠️ 传统的神经网络不足以胜任。现代 AI 使用 transformers 和 attention mechanisms 来理解上下文。
神经网络背后的工具
神经网络依赖于:
- 线性代数(矩阵和向量)
- 微积分(梯度和导数)
- 概率论
- 张量
流行的框架:
- TensorFlow
- PyTorch
最小 TensorFlow 示例
import tensorflow as tf
model = tf.keras.Sequential([
tf.keras.layers.Dense(15, activation='relu', input_shape=(400,)),
tf.keras.layers.Dense(15, activation='relu'),
tf.keras.layers.Dense(15, activation='relu'),
tf.keras.layers.Dense(10, activation='softmax')
])
为什么这项知识重要
了解神经网络让你成为一个 小而高影响力的开发者群体。AI 正在重塑:
- 软件工程
- 医学
- 金融
- 科学
- 艺术
而神经网络是其背后的引擎。
Quick Recap
- 神经网络学习模式,而非规则。
- 由神经元层和权重构成。
- 通过反向传播进行学习。
- 依靠数学驱动,而非魔法。
- 不同的架构解决不同的问题(CNN、RNN、Transformer)。
最终问题
你有没有实现过神经网络——即使是一个小的?
在学习 AI 时,最让你困惑的是什么?
让我们在下面讨论。