gpt4 book ai didi

keras - 如何设置批量归一化层的权重?

转载 作者:行者123 更新时间:2023-12-01 01:52:59 25 4
gpt4 key购买 nike

如何设置 Keras 批量归一化层的权重?

我对文档有点困惑

weights:初始化权重。 2 个 Numpy 数组的列表,具有形状:[(input_shape,), (input_shape,)] 注意这个列表的顺序是 [gamma, beta, mean, std]

我们是否需要全部四个 [gamma、beta、mean、std]?有没有办法只使用 [gamma, beta] 来设置权重?

最佳答案

是的,您需要所有四个值。回想一下批量标准化的作用。它的目标是标准化(即均值 = 0 和标准差 = 1)进入每一层的输入。为此,您需要 (mean, std) .因此,可以将归一化激活视为执行线性变换的子网络的输入:

y = gamma*x_norm + beta
(gamma, beta)非常重要,因为它们补充了 (mean,std)(gamma, beta) 的意义上说帮助从规范化的激活中恢复原始激活。如果您不这样做或在不考虑其他参数的情况下更改任何一个参数,则您可能会更改激活的语义含义。这些原始激活现在可以与您的下一层一起处理。对所有层重复此过程。

编辑:

另一方面,我认为值得尝试首先计算大量图像的均值和标准差,然后将其作为均值和标准差的输入。请注意,您正在计算均值和标准差的图像与您的训练数据来自相同的分布。我认为这应该可以工作,因为批量标准化通常有两种计算平均值的模式,一种是在批次上维护的运行平均值,另一种是全局平均值(至少在 Caffe 中,参见 here)。

关于keras - 如何设置批量归一化层的权重?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/42793792/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com