了解批次归一化参数模型输出

时间:2019-07-19 13:24:58

标签: keras batch-normalization

我有以下模特 enter image description here

根据上图使用keras创建模型后,我具有以下模型参数

enter image description here

我的问题是如何将批次归一化1的参数设为784。据我了解,批次归一化有两个参数,并且由于有196个过滤器,我的理解是我们应具有196 * 2 = 392,但是显示了模型输出作为784。我不明白这个值是怎么来的?要求提供有关我们如何获得此价值的直觉?

另一个问题是,我们如何计算GRU单元的批次归一化,我们获得batch_normalization 2拥有512个参数。据我了解,GRU具有三个非线性函数,分别用于更新门,关联门和计算新单元格值。所以在这里我们应该有128 * 3 = 384,但是模型输出为512。这个值是怎么来的?

感谢您的时间和指导。

1 个答案:

答案 0 :(得分:0)

“批次归一化”的参数数量是指定归一化轴(默认为最后一个)中输入维数的四倍。这对应于gamma和beta参数,以及移动平均值和移动方差。您可以在keras' source code中进行确认。

要获得784个BN参数,您需要具有784/4 = 196个元素的维度,对应于您的第一个BN层之前的层。对于GRU层,您有128个BN输入尺寸,需要128 x 4 = 512个参数。