深度学习-神经网络的权重初始化方法

权重初始化在深度学习的神经网络中至关重要,影响模型的收敛速度和性能。本文探讨了四种初始化方法:全零初始化导致梯度消失,随机初始化避免此问题但可能使深层激活函数输出接近0,Xavier初始化适合tanh但不适用于ReLU,而He初始化专门针对ReLU,能有效缓解梯度消失。在现代神经网络中,He初始化应用广泛。
摘要由CSDN通过智能技术生成
个人微信公众号:AI研习图书馆,欢迎关注~

深度学习知识及资源分享,学习交流,共同进步~

深度学习中神经网络的权重初始化方法

1.引言

在深度学习中,神经网络的权重初始化(weight initialization)对模型的收敛速度和性能有着至关重要的影响。

究其根源,神经网络其实就是对权重参数w的不停迭代更新,以期达到较好的性能。

在深度神经网络中,随着层数的增多,我们在梯度下降的过程中,极易出现梯度消失或者梯度爆炸。因此,对权重w的初始化则显得至关重要。一个好的权重初始化虽然不能完全解决梯度消失和梯度爆炸的问题,但是对于处理这两个问题是有很大的帮助的,并且十分有利于模型性能和收敛速度。

在这篇博客中,我们主要讨论四种权重初始化方法:

  1. 把w初始化为0
  2. 对w随机初始化
  3. Xavier initialization
  4. He initialization

2. 方法讲解

2.1 把w初始化为0

我们在线性回归,logistics回归的时候,基本上都是把参数初始化为0,我们的模型也能够很好的工作。然后在神经网络中,把w初始化为0是不可以的。这是因为如果把w初始化0,那么每一层的神经元学到的东西都是一样的(输出是一样的),而且在bp的时候,每一层内的神经元也是相同的,因为他们的gradient相同。下面用一段代码来演示,当把w初始化为0:

def initialize_parameters_zeros(layers_dims):
    """
    Arguments:
    layer_dims -- python array (list) containing the size of each layer.
    Returns:
    parameters -- python dictionary containing your parameters "W1", "b1", ..., "WL", "bL":
                    W1 -- weight matrix of shape (layers_dims[1], layers_dims[0])
                    b1 -- bias vector of shape (layers_dims[1], 1)
                    ...
                    WL -- weight matrix of shape (layers_dims[L], layers_dims[L-1])
                    bL -- bias vector of shape (layers_dims[L], 1)
    """
    parameters = {
   }
    np.random.seed(3)
    L = len(layers_dims)  # number of layers in the network
    for l in range(1, L):
        parameters['W' + str(l)] = np.zeros((layers_dims[l], layers_dims[l - 1]))
        parameters['b' + str(l)] = np.zeros((layers_dims[l], 1))
    return parameters

我们可以看看cost function是如何变化的:

在这里插入图片描述
能够看到代价函数降到0.64(迭代1000次)后,再迭代已经不起什么作用了。

2.对w随机初始化

目前常用的就是随机初始化,即W随机初始化。随机初始化的代码如下:

def initialize_parameters_random(layers_dims):
    """
    Arguments:
    layer_dims -- python array (list) containing the size of each layer.
    Returns:
    parameters -- python dictionary containing your
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

AI研习图书馆

您的鼓励将是我创作的最大动力~

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值