2017-10-14 78 views
1

這是從的tensorflow例子mnist_softmax.py之一。在簡單的單層神經網絡中用零初始化參數後,我如何獲得92%的準確度?

即使梯度是非零,它們必須是相同的,並且所有對應於10類10個重量矢量應該完全相同,並且產生相同的輸出logits並因此相同的概率。我認爲這是唯一可能的情況是,在使用tf.argmax()計算精確度時,如果出現關係,它的輸出是不明確的,我們很幸運,結果達到92%的準確率。但之後我在訓練完成後檢查了y的值,並給出完全不同的輸出,表明所有類的權向量不相同。有人可以解釋這可能嗎?

回答

0

雖然最好將參數初始化爲小隨機數以打破對稱性並可能加速學習,但如果將權重初始化爲零,則不一定意味着您將爲所有類獲得相同的概率。

的原因是因爲cross_entropy功能的權重,投入和正確的類標籤的功能。因此,對於每個輸出「神經元」,梯度都會有所不同,具體取決於正確的類別標籤,這將打破對稱性。