摘要:深度学习听起来很高深,其实核心就几件事------神经元怎么算、网络怎么搭、参数怎么调。本文从最基础的生物神经元讲起,一步步推导到感知器、多层感知器、损失函数、梯度下降和BP反向传播,最后聊聊深度神经网络到底"深"在哪。适合零基础入门,也适合学过但没串起来的同学复习。
一、深度学习到底是什么
先理清三个概念的关系:人工智能 > 机器学习 > 深度学习。深度学习是机器学习领域里的一个新方向,它基于人工神经网络,模拟人脑的工作方式来做机器学习。
核心特点就两个:
- 用多层次的神经网络提取和学习数据中的特征
- 用反向传播算法优化网络参数
因为这两个特点,深度学习在图像识别、语音识别、自然语言处理这些复杂任务上效果特别好,现在基本上是AI领域的主流方法。
二、从生物神经元到人工神经元
神经网络的灵感来自人脑。生物神经元通过突触接收信号,信号积累到一定阈值就触发神经冲动,传递给下一个神经元。

人工神经元就是对这个过程的数学模拟。我们来一步步推导:
初中都学过直线方程 y = kx + b,转换成标准形式就是 kx + b - y = 0。推广到二维就是 k1x + k2y + b = 0,再推广一下,用 w 代替 k,用 x1、x2 代替 x、y,就得到了 w1x1 + w2x2 + b = 0。
把偏置 b 也看成一个权重 w3,对应输入恒为 1,公式变成 w1x1 + w2x2 + 1*w3 = 0。这就是一个神经元的基本计算方式:
- x1, x2, ... 是外界输入的信号(特征)
- w1, w2, ... 是权重,代表信号在传递过程中的"损耗"或"重要程度"
- 所有输入乘以权重后求和(Σ),再经过一个非线性激活函数(比如 sigmoid),就是神经元的输出
简单说,一个神经元 = 加权求和 + 激活函数。
三、感知器:最基础的神经网络
由两层神经元组成的神经网络叫感知器(Perceptron)。一层是输入层,一层是输出层。

上图中,三个输入 x1、x2、x3 分别通过两组权重连接到两个输出神经元 z1、z2。计算公式可以写成:
z1 = g(x1*w1,1 + x2*w1,2 + x3*w1,3)
z2 = g(x1*w2,1 + x2*w2,2 + x3*w2,3)
因为这本质上是线性代数方程组,所以可以用矩阵乘法来表达:g(W * x) = z。输出结果再和训练集标签一起算损失函数,跟逻辑回归的思路基本一致。
这里要记住一个关键点:感知器只能做线性划分。如果数据不是线性可分的,感知器就搞不定了。
还有一个重要认知:神经网络的本质是矩阵运算。程序里不需要真的画神经元和连线,最核心的是线性代数库。
四、多层感知器:隐藏层是关键
感知器不够用怎么办?加一层!在输入层和输出层之间加一个隐含层(隐藏层),就变成了多层感知器。

隐藏层的存在,让神经网络可以做非线性分类。这是神经网络能解决复杂问题的关键所在。
如果预测目标是一个向量(比如多分类),只需要在输出层增加对应的节点数就行。
五、偏置节点:容易被忽略但必须有
在神经网络中,除了输出层,每一层都默认有一个偏置神经元(偏置节点)。

偏置节点的特点:
- 存储值永远为 1
- 没有输入(前一层没有箭头指向它)
- 本质上就是公式里的 b(截距项)
一般画图的时候不会明确画出偏置节点,但实际计算中一定要有,不然模型连截距都拟合不了。
六、网络结构怎么设计
设计神经网络时,有几个要点需要记住:
- 输入层节点数:和特征维度匹配,有多少个特征就有多少个输入节点
- 输出层节点数:和目标维度匹配,二分类一般 1 个节点,多分类有几个类别就几个节点
- 中间层节点数:目前没有完善的理论指导,基本靠经验。常用做法是预设几个候选值,分别训练看效果,选最好的
还有两个容易搞混的点:
- 结构图里的箭头代表预测时的数据流向,跟训练时的数据流有区别
- 关键不是圆圈(神经元),而是连接线(权重)。每个连接线对应一个需要训练的权重值
七、损失函数:衡量预测有多差
模型训练的目的,是让参数尽可能逼近真实模型。具体做法:
- 给所有参数赋随机值
- 用这些随机参数预测训练样本,得到预测值 yi
- 定义损失值 loss,衡量预测值和真实值 y 之间的误差,误差越小越好
常用的损失函数有:
- 0-1 损失函数
- 均方差损失(MSE)
- 平均绝对差损失(MAE)
- 交叉熵损失(分类任务最常用)
- 合页损失(SVM 用)
多分类的交叉熵怎么算
以三分类为例(猫、狗、其他),假设输出层三个神经元的原始输出是 5、4.9、-2:
第一步,用 softmax 做归一化,把输出转成概率:
- e^5 ≈ 148.413,e^4.9 ≈ 134.289,e^(-2) ≈ 0.135
- 归一化后得到概率:约 0.5247、0.4748、0.0005
第二步,如果真实标签是"猫"(对应第一个神经元),就取第一个概率 0.5247,做 -log 运算:
- -log(0.5247) ≈ 0.2801
直觉理解:如果猫的神经元输出越大(越自信),算出来的损失就越小;如果分类错了,损失值就会很大。模型训练就是不断减小这个损失值的过程。
八、正则化惩罚:防止过拟合
训练过程中还有一个问题:过拟合。模型可能只记住了训练数据的个别特征,换一批数据就不行了。
正则化惩罚就是用来解决这个问题的,主要惩罚权重参数 w,分 L1 和 L2 两种。
举个例子,输入 x = 1, 1, 1, 1,有两组权重:
- w1 = 1, 0, 0, 0:只关注第一个特征,其他完全忽略
- w2 = 0.25, 0.25, 0.25, 0.25:每个特征都雨露均沾
两组权重和输入的乘积都是 1,但 w2 学习到了每一个特征的信息,泛化能力更好。w1 容易过拟合。正则化就是通过惩罚项,让模型倾向于 w2 这种权重分布。
- L1 正则化:∑|wi|,会让部分权重变成 0,相当于特征选择
- L2 正则化:∑wi²,会让权重整体变小,更常用
九、梯度下降:参数怎么更新
损失函数有了,正则化也加了,但参数 w 具体怎么更新呢?答案是梯度下降。
偏导数和梯度
- 偏导数:多变量函数中,保持其他变量不变,只对一个变量求导
- 梯度:一个函数所有偏导数构成的向量,梯度的方向是函数值增长最快的方向
既然梯度方向是增长最快的方向,那负梯度方向就是下降最快的方向。梯度下降就是沿着负梯度方向一步步走,找到函数的局部最小值。

上图中的黑色折线就是梯度下降的过程,从高处一步步走到谷底(损失最小的位置)。
学习率(步长)
梯度决定方向,学习率决定每一步走多大。学习率不能太小(收敛太慢),也不能太大(可能直接跨过最小值,来回震荡甚至发散)。
梯度下降可能陷入局部最小值,解决办法是:用多个随机初始值从不同位置分别求最小值,选最好的那个。
十、BP 反向传播:训练的完整流程
BP(Back-propagation,反向传播)是神经网络训练的核心算法。整个流程是:
- 前向传播:输入数据,计算每一层的输出,最终得到预测结果 yp
- 计算损失:用损失函数算预测值和真实值的误差,加上正则化惩罚项
- 反向传播:从输出层往回,逐层计算每个权重的偏导数(梯度)
- 更新参数:用梯度下降更新每个 w 的值(w = w - 学习率 × 梯度)
- 循环迭代:重复以上步骤,直到损失值小于允许的范围
一句话总结:前向传播算误差,反向传播调误差,一轮一轮迭代直到收敛。
反向传播的数学基础是链式法则(多层隐函数求偏导),把输出层的误差一层一层往回传,算出每个权重对最终误差的"贡献",然后相应调整。
十一、深度神经网络:"深"在哪
多层感知器有一个隐藏层,那如果有很多个隐藏层呢?这就是深度神经网络(DNN)。

"深度"指的就是隐藏层的层数多。层数越多,网络能提取的特征层次越丰富:
- 浅层提取简单特征(比如图像的边缘、纹理)
- 中层组合简单特征(比如图像的局部图案)
- 高层提取抽象语义特征(比如图像中的物体概念)
这也是为什么深度学习在复杂任务上效果好------它能自动学习从低级到高级的特征表示,不需要人工设计特征。
参数规模可以非常大。以 ChatGPT 为例,它的参数量达到了 1750 亿级别,训练数据量更是达到 45TB 文本。

十二、总结
回顾一下深度学习入门的核心脉络:
- 神经元 = 加权求和 + 激活函数,是神经网络的基本单元
- 感知器 = 输入层 + 输出层,只能做线性分类
- 多层感知器 = 加了隐藏层,能做非线性分类,隐藏层是关键
- 偏置节点 = 截距项,每层默认有一个,值恒为 1
- 损失函数 = 衡量预测和真实的差距,指导训练方向
- 正则化 = 惩罚过大权重,防止过拟合
- 梯度下降 = 沿负梯度方向更新参数,找到损失最小值
- BP 反向传播 = 前向算误差、反向传梯度、迭代更新参数
- 深度神经网络 = 多个隐藏层,自动学习层次化特征
理解了这条主线,深度学习的基本原理就通了。后面再学卷积神经网络(CNN)、循环神经网络(RNN)、Transformer 这些具体架构,本质上都是在这个基础上针对不同数据类型做的结构优化。