如何在特定层 Keras 上进行范围归一化

Posted

技术标签:

【中文标题】如何在特定层 Keras 上进行范围归一化【英文标题】:How to do Range Normalization on a specific Layer Keras 【发布时间】:2020-10-04 00:11:54 【问题描述】:

下面是我用于多类分类的模型

model = Sequential()
model.add(Dense(6, input_dim = input_dim , activation = 'relu'))
model.add(Dense(3, activation = 'softmax'))
adam = optimizers.Adam(learning_rate=0.001)
model.compile(loss = 'categorical_crossentropy' , optimizer = 'adam' , metrics = ['accuracy'] )

我想Range Normalize第一层产生的输出,即具有relu激活的层,介于0和1之间。 我已经检查了 Keras 中可用的标准化层,但据我所知,它们产生的输出均值为 0,标准差为 1。

我不确定在 Keras 中对图层执行自定义规范化的过程是什么。

【问题讨论】:

您可以使用 sigmoid 激活将您的输出推送到 [0,1] 而不是 relu 【参考方案1】:

我建议使用 sigmoid 函数,因为这会将输出映射到 [0,1],而 relu 映射在 (0, infinity] 之间

【讨论】:

以上是关于如何在特定层 Keras 上进行范围归一化的主要内容,如果未能解决你的问题,请参考以下文章

如何在 Keras 回归模型中包含特征的归一化?

keras层的归一化输出

python中3D矩阵的归一化(LSTM/Keras输入)

批量归一化而不是输入归一化

数据标准化和数据归一化有啥区别吗?

批归一化层和演化归一化激活层有啥用