【第三章:神经网络原理详解与Pytorch入门】01.神经网络算法理论详解与实践-(4)神经网络中的重要组件

发布于:2025-07-05 ⋅ 阅读:(17) ⋅ 点赞:(0)

第三章: 神经网络原理详解与Pytorch入门

第一部分:神经网络算法理论详解与实践

第四节:神经网络中的重要组件

内容:激活函数、loss函数、dropout、梯度消失与爆炸、过拟合与欠拟合

神经网络的性能依赖于多个关键组件的合理设计与使用。理解这些组件有助于构建更加稳健且高效的模型。


一、激活函数(Activation Function)

【深度学习】关键技术-激活函数(Activation Functions)_激活函数代码-CSDN博客

激活函数决定神经元的输出值,常见有:

  1. Sigmoid【漫话机器学习系列】142.Sigmoid 激活函数(Sigmoid Activation Function)_sigmoid函数-CSDN博客

    • 公式:σ(x) = 1 / (1 + e^(-x))

    • 特点:输出范围 (0, 1),容易饱和,导致梯度消失。

  2. Tanh【漫话机器学习系列】224.双曲正切激活函数(Hyperbolic Tangent Activation Function)_hyperbolic tangent激活函数-CSDN博客

    • 公式:tanh(x) = 2σ(2x) - 1

    • 输出范围 (-1, 1),中心对称。

  3. ReLU【漫话机器学习系列】152.ReLU激活函数(ReLU Activation Function)_relu函数-CSDN博客

    • 公式:f(x) = max(0, x)

    • 非饱和、计算简单,是目前最常用的激活函数。

  4. Leaky ReLU【漫画机器学习系列】102.带泄露线性整流函数(Leaky ReLU)_leakyrelu-CSDN博客

    • 公式:f(x) = x if x > 0 else αx,解决ReLU死神经元问题。

激活函数的选取会影响梯度传播、网络非线性表达能力。


二、损失函数(Loss Function)

【深度学习】关键技术-损失函数(Loss Function)-CSDN博客

衡量模型预测与真实标签之间的差距:

  • 回归问题常用:

    • 均方误差(MSE):L = 1/n Σ (y - ŷ)^2

    • 平均绝对误差(MAE)

  • 分类问题常用:

    • 交叉熵(Cross-Entropy):L = - Σ y log(ŷ)

    • 二元分类:Binary Cross Entropy

    • 多分类:Categorical Cross Entropy

损失函数是反向传播的起点,决定梯度方向。


三、Dropout 正则化

【深度学习】关键技术-正则化(Regularization)_在深度学习中,正则化方法的主要作用是?-CSDN博客

【漫话机器学习系列】151.正则化(Regularization)-CSDN博客

【漫话机器学习系列】228.丢弃对于隐含单元的影响(The Effect Of Dropout On Hidden Units)_卷积神经网络dropout-CSDN博客 

【漫话机器学习系列】011.Bagging方法 VS Dropout方法_dropout和bagging-CSDN博客

  • 在训练过程中,随机“关闭”神经元(即令输出为0)。

  • 减少神经元间的 co-adaptation,防止过拟合。

  • 在推理阶段恢复完整网络,并将输出缩放。

import torch.nn as nn
layer = nn.Dropout(p=0.5)

四、梯度消失与梯度爆炸

【漫话机器学习系列】162.“消失”的梯度(Vanishing Gradient Problem)_损失函数梯度消失-CSDN博客

【漫话机器学习系列】053.梯度爆炸(Exploding Gradient Problem)-CSDN博客

  • 梯度消失:反向传播时梯度逐层变小,导致靠近输入层的权重几乎不更新,常见于 sigmoid、tanh。

  • 梯度爆炸:梯度指数增长,参数剧烈震荡甚至变为 NaN,常发生在深层网络中。

应对策略:

  • 使用 ReLU、BatchNorm、残差结构(ResNet)

  • 权重初始化技巧(如 He 初始化)

  • 梯度裁剪(Gradient Clipping)

【深度学习】计算机视觉(CV)-图像分类-ResNet(Residual Network,残差网络)_cv resnet-CSDN博客

【漫话机器学习系列】277.梯度裁剪(Gradient Clipping)_梯度裁剪参数作用-CSDN博客


五、过拟合与欠拟合

【漫话机器学习系列】199.过拟合 vs 欠拟合(Overfit vs Underfit)_模型过拟合图片-CSDN博客

【漫话机器学习系列】200.过度拟合(Overfitting)_过度拟合训练数据-CSDN博客

【机器学习】基础知识:拟合度(Goodness of Fit)-CSDN博客

【漫话机器学习系列】007.如何防止过拟合(avoid over-fitting)_如何保证模型不过度依赖训练数据-CSDN博客

  • 过拟合(Overfitting):模型在训练集上表现很好,但泛化能力差。

    • 原因:模型复杂度过高、训练数据量不足

    • 解决方法:增加数据、正则化、Dropout、早停等

  • 欠拟合(Underfitting):模型在训练集和测试集上都表现差。

    • 原因:模型太简单、训练不充分

    • 解决方法:提升模型复杂度、调参、增加训练轮数


总结表格

组件 功能描述 常见问题/优化手段
激活函数 引入非线性,提高模型表达能力 梯度消失(用ReLU)、死神经元问题
损失函数 衡量预测与真实值的差异 根据任务选择适当的loss
Dropout 防止过拟合,提高模型泛化能力 仅用于训练阶段
梯度消失/爆炸 影响梯度传播和模型稳定性 使用ReLU、BatchNorm、残差连接等
过拟合与欠拟合 模型泛化与拟合能力问题 增加数据、正则化、调参等


网站公告

今日签到

点亮在社区的每一天
去签到