zoukankan      html  css  js  c++  java
  • ubuntu之路——day15.1 只用python的numpy在底层检验参数初始化对模型的影响

    首先感谢这位博主整理的Andrew Ng的deeplearning.ai的相关作业:https://blog.csdn.net/u013733326/article/details/79827273

    开一个我的github传送门,可以看到代码。

    https://github.com/VVV-LHY/deeplearning.ai/tree/master/improveNeuralNetwork/InitializeRegularize

    以下是今天要分类的目标点集:

    在初始化w权重矩阵为0的情况下可以看到,迭代14000次的时候,成本没有变化,也就是说模型没有学习新的参数

    在随机初始化权重w,并且将随机值*10倍放缩进行初始化的时候:可以看到cost的变化十分陡峭,且在14000次迭代后成本仅仅在0.38左右波动,说明大的初始化权重会减慢优化速度

    在初始化权重w为Inhibitory gradient anomaly抑梯度异常时:可以看到同样的迭代次数下,其cost变化趋于平滑且收敛速度更快

    来看一下三种初始化w的方式在迭代次数一致的情况下(时间花费相同)带来的预测效果:

    zeros:

    randomX10:

    IGA:

    总结一下
    对于参数初始化而言:
    1.不同的初始化方法在同样的训练时间内会影响模型的训练效果
    2.随机初始化可以打破神经网络的对称性,使不同隐藏层的单元学习不同的参数,全为0的初始化会使每个单元保持一致,丧失多隐含层的效果
    3.初始化时参数不宜过大,最好保持在1附近
    4.IGA即抑梯度异常搭配relu激活函数起到了不错的效果

  • 相关阅读:
    3.12
    3.11
    安卓开发
    安卓开发
    安卓开发
    安卓开发
    安卓开发
    安卓开发
    安卓开发
    安卓开发
  • 原文地址:https://www.cnblogs.com/NWNU-LHY/p/11237742.html
Copyright © 2011-2022 走看看