♎
Limited AI
  • Machine Learning
    • Linear Model Cheating Sheet
    • Nonlinear Model Cheating Sheet
    • General Linear Model 1
    • General Linear Model 2
    • General Linear Model 3
    • Tree Based Methods
    • Tree Based Methods Supplement
    • XG,Cat,Light__Boosting
    • KNN&PCA
    • Model Performance
    • Model Evaluation
    • Code Practice
      • KNN
      • Decision Tree Python Code
    • Data and Feature Engineering
      • Handle Bias Data
      • Cold Start Problem
  • Deep Learning
    • Summary v2
    • Basic Neural Network
      • From Linear to Deep
      • Perceptron and Activation Function
      • NN network Details
      • Backpropagation Details
      • Gradient Vanishing vs Gradient Exploding
    • Basic CNN
      • Why CNN
      • Filter/ Convolution Kernel and Its Operation
      • Padding& Stride
      • Layers
      • Extra:From Fully Connected Layers to Convolutions
      • Extra: Multiple Input and Multiple Output Channels
    • Advance CNN
      • Convolutional Neural Networks(LeNet)
      • Deep Convolution Neural Networks(AlexNet)
      • Networks Using Blocks (VGG)
      • Network in Network(NiN)
      • Multi-Branch Networks(GoogLeNet&I mageNet)
      • Residual Networks(ResNet) and ResNeXt
      • Densely Connected Networks(DenseNet)
      • Batch Normalization
    • Basic RNN
      • Seq Model
      • Raw Text to Seq
      • Language Models
      • Recurrent Neural Networks(RNN)
      • Backpropagation Through Time
    • Advance RNN
      • Gated Recurrent Units(GRU)
      • Long Short-Term Memory(LSTM)
      • Bidirectional Recurrent Neural Networks(BRNN)
      • Encoder-Decoder Architecture
      • Seuqence to Sequence Learning(Seq2Seq)
    • Attention Mechanisms and Transformers
      • Queries, Keys, and Values
      • Attention is all you need
        • Attention and Kernel
        • Attention Scoring Functions
        • The Bahdanau Attention Mechanism
        • Multi-Head Attention
        • Self-Attention
        • Attention的实现
      • The Transformer Architecture
        • Extra Reading
        • 最短的最大路径长度
      • Large-Scaling Pretraning with Transformers
        • BERT vs OpenAI GPT vs ELMo
        • Decoder Model框架
        • Bert vs XLNet
        • T5& GPT& Bert比较
        • 编码器-解码器架构 vs GPT 模型
        • Encoder vs Decoder Reference
      • Transformers for Vision
      • Transformer for Multiomodal
    • NLP Pretraining
      • Word Embedding(word2vec)
        • Extra Reading
      • Approximate Training
      • Word Embedding with Global Vectors(GloVe)
        • Extra Reading
        • Supplement
      • Encoder(BERT)
        • BERT
        • Extra Reading
      • Decoder(GPT&XLNet&Lamma)
        • GPT
        • XLNet
          • XLNet架构
          • XLNet特点与其他比较
      • Encoder-Decoder(BART& T5)
        • BART
        • T5
  • GenAI
    • Introduction
      • GenAI Paper Must Read
      • GenAI六个阶段
    • Language Models Pre-training
      • Encoder-Decoder Architecture
      • Encoder Deep Dive
      • Decoder Deep Dive
      • Encoder VS Decoder
      • Attention Mechanism
      • Transformers
    • Example: Llama 3 8B架构
    • Fine-Tuning Generation Models
    • RAG and Adavance RAG
    • AI Agent
  • Statistics and Optimization
    • A/B testing
    • Sampling/ABtesting/GradientMethod
    • Gradient Decent Deep Dive
  • Machine Learning System Design
    • Extra Reading
    • Introduction
  • Responsible AI
    • AI Risk and Uncertainty
      • What is AI risk
      • General Intro for Uncertainty Quantification
      • Calibration
      • Conformal Prediction
        • Review the linear regression
        • Exchangeability
        • Split Conformal Prediction
        • Conformalized Quantile Regression
        • Beyond marginal coverage
        • Split Conformal Classification
        • Full Conformal Coverage
        • Cross-Validation +
        • Conformal Histgram Regression
    • xAI
      • SHAP value
  • Extra Research
    • Paper Reading
    • Reference
Powered by GitBook
On this page
  1. Deep Learning
  2. Basic Neural Network

Gradient Vanishing vs Gradient Exploding

梯度消失与梯度爆炸

在训练深层神经网络时,梯度消失和梯度爆炸是两种常见的问题。它们都与反向传播过程中梯度的更新方式有关,特别是在网络层数较多时尤为显著。

梯度消失(Gradient Vanishing)

梯度消失发生在反向传播过程中,梯度随着层数增加逐渐变得非常小,以至于无法对较早层的权重进行有效更新。这通常发生在使用某些激活函数(如 Sigmoid 或 Tanh)时。

原因:

在反向传播中,梯度通过链式法则计算:

∂Loss∂w=∂Loss∂zL⋅∂zL∂zL−1⋅⋯⋅∂z1∂w\frac{\partial \text{Loss}}{\partial w} = \frac{\partial \text{Loss}}{\partial z_L} \cdot \frac{\partial z_L}{\partial z_{L-1}} \cdot \cdots \cdot \frac{\partial z_1}{\partial w}∂w∂Loss​=∂zL​∂Loss​⋅∂zL−1​∂zL​​⋅⋯⋅∂w∂z1​​

当层数 LLL 较大时,每一层的导数如果小于 1,那么梯度会呈指数级减小,最终导致前几层几乎没有梯度更新。

例如,对于 Sigmoid 激活函数:

σ(z)=11+e−z\sigma(z) = \frac{1}{1 + e^{-z}}σ(z)=1+e−z1​

其导数为:

σ′(z)=σ(z)(1−σ(z))\sigma'(z) = \sigma(z)(1 - \sigma(z))σ′(z)=σ(z)(1−σ(z))

当 σ(z)\sigma(z)σ(z) 靠近 0 或 1 时,导数会变得非常小,导致梯度消失。

影响:

  • 神经网络的早期层权重几乎不会更新,学习变得非常缓慢。

  • 随着网络层数的增加,这个问题会变得更加严重。

梯度爆炸(Gradient Exploding)

梯度爆炸是与梯度消失相对的问题。当层数较多时,梯度在反向传播中不断增大,导致权重更新过大,模型变得不稳定。

原因:

与梯度消失类似,梯度爆炸也是由于链式法则的累乘。如果某一层的梯度大于 1,则通过多层传递后,梯度会变得非常大,导致参数更新过大。

例如,在网络中使用线性激活函数或 ReLU 激活函数时,如果权重初始化不当或者梯度更新没有限制,容易发生梯度爆炸。

影响:

  • 模型的权重可能会变得非常大,导致梯度更新不稳定,甚至可能导致损失函数变为 NaN。

  • 训练过程可能会失败,网络无法收敛。

例子

假设我们有一个 3 层的神经网络,每一层使用 Sigmoid 作为激活函数。对于输入 xxx,我们通过权重 www 和偏置 bbb 计算输出 y^\hat{y}y^​:

z1=w1⋅x+b1z_1 = w_1 \cdot x + b_1z1​=w1​⋅x+b1​
a1=σ(z1)a_1 = \sigma(z_1)a1​=σ(z1​)
z2=w2⋅a1+b2z_2 = w_2 \cdot a_1 + b_2z2​=w2​⋅a1​+b2​
a2=σ(z2)a_2 = \sigma(z_2)a2​=σ(z2​)
z3=w3⋅a2+b3z_3 = w_3 \cdot a_2 + b_3z3​=w3​⋅a2​+b3​
y^=σ(z3)\hat{y} = \sigma(z_3)y^​=σ(z3​)

在反向传播时,若 Sigmoid 的导数值较小,前几层的权重更新会变得非常缓慢,导致梯度消失。而如果我们初始化权重过大,则可能导致梯度在反向传播中指数级增长,最终发生梯度爆炸。

解决方法:

  1. 梯度消失:

    • 使用不同的激活函数,例如 ReLU、Leaky ReLU 等,它们的导数不会像 Sigmoid 那样趋近于 0。

    • 使用批归一化(Batch Normalization)来缓解梯度消失问题。

    • 使用合适的权重初始化方法(例如 Xavier 初始化或 He 初始化)。

  2. 梯度爆炸:

    • 使用梯度裁剪(Gradient Clipping)来限制梯度的大小。

    • 使用更小的学习率。

    • 使用合适的权重初始化来防止梯度在反向传播时过大。

PreviousBackpropagation DetailsNextBasic CNN

Last updated 8 months ago