首页 > 解决方案 > 了解批量归一化参数模型输出

问题描述

我有以下型号 在此处输入图像描述

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

在此处输入图像描述

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

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

感谢您的时间和指导。

标签: kerasbatch-normalization

解决方案


Batch Normalization 的参数数量是指定归一化轴上输入维数的四倍(默认为最后一个)。这对应于 gamma 和 beta 参数,以及移动均值和移动方差。您可以在keras 的源代码中确认这一点。

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


推荐阅读