深度学习笔记(九)随机初始化及参数VS超参数

一、为什么不能初始化权重为0?

来看一个简单的网络结构
在这里插入图片描述
试想如果权重初始化为0,即

W [ 1 ] = [ 0 0 0 0 ] . W^{[1]}=\left[ \begin{matrix} 0&0\\0&0\end{matrix} \right]. W[1]=[0000].

a 1 [ 1 ] = a 2 [ 2 ] , d z 1 [ 1 ] = d z 2 [ 2 ] a_1^{[1]}=a_2^{[2]},dz_1^{[1]}=dz_2^{[2]} a1[1]=a2[2],dz1[1]=dz2[2]
因此特征值通过每一个神经元时输出值先相同,不管有多少个神经元,有多少次迭代,多个神经元仍然在计算完全相同的函数,这种情况下多个隐藏单元实在没有必要。
问题的解决方案就是随机初始化所有参数。

二、随机初始化

在这里插入图片描述
W [ 1 ] = n p . r a n d o m . r a n d n ( ( 2 , 2 ) ) × 0.01 W^{[1]}=np.random.randn((2,2))\times 0.01 W[1]=np.random.randn((2,2))×0.01

b [ 1 ] = n p . z e r o ( ( 2 , 1 ) ) b^{[1]}=np.zero((2,1)) b[1]=np.zero((2,1))

W [ 2 ] = n p . r a n d o m . r a n d n ( ( 1 , 2 ) ) × 0.01 W^{[2]}=np.random.randn((1,2))\times 0.01 W[2]=np.random.randn((1,2))×0.01

b [ 2 ] = 0 b^{[2]}=0 b[2]=0

注意:在初始化第一层权重值时,乘上0.01是希望得到一个较小的数,以防训练开始时 z , a z,a z,a值过大导致 t a n h tanh tanh梯度过小。乘上0.01这个数在我们这个浅层神经网络适用,但是不代表在深层神经网络都适用,所以在更深的网络中,我们会考虑其他值。
不管怎样,我们总是期望较小的初始化参数。

三、参数VS超参数

首先说明一下,参数和超参数是在深层神经网络的最后一课,但是这个知识点并不适合单独写成一篇笔记,并且我认为该概念放在前面讲解有利于大家区分之后的一些概念,所以我把参数和超参数的说明放在这一篇笔记(参数随机初始化)的末尾。

在之前的学习中,没有区分参数与超参数这两个概念,我将 w , b , α w,b,\alpha w,b,α这样的变量或常量统一称作参数。但事实上是有区别的, w , b w,b w,b称作参数是因为它们收到其他量的影响。而 α \alpha α,迭代次数,momentum,正则化参数,mini_batch这样一些量称作超参数,是因为这些量可以由我们预设值,可以根据经验去调整。
在这里插入图片描述
其实超参数的选择就是一项非常经验性的工作,通常根据已有经验,我们在一定的范围内对不同的超参数进行尝试,选择相对最好的超参数。在不同应用领域,在不同应用时代,这些超参数的选取常常会改变。对超参数的选取就是不断尝试,迭代优化这样一个过程。

写到这篇笔记时,算是到达一个里程碑了——正式结束浅层神经网络这一章。在之前的笔记中我总结了吴恩达老师课程的深度学习概论、逻辑回归算法、浅层神经网络。
学习了设立单隐层神经网络—初始化参数—正向传播计算预测值—>计算导数—>梯度下降算法—>反向传播修正参数
接下来的学习,将进入深层神经网络以及更复杂的参数调整算法。

  • 1
    点赞
  • 2
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 2
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 2
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

打赏作者

Mr.zwX

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

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

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

打赏作者

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

抵扣说明:

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

余额充值