keras极限输出最小值最大值

时间:2019-01-30 08:16:13

标签: keras range output keras-layer boundary

我的问题很简单。

我如何使keras输出受到边界(最小和最大)的限制?

有人建议我制作一个自定义激活函数,以将输出转换为最小值和最大值。我希望它是我的最后选择。

我认为带有min_max_norm的Dense层上的kernel_constraint和bias_constraint可以工作,但事实证明是行不通的。

1 个答案:

答案 0 :(得分:1)

如果您可以牺牲激活函数的线性,那么这很容易,您可以使用Sigmoid在0和1之间取值,然后简单地重新缩放输出,您将需要解决一些方程式以找到重新缩放参数,格式为

y_in_range = (y_pred + addConst)*multConst

经过一点数学运算,您会发现addConst = min/(max-min)multConst = (max-min)

但是请记住,您要放松最终激活层的线性度,如果要使其线性化,则必须制作整个函数,我知道这也是一种自定义激活,但是我相信这是最接近的开始使用内置的keras函数。