神经网络的基本灵感来自于人脑的神经元,它试图用大量简单的计算单元(“神经元”或“节点”) 通过丰富的连接来模拟复杂的智能行为。

核心组件
一个神经网络由三个基本部分组成:
- 输入层:接收原始数据(图像的像素、文字、传感器数据)。
- 隐藏层(一个或多个):这是网络进行“思考”和“特征提取”的地方,层数越多、神经元越多,网络理论上能学习更复杂的模式(但也更容易过拟合)。
- 输出层:产生最终结果(分类标签、预测数值、概率分布)。
每一个神经元都与其前一层和后一层的神经元相连。
单个神经元的工作原理
一个神经元的工作可以概括为 “加权求和 → 添加偏置 → 非线性转换”。
-
输入与权重:
- 神经元接收来自前一层所有神经元的输入值((x_1, x_2, ..., x_n))。
- 每个输入都有一个对应的权重((w_1, w_2, ..., w_n)),权重代表了该输入的重要性。学习的过程本质上就是调整这些权重的过程。
-
加权求和与偏置:
- 神经元将所有输入乘以其权重并求和:(z = (x_1 w_1) + (x_2 w_2) + ... + (x_n * w_n) + b)
- (b) 是偏置,偏置像一个门槛,允许神经元即使在所有输入都很小时也能被激活。
-
激活函数:
- 对上一步得到的线性加权和 (z),应用一个非线性激活函数 (f):(a = f(z))
- 这是神经网络能学习非线性关系的关键! 如果没有激活函数,无论多少层网络都只能等效于一个线性模型。
- 常用的激活函数包括:
- ReLU(修正线性单元):
f(z) = max(0, z),最常用,计算简单且效果好。 - Sigmoid:将输出压缩到(0, 1)之间,常用于二分类输出层。
- Tanh:将输出压缩到(-1, 1)之间。
- ReLU(修正线性单元):
这个计算出的 (a) 就成为这个神经元的输出,并作为下一层神经元的输入。
网络如何工作:前向传播
前向传播 是数据从输入层“流动”到输出层的过程。
- 输入数据进入输入层。
- 数据经过第一层隐藏层中每个神经元的“加权求和 → 激活函数”计算,得到该层的输出。
- 该输出作为下一层的输入,重复步骤2。
- 最终到达输出层,产生网络的预测值。
网络如何学习:反向传播与梯度下降
学习的目标是让网络的预测值尽可能接近真实值,这是通过以下循环实现的:
-
定义损失函数:
- 这是一个衡量网络预测有多“糟糕”的函数。
- 均方误差(MSE):用于回归问题。
- 交叉熵损失:用于分类问题。
- 这是一个衡量网络预测有多“糟糕”的函数。
-
反向传播误差:
- 在前向传播得到预测值后,计算损失函数的值。
- 反向传播算法 用于高效地计算损失函数对网络中每一个权重和偏置的梯度(即导数),它从输出层开始,利用链式法则,逐层向后传递误差信号,量化每个权重对总误差的“贡献”。
-
更新权重(梯度下降):
- 知道了每个权重的梯度(指明了使误差增大的方向),我们就朝其反方向微调权重,以减小误差。
- 更新公式(简化):
新权重 = 旧权重 - 学习率 * 梯度 - 学习率 是一个关键的超参数,控制每次更新的步长,太小则学习太慢,太大可能无法收敛。
-
迭代:
- 用一批新的(或同样的)数据,重复 “前向传播 → 计算损失 → 反向传播 → 更新权重” 的过程。
- 一个完整的数据集通常被分成多个批次,每次用一个批次更新权重,这称为小批量梯度下降,遍历整个数据集一次称为一个 “epoch”。
经过成百上千个epoch的训练,网络的权重被不断调整,其预测能力(在训练数据上)也越来越强。
可视化类比:调音台调音
可以把神经网络想象成一个巨大的、复杂的调音台:
- 输入:是各种乐器的原始声音信号。
- 旋钮(权重):控制每个声音通道的音量、高低音。每个神经元都有很多旋钮。
- 非线性效果器(激活函数):给声音添加失真、混响等非线性效果,让声音组合有更多可能性。
- 最终输出:是混合好的音乐。
- 学习过程:你(作为损失函数)听着混合好的音乐,觉得鼓声太小,吉他太刺耳,你根据这个“误差”,反向去调整对应的旋钮(反向传播),你一遍遍地听,一遍遍地调(梯度下降),直到得到满意的音乐。
常见神经网络类型简介
- 前馈神经网络:最基本的结构,信息单向从输入流向输出。
- 卷积神经网络:专门为图像设计,通过“卷积核”提取图像的局部空间特征(如边缘、纹理),具有参数共享和空间层次性。
- 循环神经网络:专为序列数据(如文本、时间序列)设计,神经元之间有循环连接,可以记忆之前的信息,处理上下文依赖。
- Transformer:目前主流的序列模型(如GPT、BERT),完全基于“自注意力机制”,能并行处理序列并捕捉长距离依赖关系,性能远超传统RNN。
神经网络的基本原理是:
- 结构:用多层连接的神经元模拟信息处理。
- 计算:每个神经元进行
输入*权重 + 偏置 → 激活函数。 - 学习:通过前向传播计算预测,通过反向传播计算误差梯度,再用梯度下降优化权重,以最小化损失函数。
- 核心:非线性激活函数和层次化特征学习使其能够逼近极其复杂的函数,从而解决图像识别、自然语言处理等高难度问题。
理解这些基本原理后,再看各种复杂的网络架构和前沿研究,就能抓住其本质——它们都是在这个基本框架上的扩展和优化。