backpropagation

    0热度

    1回答

    我有一个深的模型来训练CIFAR-10。培训可以在CPU中正常工作。但是,当我使用GPU支持时,它会导致某些批次的梯度变为NaN(我使用tf.check_numerics进行了检查),并且它随机发生,但足够早。我相信这个问题与我的GPU有关。 我的问题是:如果至少有一个梯度具有NaN并强制模型进入下一批,那么是否有更新? 编辑:或许我应该详细说明我的问题。 这是我如何申请梯度: with tf.c

    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