【CV知识点汇总与解析】| 参数初始化篇
【写在前面】
本系列文章适合Python已经入门、有一定的编程基础的学生或人士,以及人工智能、算法、机器学习求职的学生或人士。系列文章包含了深度学习、机器学习、计算机视觉、特征工程等。相信能够帮助初学者快速入门深度学习,帮助求职者全面了解算法知识点。
1、什么是参数初始化?
初始化参数指的是在网络模型训练之前,对各个节点的权重和偏置进行初始化赋值的过程。
在深度学习中,神经网络的权重初始化方法(weight initialization)对模型的收敛速度和性能有着至关重要的影响。模型的训练,简而言之,就是对权重参数W的不停迭代更新,以期达到更好的性能。而随着网络深度(层数)的增加,训练中极易出现梯度消失或者梯度爆炸等问题。因此,对权重W的初始化显得至关重要,一个好的权重初始化虽然不能完全解决梯度消失或梯度爆炸的问题,但是对于处理这两个问题是有很大帮助的,并且十分有利于提升模型的收敛速度和性能表现。
2、模型参数更新的过程
在总结参数初始化的原则之前,先简单看一下网络模型运行的过程,参数初始化的目的是使网络模型能够更好地进行训练。现在大部分的网络训练依然采用误差的反向传播算法,误差反向传播分为正反两个过程,这里就不再赘述了,先引入几个概念。下面这幅图是一个神经网络的某一个层:

由图可知,每一个层内部的组成主要有:
输入X/hi:来自原始样本X的输入(i=0)或上一层(第i−1层)的输出hi。
权重W:网络模型训练的主体对象,第ii层的权重参数wi。
状态值z:作为每一层激活函数f的输入,处于网络层的内部,所以称之为状态值。
激活值h:状态值zi经过了激活函数f后的输出,也就是第i层的最终输出hi;
数据在网络模型中流动的时候,则会有(这里默认没有偏置项B):
z i = w i ⋅ h i − 1 h i = f ( z i ) \begin{aligned} z^{i} &=w^{i} \cdot h^{i-1} \\ h^{i} &=f\left(z^{i}\right) \end{aligned} zihi=w
深度学习入门:权重初始化策略与梯度控制

本文讲解了深度学习中参数初始化的重要性,介绍了全0、随机、Xavier和He初始化方法,以及它们如何避免梯度消失和爆炸。通过实例阐述了梯度消失的根源和缓解策略,适合初学者理解模型训练的基石。
最低0.47元/天 解锁文章
777

被折叠的 条评论
为什么被折叠?



