gpt4 book ai didi

python - Keras - 无法通过裁剪来限制输出

转载 作者:太空宇宙 更新时间:2023-11-03 20:22:38 24 4
gpt4 key购买 nike

我一直试图通过将神经网络输出层的值限制在 [-1, 1] 范围内来限制最后一层的输出。然而,剪裁无助于限制值。有没有更有效的方法来限制输出?

def encoder(self, x_next, x, y, keep_prob):
x_con = concatenate([x_next, x, y])
enc1 = Dense(self.encoder_size[0], activation='relu')(x_con)
drop = Dropout(keep_prob)(enc1)
enc2 = Dense(self.encoder_size[1], activation='relu')(drop)
drop = Dropout(keep_prob)(enc2)
enc3 = Dense(self.encoder_size[2], activation='relu')(drop)
mu = Dense(self.latent_dim, activation='linear', name='encoder_mean')(enc3)
mu_clipped = Lambda(self.clip_val)(mu)
log_var = Dense(self.latent_dim, activation='linear', name='encoder_log_var', kernel_initializer='zeros')(enc3)
return mu_clipped, log_var

def clip_val(self, args):
mu = args
mu_clip = K.clip(mu, min_value=-1.0, max_value=1.0)
return mu_clip

我得到的输出值范围为[-7.1, 7.2]。如何限制输出层生成 [-1, 1] 范围内的值?谢谢。

最佳答案

根据您的问题,您应该考虑将网络输出的裁剪留给最后一层的激活函数:使用 tanh 激活可确保 y={-1...1}。

关于python - Keras - 无法通过裁剪来限制输出,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/58055794/

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