2017-10-15 102 views
2

我已經使用Tensorflow實現了神經網絡。在實施和培訓期間,我發現了幾個不那麼微不足道的錯誤。 示例:在訓練過程中,我對不同的步驟/時代具有相同的小批量損失,但準確度不同。神經網絡 - 如何測試它是否正確實施?

現在神經網絡似乎已經準備就緒並能正常工作。我還沒有設法訓練它,但我正在努力。

無論如何,我想檢查一下,我沒有在那裏做任何計算錯誤。我正在考慮爲「假」分類問題生成一些人造數據,並說出4個特徵。分類應該在分類輸出和4個特徵之間有一個非常明確的人類可理解的依賴關係。這個想法是試圖訓練它的神經網絡,看看它是如何執行的。

您認爲如何?

回答

0

斯坦福大學的c231n有一些這方面的一般技巧,如梯度檢查。

如果您只是在學習神經網絡,爲什麼不嘗試在某些已知數據上運行實現?許多課程提供了具有指定超參數的模型的錯誤和損失曲線,因此您可以檢查您的實現的行爲與正確的實現有很大不同。

+0

我已經通過Tensorflow實現了NN。所以漸變實際上是一行代碼:tf.reduce_mean(tf.nn.weighted_cross_entropy_with_logits(logits = logits,targets = Y,pos_weight = 0.1)) – user3489820

+0

關於這些數據,你是對的。將盡力找到..但不幸的是大部分的基本例子都是關於使用softmax進行圖像識別的。 但是,謝謝你的提示。 – user3489820

+0

如果你只是想檢查你的實現,所以你使用的數據應該不重要 –