爲了對我的論文進行實驗並基於TF中CNN的示例,我在Tensorflow中創建了另一個小型深度神經網絡非常像給出的例子,但在1d而不是Mnist)。Tensorflow:當使用random_normal和random_uniform數據作爲權重初始值設定項時,NN不進行訓練
問題是這個TF給出的例子用tf.truncated_normal數據初始化所有的權重變量,這使得NN訓練我的數據(損失減少+準確度增加)。然而,因爲我試圖從一篇科學論文中模擬一個神經網絡,所以我不得不使用從正態分佈中取得的值來初始化卷積層的權重(並且我使用了tf.random_normal,其stddev爲0.1),而完全連接的圖層權重與統一分佈的值(我使用tf.random_uniform)。結果是非常糟糕的,因爲我認爲並感覺到損失和準確性只是在一些小數字之間振盪(準確度在8%到14%之間,損失從2.51到2.54),但既不減少也不增加。
因爲我幾乎不熟悉這個框架,並且我不太清楚框架的工作方式,所以我詢問並且有人告訴我,每次迭代時,變量(我用作初始值設定項)都在總是重新啓動(並且這是tf.truncated_normal數據不會發生的),這就是爲什麼我的這兩種初始化類型的神經元永遠不會學習。如果這是真的,可以請人告訴我,我怎麼可能讓這些值只是用作初始化,而不是重複
我的代碼可以在這裏找到:https://github.com/dialgop/small_deep_nn/blob/master/Cnn_Model_Martin.ipynb
非常感謝的人誰可以幫助me