说明:
💡💡💡本文后续更新和完善将在新账号展开,请移步新地址:
深度学习——权重初始化、评估指标、梯度消失和梯度爆炸💡💡💡
历史文章
机器学习
机器学习笔记——损失函数、代价函数和KL散度
机器学习笔记——特征工程、正则化、强化学习
机器学习笔记——30种常见机器学习算法简要汇总
机器学习笔记——感知机、多层感知机(MLP)、支持向量机(SVM)
机器学习笔记——KNN(K-Nearest Neighbors,K 近邻算法)
机器学习笔记——朴素贝叶斯算法
机器学习笔记——决策树
机器学习笔记——集成学习、Bagging(随机森林)、Boosting(AdaBoost、GBDT、XGBoost、LightGBM)、Stacking
机器学习笔记——Boosting中常用算法(GBDT、XGBoost、LightGBM)迭代路径
机器学习笔记——聚类算法(Kmeans、GMM-使用EM优化)
机器学习笔记——降维
深度学习
深度学习笔记——优化算法、激活函数
深度学习——归一化、正则化
深度学习——权重初始化、评估指标、梯度消失和梯度爆炸
深度学习笔记——前向传播与反向传播、神经网络(前馈神经网络与反馈神经网络)、常见算法概要汇总
深度学习笔记——卷积神经网络CNN
深度学习笔记——循环神经网络RNN、LSTM、GRU、Bi-RNN
深度学习笔记——Transformer
深度学习笔记——3种常见的Transformer位置编码
深度学习笔记——GPT、BERT、T5
深度学习笔记——ViT、ViLT
深度学习笔记——DiT(Diffusion Transformer)
深度学习笔记——多模态模型CLIP、BLIP
深度学习笔记——AE、VAE
深度学习笔记——生成对抗网络GAN
深度学习笔记——模型训练工具(DeepSpeed、Accelerate)
深度学习笔记——模型压缩和优化技术(蒸馏、剪枝、量化)
文章目录
权重初始化
权重初始化是影响模型训练速度和性能的重要因素。合理的权重初始化可以帮助加快收敛,减少不稳定性。以下是几种常见的权重初始化方法及其解释:
零初始化 (Zero Initialization)
- 描述:将所有权重初始化为零。
- 优点:简单易实现。
- 缺点:所有神经元的输出相同,导致每个神经元在反向传播时更新相同的权重,无法有效学习。此方法通常不适用于深度学习。
随机初始化 (Random Initialization)
- 描述:将权重随机初始化为小的随机值(通常在一个小范围内)。
- 优点:避免了神经元输出相同的问题,允许不同神经元学习不同的特征。
- 缺点:选择不当的范围可能导致梯度消失或梯度爆炸问题。
Xavier 初始化(Glorot 初始化)
-
描述:适用于Sigmoid或Tanh激活函数。权重根据输入和输出的数量进行初始化,通常使用正态分布或均匀分布。
- 计算公式:
- 计算公式:
-
优点:通过考虑输入和输出的规模,减少了层与层之间的激活值的方差,有助于更稳定的训练。
He 初始化
- 描述:专门为ReLU激活函数设计的初始化方法,权重根据输入的数量进行初始化。
- 计算公式:
- 计算公式:
- 优点:减少了在ReLU激活函数中由于零输入造成的 “死亡神经元”问题 ,适用于深度神经网络。
正交初始化(Orthogonal Initialization)
描述:
生成的权重矩阵 W 是正交矩阵,即满足
W
T
W
=
I
W^T W = I
WTW=I(单位矩阵)。正交矩阵具有特性:它的特征值的模为 1,这意味着在正交矩阵上的操作不会导致梯度的膨胀或收缩,因此适合深层网络或循环神经网络(RNN),有助于稳定梯度传播。
初始化过程:
- 首先生成一个随机矩阵,然后对该矩阵进行正交计算。
- 对于维数不相等的矩阵,进行截断,使矩阵能够符合输入和输出的维度。
正交计算获得正交矩阵方法:
- 奇异值分解(SVD),将其分解为 3 个矩阵,其中包含一个正交矩阵。用该正交矩阵初始化权重。
U 和 V 都是正交矩阵,通常选择 U 矩阵作为正交矩阵来初始化权重。
-
- QR 分解:对矩阵 W 进行 QR 分解,将其分解为一个正交矩阵 Q 和上三角矩阵 R。