正交初始化(orthogonal initialize)

正交初始化:用以解决深度网络下的梯度消失、梯度爆炸问题,在RNN中经常使用的参数初始化方法。https://blog.csdn.net/shenxiaolu1984/article/details/71508892实现代码:def orthogonal(shape): flat_shape = (shape[0], np.prod(shape[1:])) a ...
摘要由CSDN通过智能技术生成

正交初始化:

用以解决深度网络下的梯度消失、梯度爆炸问题,在RNN中经常使用的参数初始化方法。

https://blog.csdn.net/shenxiaolu1984/article/details/71508892

实现代码:

def orthogonal(shape):

    flat_shape = (shape[0], np.prod(shape[1:]))

    a = np.random.normal(0.0, 1.0, flat_shape)

    u, _, v = np.linalg.svd(a, full_matrices=False)

    q = u if u.shape == flat_shape else v

    return q.reshape(shape)

 

SVD分解:

奇异值分解是一个适用于任意矩阵的分解方法,奇异值分解可以理解为将一个比较复杂的矩阵用更小更简单的3个子矩阵的相乘来表示,这3个小矩阵描述了大矩阵重要的特性。

分解形式:A=U\Sigma V^T

其中若

  • 2
    点赞
  • 13
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值