2017-10-15 77 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

如果你只是想检查你的实现,所以你使用的数据应该不重要 –