1.Xavier初始化思路是什么,是怎么做的?
2010年的《Understanding the difficulty of training deep feedforward neural networks》提出Xavier初始化,目的是为了保持模型中每一层的输出方差大致相等,这样做的原因主要有:
(1)避免梯度消失或梯度爆炸:在深度神经网络中,如果层与层之间的输出方差相差很大,就会有很大的值出现,那么在反向传播过程中,梯度可能会变得非常小(梯度消失)或者非常大(梯度爆炸)导致梯度更新缓慢,或者训练过程不稳定。
(2)保持信号的传播:通过保持每一层的输出方差大致相等,可以确保网络中的信号在前向传播和反向传播时不会因为方差的变化而减弱或增强,从而有助于网络更好地学习和传递信息。
(3)提高训练的稳定性和效率:当每一层的输出方差保持一致时,训练过程会更加稳定,因为权重更新的magnitude更加可控。这样可以提高训练的效率。
(4)避免过拟合或欠拟合:适当的方差控制有助于网络在训练过程中保持适当的