首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >将神经网络的输出限制在0到1之间的简单方法?

将神经网络的输出限制在0到1之间的简单方法?
EN

Stack Overflow用户
提问于 2020-05-29 03:18:56
回答 2查看 779关注 0票数 1

因此,我正在编写一个GAN神经网络,如果小于0,我希望将网络的输出设置为0,如果大于1,则将网络的输出设置为1,否则保持不变。我对tensorflow非常陌生,但我不知道有任何tensorflow函数或激活可以做到这一点而不会有不必要的副作用。所以我做了我的损失函数,所以它计算损失,就像输出被钳位一样,代码如下:

代码语言:javascript
复制
def discriminator_loss(real_output, fake_output):
    real_output_clipped = min(max(real_output.numpy()[0], 
    0), 1)
    fake_output_clipped = min(max(fake_output.numpy()[0], 
    0), 1)

    real_clipped_tensor = 
    tf.Variable([[real_output_clipped]], dtype = "float32")
    fake_clipped_tensor = 
    tf.Variable([[fake_output_clipped]], dtype = "float32")

    real_loss = cross_entropy(tf.ones_like(real_output), 
    real_clipped_tensor)
    fake_loss = cross_entropy(tf.zeros_like(fake_output), 
    fake_clipped_tensor)

    total_loss = real_loss + fake_loss
    return total_loss

但是我得到了这个错误:

代码语言:javascript
复制
ValueError: No gradients provided for any variable: ['dense_50/kernel:0', 'dense_50/bias:0', 'dense_51/kernel:0', 'dense_51/bias:0', 'dense_52/kernel:0', 'dense_52/bias:0', 'dense_53/kernel:0', 'dense_53/bias:0'].

有没有人知道更好的方法,或者修复这个错误的方法?

谢谢!

EN

回答 2

Stack Overflow用户

回答已采纳

发布于 2020-05-29 03:27:23

可以应用Keras中的ReLU层作为最终层并设定max_value=1.0。例如:

代码语言:javascript
复制
model = tf.keras.Sequential()
model.add(tf.keras.layers.Dense(32, input_shape=(16,)))
model.add(tf.keras.layers.Dense(32))
model.add(tf.keras.layers.ReLU(max_value=1.0))

你可以在这里阅读更多信息:https://www.tensorflow.org/api_docs/python/tf/keras/layers/ReLU

票数 2
EN

Stack Overflow用户

发布于 2020-05-29 05:06:47

TF可能不知道如何根据此损失更新您的网络权重。交叉熵的输入是直接从numpy数组分配的张量(变量),而不是连接到实际的网络输出。

如果您希望对保留在图中的张量执行操作,并且(希望)是可微的,请使用可用的TF操作。这里描述了一个"clip_by_value“操作:https://www.tensorflow.org/versions/r1.15/api_docs/python/tf/clip_by_value

例如,real_output_clipped = tf.clip_by_value(real_output, clip_value_min=0, clip_value_max=1)

票数 1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/62072838

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档