神经网络初始化:xavier,kaiming、ortho正交初始化在CNN网络中的使用

xavier、ortho是神经网络中常用的权重初始化方法,在全连接中这两种权重初始化的方法比较好理解,但是在CNN的卷积网络中的具体实现却不好理解了。

 

 

 

 

 

在CNN网络中xavier的初始化可以参看:

【转载】 xavier,kaiming初始化中的fan_in,fan_out在卷积神经网络是什么意思

 

也就是说在CNN中avier的初始化的所用的参数取值为:

fan_in指      kernel_height x kernel_width x in_channel     。

fan_out指    kernel_height x kernel_width x out_channel   。

 

 

 

那么在CNN网络中正交初始化是如何实现的呢?

使用TensorFlow查看文档:

tf.orthogonal_initializer

 

在CNN网络中主要参看:

 

 

给出baselines强化学习算法库的orthogonal_initializer实现:

复制代码
def ortho_init(scale=1.0):
    def _ortho_init(shape, dtype, partition_info=None):
        # lasagne ortho init for tf
        shape = tuple(shape)
        if len(shape) == 2:
            flat_shape = shape
        elif len(shape) == 4:  # assumes NHWC
            flat_shape = (np.prod(shape[:-1]), shape[-1])
        else:
            raise NotImplementedError
        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  # pick the one with the correct shape
        q = q.reshape(shape)
        return (scale * q[:shape[0], :shape[1]]).astype(np.float32)

    return _ortho_init
复制代码

适配CNN网络的代码为:

elif len(shape) == 4:  # assumes NHWC
    flat_shape = (np.prod(shape[:-1]), shape[-1])

 

 

 

 

 

=================================================

 

 

补充资料:

https://blog.csdn.net/yhwangk/article/details/116280492

 

 

 

 -------------------------------------------------

 

 

初始化方法的原始论文:

https://arxiv.org/pdf/1312.6120.pdf

 

 

 

 

posted on   Angry_Panda  阅读(651)  评论(0编辑  收藏  举报

相关博文:
阅读排行:
· winform 绘制太阳,地球,月球 运作规律
· AI与.NET技术实操系列(五):向量存储与相似性搜索在 .NET 中的实现
· 超详细:普通电脑也行Windows部署deepseek R1训练数据并当服务器共享给他人
· 【硬核科普】Trae如何「偷看」你的代码?零基础破解AI编程运行原理
· 上周热点回顾(3.3-3.9)
历史上的今天:
2021-04-21 【转载】从某大学博士生上吊、喝药自杀等事件来看读博这件事
2019-04-21 暗影精灵2pro——使用一年多后电池鼓包,传说中的更新BIOS问题(惠普15ax-226tx)

导航

< 2025年3月 >
23 24 25 26 27 28 1
2 3 4 5 6 7 8
9 10 11 12 13 14 15
16 17 18 19 20 21 22
23 24 25 26 27 28 29
30 31 1 2 3 4 5

统计

点击右上角即可分享
微信分享提示