神经网络基础与整体架构

一、深度学习要解决的问题:把数据变成"计算机能理解的特征"

深度学习主要应用于计算机视觉、自然语言处理、数据挖掘等任务。它的核心目标可以概括为一句话:把人类眼中的图像、文本、结构化数据等原始数据,转换成计算机能够理解的特征表示,然后基于这些特征进行预测或决策。换句话说,机器"看世界"的方式和人完全不同------人看到的是一张风景照,机器看到的是一串数字矩阵和从中提取出的抽象特征。

1.1 深度学习要处理的三类典型数据

(1)计算机视觉(图像 / 视频)。人眼看到的是一张完整的画面,而计算机需要把像素展开后提取边缘、纹理、形状等特征。典型任务包括图像分类、目标检测、图像分割、人脸识别等。

(2)自然语言处理(文本 / 语音)。人读到的是一句话,例如"今天天气很好,我们去公园散步吧",计算机则需要把它转换成数值向量(如 0.21、-0.35、1.02......)。典型任务包括文本分类、情感分析、机器翻译、问答系统等。

(3)数据挖掘(结构化数据)。人类看到的是"年龄 / 收入 / 购买次数 / 是否会员"这样的表格数据,计算机把它转换成特征矩阵。典型任务包括用户行为预测、风险评估、推荐系统、销售预测等。

1.2 深度学习的本质:"特征提取 + 预测建模"

无论输入是图像、文本还是表格数据,深度学习都在做同一件事,其本质可概括为"特征提取 + 预测建模"。完整流程是:输入原始数据(图像 / 文本 / 表格等)→ 通过多层神经网络自动学习特征(从低级特征到高级特征的表示)→ 得到抽象的数字向量(浓缩了数据的关键信息)→ 基于特征进行预测或决策(分类结果 / 回归结果)。

这里的关键思想是:让模型自动从数据中学习有用的特征,而不是由人工设计特征。这正是深度学习区别于传统机器学习方法的核心,也是它强大能力的来源。这就是深度学习的核心范式:原始数据(人类可理解)→ 自动学习特征(计算机可理解)→ 特征用于预测(完成具体任务)。

图 1 深度学习要解决的问题与本质:三类典型数据 + "特征提取 + 预测建模"核心范式

二、线性分类器:用矩阵乘法计算每个类别的得分

2.1 得分函数 f(x) = WX + B

在深度学习中,我们用一个线性函数(全连接层)把输入数据映射到每个类别的得分(score)。以"一张 32×32×3 的图像分成 10 类"为例:图像展开后是 3072 维向量,公式为 f(x) = WX + B。它由四个部分组成:

(1)权重矩阵 W(可学习),大小为 10×3072:每一行对应一个类别的"打分器",第 i 行学习的就是第 i 类的权重,它决定输入的每个像素对"这一类"的贡献方向和大小。

(2)输入数据 x(图像展开成向量),大小为 3072×1:把 32×32×3 的三维像素阵列拉直成一列。

(3)偏置向量 B(可学习),大小为 10×1:为每个类别附加一个独立的偏置项,让"打分器"可以整体上下平移,而不是只能过原点。

(4)最终得分向量 s = WX + B,大小为 10×1:得到 10 个数,每个数就是一个类别的得分。矩阵乘法在这里的作用是"并行打分"------一次乘法就同时算出 10 个类别的得分。

图 2 线性函数:用矩阵乘法计算 10 分类得分(加入偏置)

2.2 得分差异对比:一组未训练好的参数会发生什么

一个直观的例子:使用同一组权重矩阵 W 和偏置向量 b,对同一张输入图像(真实类别:猫 cat)计算 3 个类别上的得分,即 f(x; W, b) = WX + b。这里 W ∈ R^(3×3072),x ∈ R^(3072×1),b ∈ R^(3×1),最终得分 s ∈ R^(3×1)。

计算结果按从高到低排序为:第 1 名是狗 dog,得分 437.9(错误类别,但得分最高);第 2 名是船 ship,得分 61.95(错误类别);第 3 名才是猫 cat,得分 -96.8(正确类别,但得分最低)。

这里发现的问题非常关键:虽然输入图像确实是一只猫,但模型给出的最高得分却是狗,而正确类别"猫"的得分反而最低。这说明当前的 W 和 b 还没有很好地把猫与其他类别区分开。

通过学习不断调整 W 和 b,使正确类别(猫)的得分最高、错误类别的得分更低。整个深度学习的训练过程,本质上就是不断朝这个目标优化的过程。

图 3 得分差异对比:同一组参数在不同类别上的得分

三、从得分到概率再到损失:Softmax 与交叉熵损失

我们已经能得到每个类别的得分 s = WX + b,但得分不是概率,不能直接用于判断和优化。接下来需要把得分转换成概率,并计算损失来衡量模型预测有多差。完整流程分四步。

3.1 第 1~3 步:得分、指数化与 Softmax 归一化

第 1 步,得分(score):由线性函数得到 s = WX + b。得分可以是任意实数,不表示概率大小。例子中三个类别的得分分别为:猫 3.2、狗 5.1、船 -1.7。

第 2 步,指数化(exp):对得分取指数 e^(s_i),把得分映射为正数,保证后续可以归一化。对应地:猫 e^3.2 = 24.5、狗 e^5.1 = 164.0、船 e^(-1.7) = 0.18。

第 3 步,归一化(Softmax):按公式 P(Y = k | X) = e^(s_k) / Σ_j e^(s_j) 把指数值变成概率。归一化之后概率和为 1,可以看作模型对各类别的预测概率:猫 0.13、狗 0.87、船 0.00。此时模型"相信"这是一只狗(概率最高 0.87),但真实类别是猫------模型预测错误了。

3.2 第 4 步:计算交叉熵损失

交叉熵损失衡量的是模型预测与真实标签的差距,公式为 L_i = -log P(Y = y_i | X)。本例中真实类别是猫,对应预测概率 P(猫) = 0.13,因此损失值为 L_i = -log(0.13) = 2.04。损失越大,说明模型越不确定真实类别,预测越差。

3.3 为什么用交叉熵损失

它有三个非常好的性质:第一,如果模型把真实类别的概率预测很高(接近 1),损失就接近 0,说明模型很好;第二,如果模型把真实类别的概率预测很低(接近 0),损失会很大;第三,交叉熵损失对"错误且自信"的预测惩罚更大,这有利于训练出更好的模型。

【本例结论】真实类别是"猫",但模型认为"狗"更可能(0.87),因此损失较大(2.04),说明模型预测错误且不够好------这正是后续要用梯度下降去优化的对象。

图 4 从得分到概率再到损失:一个完整的计算示例

四、前向传播与正则化

4.1 前向传播(Forward Propagation)六步流程

前向传播就是:将输入数据 X 通过权重参数 W 和偏置 b 进行计算,得到模型对各类别的预测概率,再与真实标签 y 计算交叉熵损失,最后加上正则化惩罚,得到最终的损失 L。具体分为六步:

第 1 步,输入数据 X:图像展开为向量(如 3072×1)。第 2 步,线性组合得分:由 W 和 b 计算得分 s = WX + b,得到 K×1 的得分向量(K 为类别数)。s_k 表示模型对第 k 类的原始得分,s_k ∈ R,未归一化,不能直接作为概率。

第 3 步,转换为概率(Softmax):p_k = e^(s_k) / Σ_j e^(s_j),p_k 表示模型预测第 k 类的概率,p_k ∈ (0, 1) 且 Σp_k = 1。第 4 步,与真实标签对比:真实标签用 one-hot 向量 y 表示,真实类别为 1、其他为 0。

第 5 步,计算交叉熵损失:L_CE = -Σ_k y_k·log(p_k)。它只在真实类别(y_k = 1)处起作用;当真实类别的概率 p_k 越大,L_CE 越小;当预测越偏离真实,L_CE 越大。第 6 步,加入正则化惩罚:L = L_CE + λR(W),得到最终损失。

其中正则化项 R(W)(如 L2 正则化)R(W) = Σ_ij w_ij²,用于惩罚过大的权重;λ 是正则化系数(超参数)。正则化的作用有三个:防止过拟合、让模型更平滑、泛化更好。

符号速查: X ∈ R^(3072×1) 输入向量 W ∈ R^(K×3072) 权重矩阵 b ∈ R^(K×1) 偏置向量

s ∈ R^(K×1) 得分向量 p ∈ R^(K×1) 概率向量 y ∈ R^(K×1) 真实标签(one-hot) K = 类别数

完整流程:X --(W, b)--> s = WX + b --(Softmax)--> p --(CE)--> L_CE --(+λR(W))--> L = L_CE + λR(W)
【直观理解】输入数据 → 模型打分(原始得分)→ 转成概率(可解释)→ 与真实标签对比(交叉熵)→ 加上正则化(防止过拟合)→ 最终损失(越小越好)。

图 5 前向传播完整流程:从输入到最终损失

4.2 一个 L2 正则化实验:为什么"权重更分散"的模型更好

问题:如何让模型更倾向于"关注更多特征"?答案:通过在损失函数中加入正则化惩罚项(如 L2 正则化),惩罚权重过大的模型。课件用两个模型做了对比实验:

设定相同的输入数据 x = 1, 1, 1, 1。模型 A 只关注局部特征,w_A = 1, 0, 0, 0;模型 B 关注所有特征,w_B = 0.25, 0.25, 0.25, 0.25

第 2 步,前向传播 f(x, W) = Wx:f_A(x) = 1,0,0,0·1,1,1,1^T = 1;f_B(x) = 0.25,0.25,0.25,0.25·1,1,1,1^T = 1。结论 1:两个模型得到的得分相同!

第 3 步,损失函数(不含正则化):对任意真实标签 y ∈ {0, 1},损失为 L = max(0, f(x;W) - y·f(x;W) + 1)。因为 f_A(x) = f_B(x) = 1,所以 L_A = L_B。结论 2:在不加正则化时,两个模型的损失完全一样,无法区分谁更好!

第 4 步,加入 L2 正则化惩罚 R(W) = Σ_j w_j²:模型 A 的惩罚 R(w_A) = 1² + 0² + 0² + 0² = 1.0;模型 B 的惩罚 R(w_B) = 4 × 0.25² = 0.25。结论 3:模型 B 的权重更小、更分散,正则化惩罚更小(0.25 < 1.0)。

第 5 步,总损失(含正则化)L_total = L + λR(W)(λ > 0 为正则化系数):模型 A 的总损失 L_A^total = L + λ×1 = L + λ;模型 B 的总损失 L_B^total = L + λ×0.25 = L + 0.25λ。因为 λ > 0,所以 L_B^total < L_A^total。结论 4:模型 B 更优!

【实验总结】虽然模型 A 和模型 B 得到相同的得分和损失(不含正则化时),但模型 B 使用更小、更分散的权重,正则化惩罚更小,因而总损失更低。损失函数更倾向于选择模型 B------它关注更多特征,泛化能力更好。

图 6 L2 正则化实验:模型 A(只关注局部特征)与模型 B(关注所有特征)的五步对比

4.3 正则化惩罚力度 λ 对模型的影响

惩罚力度 λ 控制模型的复杂度:λ 越大,模型越简单,决策边界越平滑,过拟合风险越低;λ 越小,模型越复杂,决策边界越曲折,过拟合风险越高。

当 λ = 0.001(惩罚力度很小)时,决策边界非常复杂、曲折,模型容易过拟合,泛化能力差,过拟合风险高;当 λ = 0.01(惩罚力度适中)时,决策边界较为平滑,模型在拟合与泛化之间取得平衡,过拟合风险中等;当 λ = 0.1(惩罚力度很大)时,决策边界非常平滑、简单,模型不易过拟合,泛化能力强,过拟合风险低。

图 7 正则化惩罚力度(λ = 0.001 / 0.01 / 0.1)对决策边界与过拟合风险的影响

五、梯度下降:像下山一样寻找最低点

5.1 基本思想

我们的目标是找到使损失函数 J(θ) 最小的参数 θ*。梯度下降算法的思想,就像从山坡上往谷底走,最终到达山谷的最低点。下山的过程就是梯度下降的过程:

(1)随机在山坡的一点出发:随机初始化参数 θ^0。(2)在当前位置先找"最陡的下山方向":计算损失函数在当前参数处的梯度 ∇J(θ^k),负梯度方向 -∇J(θ^k) 就是最陡的下山方向。(3)沿着这个方向小步前进(更新参数),到达一个新位置。(4)在新位置重复找方向、再前进。(5)直到到达山谷最低点(最优解 θ*,损失最小)------当梯度接近 0(下山方向几乎为 0),或者损失几乎不再下降时,说明已经到达最低点。

其中 α > 0 是学习率(步长),控制每次走多大步。一句话总结:梯度下降就是从一个随机的起点出发,反复"找最陡的下山方向 → 小步前进 → 重新找方向 → 再前进",不断逼近损失函数的最低点(最优参数)。

图 8 梯度下降:像下山一样寻找最低点

5.2 两个关键参数:学习率 α 与迭代次数 k

梯度下降有两个非常重要的参数:学习率 α 和迭代次数 k。它们就像"下山的步伐大小"和"下山的步数",直接影响我们能否又快又稳地到达山谷最低点(最优解)。

学习率 α 决定了每次沿着负梯度方向前进的"步长",更新公式为 θ^(k+1) = θ^k - α∇J(θ^k):α 越大步子越大,α 越小步子越小。α 过小时,每一步都很小,虽然稳健,但需要走很多步才能到山谷,收敛非常慢、效率低;α 过大时,步子太大,容易"越过山谷",甚至在山谷两侧来回跳动,不收敛、甚至发散;α 合适时,步子大小适中,能快速且稳定地到达山谷最低点,又快又稳。

迭代次数 k 决定了"下山"的步数(更新参数的次数)。即使选择了合适的学习率,步数太少或太多都会有问题:k 太少时走的步数不够,提前停下了,还在半山腰,损失函数仍然较大(欠拟合);k 适中或足够时,走足够多的步数才能到达山谷最低点,损失最小,找到最优解;k 太多时在合适的学习率下通常不会有太大问题,算法会在最优点附近徘徊(很小的调整),但迭代过多会浪费计算时间。

【实践小贴士】学习率通常通过尝试(调参)来选择;迭代次数可以设一个较大的上限,或观察损失的变化提前停止(早停)。总结:α 决定"每一步走多大"------太小→慢、太大→不收敛、合适→又快又稳;k 决定"走多少步"------太少→没到、足够→到达、太多→浪费时间。

图 9 梯度下降中的关键参数:学习率 α 与迭代次数 k

5.3 三种梯度下降的区别:Batch vs 随机 vs 小批量

它们的主要区别在于:每次计算梯度时使用多少数据来"评估山坡的方向"。

(1)批量梯度下降(Batch GD):每次用全部数据来计算梯度,再更新参数。生活例子:就像想知道一座山整体的高度变化,你会把整座山的地形图都看完,再决定从哪里下山。优点是方向最准确,每一步都朝着最优方向前进、收敛稳定;缺点是每次都要看完整座山(全部数据),计算量大、速度慢,尤其数据量很大时。适合数据量较小的情况。

(2)随机梯度下降(SGD):每次只用 1 个样本来计算梯度。生活例子:像下山时只随机看脚下一个小石子附近的坡度,就决定下一步往哪里走。优点是计算非常快、能快速开始下山、适合非常大数据集;缺点是方向非常不稳定、容易"走弯路",损失函数会大幅波动,可能在最优化附近来回震荡。适合数据量非常大、需要快速更新时。

(3)小批量梯度下降(Mini-batch GD):每次用一小批样本(比如 32、64、128 个)来计算梯度。生活例子:像每次看前方一小段路的坡度,方向比随机更准,速度也比看整座山快,可以更稳、更快地下山。优点是兼顾准确性和速度、方向相对稳定、收敛更快,实践中效果最好;缺点是需要选择合适的批大小。它是大多数实际任务中最常用的方法。

【小贴士】在深度学习中,几乎都使用小批量梯度下降,它在效率和效果之间取得了最佳平衡!

图 10 三种梯度下降方法对比:Batch GD、SGD、Mini-batch GD

六、反向传播:链式法则如何在层间传播梯度

当输出 z 影响损失 L 时,损失关于输入 x、y 的梯度不是直接计算的,而是通过中间变量 z"传递"回来,这就是链式法则(Chain Rule),也是反向传播的数学核心。

前向传播(图中绿色箭头,activations 激活值):输入 x、y 经过函数 f,得到中间变量 z;z 再继续向后传递,最终影响损失 L。反向传播(图中红色箭头,gradients 梯度):损失 L 对 z 的梯度 ∂L/∂z 由后续层传回到当前层;每个计算节点保存着自己的"局部梯度"(local gradient)∂z/∂x 和 ∂z/∂y;利用链式法则,把从上游传来的梯度与局部梯度相乘,即可把梯度继续传给更前面的输入:

∂L/∂x = (∂L/∂z) · (∂z/∂x)  ∂L/∂y = (∂L/∂z) · (∂z/∂y)

直观理解:每个节点只需要记住自己的局部梯度,收到"上游传回来的梯度"后相乘并继续向前传,梯度就能像多米诺一样逐层回传------这正是深层网络能够被高效训练的原因。也正因为梯度是"乘法链",当局部梯度普遍小于 1 且层数很深时,梯度会逐层缩小(梯度消失),这一点与下一章激活函数的选择直接相关。

图 11 反向传播:链式法则如何在一层中传播梯度

七、神经网络整体架构

7.1 层次结构:输入层 → 隐藏层 → 输出层

一个典型的神经网络由三部分组成,围绕三个核心问题展开:神经网络的层次结构、神经元的作用与效果、特征提取与学习方法。

输入层(input layer):接收原始输入数据;隐藏层 1(hidden layer 1):逐层变换,学习低级到高级的表示;隐藏层 2(hidden layer 2):进一步抽象,提取更复杂的特征;输出层(output layer):生成最终结果或分类输出。层与层之间全连接,信息逐层向前流动,特征也逐层从"低级"走向"高级"。

图 12 神经网络整体架构:输入层、隐藏层、输出层的分工

7.2 为什么必须引入非线性

如果只是简单地堆叠多个线性变换(WX + B),整体模型仍然是线性的。每一层只进行线性变换 WX + B,多层线性变换的复合仍是线性变换,无论堆叠多少层,模型表达能力都有限。把 L 层展开可得:y = W_L(W_(L-1)(...(W_1x + b_1)...) + b_(L-1)) + b_L = W_eff·x + b_eff,仍然是一个线性变换,等价于一层。

解决方法是在每一层线性变换后加入非线性激活函数 σ(·)。此时整体形式变为 y = σ_L(W_L(σ_(L-1)(W_(L-1)(...σ_1(W_1x + b_1)...) + b_(L-1)) + b_L)),整体为非线性变换。多层非线性变换的复合可以表示复杂的非线性关系,显著提升模型的表达能力和拟合能力。

【关键结论】非线性激活函数是神经网络的核心组件:没有非线性,深层网络退化为线性模型,无法学习复杂的模式;只有引入非线性,神经网络才能逼近任意复杂的函数,解决实际问题。常见激活函数有 ReLU、Sigmoid、Tanh 等。

图 13 神经网络中的非线性:仅线性堆叠 vs 加入激活函数

7.3 神经元个数对结果的影响

隐藏层神经元个数决定了模型的表达能力:神经元越多,模型越灵活,能够拟合更复杂的决策边界;但神经元过多时,模型会把训练数据中的噪声或异常点也当作规律来学习,导致过拟合,泛化能力下降。

课件用同一份数据对比了三种设置:3 个隐藏神经元(模型表达能力较弱)时,决策边界较简单,出现欠拟合,无法很好地拟合复杂的数据分布,属于偏差过大、模型过于简单的情形;6 个隐藏神经元(表达能力适中)时,决策边界较平滑、拟合效果较好,能较好地抓住数据的内在规律,偏差与方差较为平衡,是较优区间;20 个隐藏神经元(表达能力过强)时,决策边界过于复杂,几乎拟合了所有训练点,可能把噪声也当作规律学习,泛化能力表现为低偏差、高方差,即过拟合。

【规律】神经元个数过少 → 欠拟合,模型过于简单;神经元个数过多 → 过拟合,模型过于复杂;合适的神经元个数(最优区间)→ 平衡拟合能力与泛化能力。

图 14 神经元个数(3 / 6 / 20 个隐藏神经元)对决策边界与泛化能力的影响

7.4 激活函数的选择:Sigmoid vs ReLU

激活函数为神经网络引入非线性,使模型能够拟合复杂的模式。Sigmoid 曾被广泛使用,但存在梯度消失、计算成本高、输出不以 0 为中心等问题;ReLU 在训练深层网络时更加高效,成为当前的主流选择。下面从五个维度对比。

Sigmoid:σ(x) = 1 / (1 + e^(-x)),是一条平滑的 S 型曲线,x → -∞ 时 σ(x) → 0,x → +∞ 时 σ(x) → 1,输出始终在 (0, 1) 之间。它的导数为 σ'(x) = σ(x)(1 - σ(x)),最大值只有 0.25,当 |x| 较大时导数趋近 0------梯度逐层减小,导致梯度消失,深层网络难以有效训练。优点:输出在 (0,1),可解释为概率;平滑可导,数学性质良好。缺点:梯度消失,深层网络难以训练;输出不以 0 为中心,收敛速度慢;指数运算、计算成本较高。适用场景:二分类输出层(概率输出)、浅层网络或对输出有概率解释需求的场景。

ReLU:f(x) = max(0, x),是一条分段线性函数,x ≤ 0 时 f(x) = 0,x > 0 时 f(x) = x,输出范围为 [0, +∞)。它的导数在 x ≤ 0 时为 0、x > 0 时恒为 1,梯度保持稳定,不会因层数增加而衰减,有利于深层网络训练。优点:计算简单、效率高;缓解梯度消失问题、训练更快;产生稀疏激活(部分输出为 0),有助于模型泛化。缺点:存在"死亡 ReLU"问题(x ≤ 0 时梯度为 0,神经元可能永久失活);输出非对称,可能导致激活分布偏移。适用场景:隐藏层的首选激活函数;深度网络、计算机视觉、自然语言处理等大多数场景。

【结论】Sigmoid 曾广泛应用,但受限于梯度消失和收敛慢等问题;ReLU 具有更好的训练效率和泛化能力,因此在大多数现代神经网络中,ReLU 是隐藏层激活函数的首选。实践中常用 ReLU 的改进版本,如 Leaky ReLU、PReLU、ELU 等,以缓解"死亡 ReLU"问题。

图 15 Sigmoid 与 ReLU 的五维对比:函数图像、输出范围、梯度特性、优缺点与适用场景

八、训练前的准备:数据标准化与权重初始化

8.1 数据预处理:标准化(Standardization)

标准化(Z-score 标准化)是一种常用的数据预处理方法,通过对数据进行去均值和除以标准差的变换,将数据转换为均值为 0、标准差为 1 的分布。它可以消除不同特征的量纲影响,使特征具有可比性,同时有助于提升模型的训练效率和稳定性。

整个过程分三步看:第 1 步是原始数据,特点是数据分布的中心不在原点(均值 ≠ 0)、各维度的取值范围较大(标准差较大)、不同特征量纲不同,难以直接比较。第 2 步是去均值(零中心化),公式为 X_centered = X - mean(X),作用是把数据中心平移到原点(均值变为 0),消除偏置,使数据分布对称于原点。第 3 步是除以标准差(标准化),公式为 X_standardized = (X - mean(X)) / std(X),作用是把数据分布缩放为单位方差(标准差变为 1),消除不同特征的量纲影响。

标准化公式:X --(-mean(X) 去均值)--> /std(X) 除以标准差 ==> Z = (X - μ) / σ (均值为 0、标准差为 1)

标准化的效果与优势体现在四点:消除量纲影响(使不同特征具有可比性,避免某些特征因尺度过大而主导模型训练);提升模型性能(有利于梯度下降等优化算法更快收敛,提高训练效率和稳定性);增强模型泛化能力(使模型对数据分布的变化更加鲁棒,提升泛化性能);适用性广泛(适用于大多数机器学习算法,如线性模型、SVM、神经网络等)。

图 16 数据标准化:原始数据 → 去均值 → 除以标准差

8.2 权重参数初始化方法

权重参数的初始化决定了模型训练的起点。合理的初始化有助于加快收敛、提升性能、避免陷入差的局部最优。常见的初始化方式包括随机初始化和使用预训练模型初始化两大类。

(1)随机初始化(Random Initialization):在训练开始时,权重参数从某种随机分布中采样(如正态分布、均匀分布),初始化后的权重分布示意呈现"均值 ≈ 0,方差为设定值"的钟形分布。特点:简单易实现,适用于从头训练的模型;需要大量数据和训练迭代才能学习到有效特征;训练初期性能较差,收敛速度可能较慢;对初始化方式较敏感(方差过大或过小会导致梯度消失或爆炸)。

(2)预训练模型初始化(Pre-trained Initialization):利用在大规模数据集上预训练好的模型权重,作为新模型的初始值,即迁移学习的思想。预训练模型已经学习到通用特征(边缘、纹理、形状、语义等),把它迁移到新任务或新数据集上,作为初始化继续训练。优点:提供更好的初始参数,模型一开始就具备有用的特征表示能力;收敛更快,所需训练数据更少;在小数据集或复杂任务上效果更好,泛化能力更强;可以迁移已有知识,提升模型性能上限。

图 17 权重参数初始化:随机初始化 vs 预训练模型初始化

九、Dropout:降低过拟合,提升模型泛化能力

Dropout 在训练过程中随机"丢弃"部分神经元(及其连接),使网络在每次迭代时学习不同的子网络,从而减少神经元之间的共适应关系,提升模型的泛化能力,降低过拟合风险。

没有使用 Dropout 的网络结构中,输入层、隐藏层 1、隐藏层 2、输出层的所有神经元都以全连接方式参与训练,所有神经元都参与训练,神经元之间的共适应性强,模型容易过拟合训练数据。

使用 Dropout 的网络结构(训练时)则不同:每次迭代随机丢弃一部分神经元及其连接(图中带 × 的虚线神经元),相当于每次都在训练一个"变瘦了的子网络"。整体上看,这相当于训练了多个子网络的集成(ensemble),因此能显著提升泛化能力。

需要注意两点:Dropout 只在训练阶段使用,推理(测试)阶段会关闭 Dropout 并按比例缩放激活值;丢弃比例是超参数,常用的取值如 0.2~0.5。Dropout 常与前面学过的 L2 正则化、数据标准化等手段配合使用,共同抑制过拟合。

图 18 Dropout 的作用:无 Dropout(全连接全参与)vs 使用 Dropout(训练时随机丢弃)

十、总结

把这篇博客串成一条主线,就是深度学习"预测一个样本并不断变好"的完整故事:原始数据先被展开成向量(预处理与标准化),送入线性分类器打分(s = WX + b),得分经 Softmax 变成概率,再用交叉熵衡量预测与真实标签的差距(损失),加上 L2 正则化约束模型复杂度;随后梯度下降沿负梯度方向反复更新参数(学习率控制步长、迭代次数控制步数、小批量决定每步用多少数据),而梯度本身由反向传播按链式法则逐层回传;当单个线性层不够用时,就堆叠多层并引入非线性激活函数构成神经网络;最后通过合理的初始化(随机或预训练)与 Dropout 等正则化手段,让模型训练得又快又稳、泛化更好。

相关推荐
xp_fangfei1 小时前
Halcon之第7讲--模板匹配详解与实战应用
人工智能·计算机视觉
LaughingZhu1 小时前
Product Hunt 每日热榜 | 2026-09-11
人工智能·深度学习·神经网络·搜索引擎·百度
residual_fan1 小时前
经验模态重构:直向工业时间序列数据的数据扩增方法
人工智能·算法·重构·数据挖掘·数据分析
AI人工智能集结号1 小时前
2026年9月GEO优化服务哪家好?企业选服务商先看哪些交付能力
人工智能
快乐非自愿1 小时前
2026企业低代码选型对比:制造、政务、供应链转型硬核评测
人工智能·低代码·架构·制造·政务
魔点科技1 小时前
智慧办公空间解决方案:把物理办公空间升级为组织协同的数字空间
人工智能·智慧办公·智能门禁·魔点科技·智能会议
海宇大数据1 小时前
零信任架构实战:基于海宇单人婚姻状态查询构建自动化线上房产交易合规网关
运维·人工智能·架构·自动化
Anycall.Q1 小时前
SPARKLE(ACL 2026)
人工智能
二川bro1 小时前
SGLang本地部署实战:把模型权重变成可聊天的HTTP服务
人工智能