美文网首页
深度学习中的参数初始化

深度学习中的参数初始化

作者: 娃哈哈雪碧 | 来源:发表于2017-05-24 22:53 被阅读0次

初始点能决定

1.算法是否收敛,

2.算法遭遇数值困难

3.如果能收敛,收敛的有多快。

4.以及差不多的代价的初始点具有极大的泛化误差。

重要的特性:

A.破坏对称性(具有相同激活函数的两个隐藏单元连接到相同单元,那么这些单元必须具有不同的初始参数。一旦他们具有相同的初始参数,然后应用到确定性损失和模型的确定性学习算法将一直以相同的方式更新这两个单元。即使学习算法有着对于不同单元的更新的随机性,但最好还是保持不同,这样能确保没有输入模式丢失在前向传播的零空间和梯度模式丢失在后向传播的零空间。

当采用随机初始化时,可以确定一组不相同的基函数,虽然这经常导致明显的计算代价。常用的方法:

1.采用高墒分布来初始化使得分配不同单元不同的权重。(计算量小)

下面是3个最大熵分布:

1。限制条件:取值范围是 [a,b]

则最大熵分布:U[a,b],也就是 [a,b] 上的均匀分布

2。限制条件:取值范围是 [0,∞),期望是 a

则最大熵分布:E(1/a),也就是参数是 1/a 的指数分布

3。限制条件:取值范围是 (-∞,∞),期望是 a,方差是 b

则最大熵分布:N(a,b),也就是参数是 a 和 b 的正态分布

2.使用Gram-Schmidt正交化权重矩阵使得分配的权重非常不同。(但计算量较大)!

B.更大的权重具有更强的破坏对称性的作用,有助于避免冗余单元。但太大的权重在前向传播的过程中会产生爆炸的值,对微小的扰动非常敏感,导致前向传播的过程中表现随机)另外使得激活函数产生饱和的值导致饱和单元的梯度完全消失。

相关文章

  • 深度学习中的参数初始化

    初始点能决定 1.算法是否收敛, 2.算法遭遇数值困难 3.如果能收敛,收敛的有多快。 4.以及差不多的代价的初始...

  • 图像分类

    李沐 《动手学深度学习》 第三章 读取数据 定义和初始化模型 初始化参数 也可以通过 name paramter ...

  • JavaWeb

    初始化参数 全局初始化参数 定义在web.xml中 获得全局初始化参数的方法: 初始化参数(局部变量) 在3.0之...

  • Pytorch随机种子设置及原理

    深度学习网络模型中初始的权值参数通常都是初始化成随机数,而使用梯度下降法最终得到的局部最优解对于初始位置点的选择很...

  • 【教程】Tensorflow vs PyTorch —— 自动求

    image from unsplash.com by @johnwestrock 在深度学习中,网络参数的优化是通...

  • 深度神经网络超参数调节

    在深度网络中,需要调节的参数包括学习率α,动量参数β,网络层数,隐层节点数,学习率下降幅度,mini-batch等...

  • 如何让你的Python项目变得更优雅

    yacs--Python项目配置系统 最近深度学习的项目准备上线,但是做深度学习的小伙伴都会被网络中的众多超参数弄...

  • 【DL碎片4】深度学习中的的超参数调节

    深度学习中的的超参数调节 我们平时一直都在说“调参、调参”,但实际上,不是调“参数”,而是调“超参数”。 一、参数...

  • 深度学习中的初始化方法

    在深度学习中的各种操作实际上是矩阵乘法操作,使用乘法操作就容易造成数值的消失和爆炸,就是一个非常小的数乘以一个非常...

  • 深度学习在移动端应用

    深度学习预测过程 深度学习训练过程 根据误差调解全中参数,直到收敛。 【图4】 落地方案 服务端训练 + 移动端识...

网友评论

      本文标题:深度学习中的参数初始化

      本文链接:https://www.haomeiwen.com/subject/ygaoxxtx.html