backpropagation

    0熱度

    1回答

    在反向傳播實現中,展開(將theta作爲一維向量)看起來是一個規範,然後將它們作爲參數傳遞給成本函數。 爲了說明(我asuume 3層NN情況下): def NNCostFunction(unrolled_thetas, input_layer_size, hidden_layer_size, num_labels, X, y): # **ROLL AGAIN** unrolled_t

    2熱度

    2回答

    我試圖用python從零開始實現一個簡單的神經網絡。這個神經網絡只有兩個神經元,任務是將輸入與輸出進行匹配。 (即x = 0→輸出= 0,x = 1→輸出= 1) 我已經使用了偏導數並嘗試使用梯度上升來最大化負損失。 (完整代碼如下所示)即使經過超過10000次迭代的訓練,輸出也不夠好。 (我想也許這種損失可能會停留在本地的最大值)。誰能幫我弄清楚我的實現有什麼問題嗎? import random

    0熱度

    1回答

    我有一個隱藏層輸出數字A的神經網絡,然後我使用了一個使用A生成一個向量的函數。問題是TF可以在反向傳播時正確處理這個問題嗎?我曾在TF中嘗試過,它可以輸出一些東西,但我仍然不確定bp是否正常工作。 順便說一句,我用於生成從一個數矢量的功能是(V是從先前層的輸出,d是一個值I進料在,G是常數): def Generator(d, V): dmn = [] for k in ran

    0熱度

    1回答

    看着this代碼 for (i <- (L - 2) to (0, -1)) { layerModels(i + 1).computePrevDelta(deltas(i + 1), outputs(i + 1), deltas(i)) } 我想知道爲什麼我們通過outputs(i+1),而不是outputs(i)在上述代碼段中。據我瞭解,這只是需要S形活化層,其中有一個衍生物f'

    3熱度

    1回答

    下面的網絡代碼工作正常,但速度太慢。 This site意味着網絡在學習率爲0.2的100個時期後應該達到99%的準確率,而即使在1900年以後,我的網絡也從未超過97%。 Epoch 0, Inputs [0 0], Outputs [-0.83054376], Targets [0] Epoch 100, Inputs [0 1], Outputs [ 0.72563824], Target

    1熱度

    1回答

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

    1熱度

    1回答

    我從一個簡單的線性迴歸式網絡開始,使用Tensorflow編寫,主要基於其MNIST初學者教程。有7個輸入變量和1個輸出變量,都是連續的。與這個模型中,輸出均爲左右徘徊1,這是有意義的,因爲目標輸出設定在很大程度上是由的一,本值是占主導地位的由測試數據生成輸出樣本: [ 0.95340264] [ 0.94097006] [ 0.96644485] [ 0.95954728] [ 0.93

    2熱度

    1回答

    這是一個可能的重複Tensorflow: How to get gradients per instance in a batch?。無論如何,我都會問這個問題,因爲沒有一個令人滿意的答案,這裏的目標有點不同。 我有一個非常大的網絡,我可以放在我的GPU上,但是我可以提供的最大批處理大小是32.任何比這更大的圖像會導致GPU耗盡內存。我想要使​​用更大的批次以獲得更精確的漸變近似值。 爲了具體說明

    4熱度

    2回答

    所以,我使用的是邁克爾·尼爾森的機器學習本書作爲我的代碼引用(這基本上是相同的):http://neuralnetworksanddeeplearning.com/chap1.html 有問題的代碼: def backpropagate(self, image, image_value) : # declare two new numpy arrays for the update

    0熱度

    1回答

    我有一個深的模型來訓練CIFAR-10。培訓可以在CPU中正常工作。但是,當我使用GPU支持時,它會導致某些批次的梯度變爲NaN(我使用tf.check_numerics進行了檢查),並且它隨機發生,但足夠早。我相信這個問題與我的GPU有關。 我的問題是:如果至少有一個梯度具有NaN並強制模型進入下一批,那麼是否有更新? 編輯:或許我應該詳細說明我的問題。 這是我如何申請梯度: with tf.c