【问题标题】:Neural Network using Softmax with strange outputs使用具有奇怪输出的 Softmax 的神经网络
【发布时间】:2018-03-16 11:54:52
【问题描述】:

我正在尝试使用 sigmoid 激活隐藏层和具有 3 个类的 softmax 输出层来构建 tensorflow 神经网络。输出大多非常糟糕,我相信这是因为我在模型构建中犯了一个错误,因为我用 Matlab 构建了一个类似的模型,结果很好。数据被标准化。这些结果如下所示:

[9.2164397e-01 1.6932052e-03 7.6662831e-02]
[3.4100169e-01 2.2419590e-01 4.3480241e-01]
[2.3466848e-06 1.3276369e-04 9.9986482e-01]
[6.5199631e-01 3.4800139e-01 2.3596617e-06]
[9.9879754e-01 9.0103465e-05 1.1123115e-03]
[6.5749985e-01 2.8860433e-02 3.1363973e-01]

我的 nn 看起来像这样:

def multilayer_perceptron(x, weights, biases, keep_prob):
    layer_1 = tf.add(tf.matmul(x, weights['h1']), biases['b1'])
    layer_1 = tf.nn.sigmoid(layer_1)
    layer_1 = tf.nn.dropout(layer_1, keep_prob)
    out_layer = tf.nn.softmax(tf.add(tf.matmul(layer_1,weights['out']),biases['out']))
    return out_layer

具有以下成本函数:

cost = tf.reduce_mean(tf.nn.softmax_cross_entropy_with_logits_v2(logits=predictions, labels=y))

我越来越相信我的实现是不正确的,我正在做一些非常愚蠢的事情。在 Google 上花费数小时并查看其他示例并没有帮助。

更新:当我更改成本函数(如下所示)时,我得到了不错的结果。不过这感觉不对。

cost = tf.losses.mean_squared_error(predictions=predictions, labels=y)

【问题讨论】:

    标签: python tensorflow machine-learning neural-network softmax


    【解决方案1】:

    您的成本函数在您的模型输出之上实现了一个 softmax,该模型输出也具有一个 softmax。您应该删除损失函数中的那个。除此之外,您的代码看起来还不错:您确定:您的两个模型的拓扑(辍学率,每层神经元的层数)相同吗? 你确定你没有发誓你的课程顺序吗?两次训练后的损失和验证损失指标如何?

    【讨论】:

    • 现在将查看所有内容,但从输出中删除 softmax 函数会产生以下结果:[-0.05443001 0.14635548 0.4816277 ] [ 0.06796718 -0.2497113 0.2590661 ] [-0.54969156 -0.89928554]span。
    • 是的,这是有道理的。因为现在您没有用于预测的 softmax 输出。好像没有 softmax 的 tensorflow nn api 没有交叉熵。但是你可以使用 tf.keras.losses 的损失
    • “这应该不会导致任何问题” - 这会导致问题
    • 是的,你是对的。忘记了除了缩放输出之外,softmax 还做了一些事情。谢谢我会编辑它。你知道为什么 tf.nn 在损失函数中使用 softmax。对我来说似乎很不方便。
    • 原因与导数有关:如果您将它的导数计算为一个块(softmax + loss),它会简化为 y - p 否则您会得到 p/x,因此计算量更大不稳定。请参阅postimg.org/image/hdd018si3postimg.org/image/hdd019nd7
    猜你喜欢
    • 2018-02-28
    • 1970-01-01
    • 2014-04-13
    • 2016-08-03
    • 2019-05-13
    • 2012-10-13
    • 2020-03-15
    • 2018-05-02
    • 2018-01-20
    相关资源
    最近更新 更多