也许这个问题太笼统,但是谁能解释导致卷积神经网络发散的原因是什么?
细节:
我正在使用Tensorflow的iris_training模型处理一些自己的数据,并不断获取
错误:张量流:模型因损失= NaN而发散。
追溯…
tensorflow.contrib.learn.python.learn.monitors.NanLossDuringTrainingError:训练期间NaN丢失。
回溯源于以下行:
tf.contrib.learn.DNNClassifier(feature_columns=feature_columns,
hidden_units=[300, 300, 300],
#optimizer=tf.train.ProximalAdagradOptimizer(learning_rate=0.001, l1_regularization_strength=0.00001),
n_classes=11,
model_dir="/tmp/iris_model")
我尝试过调整优化器,将学习率设置为零,并且不使用优化器。任何对网络层,数据大小等的见解都将受到赞赏。
我见过很多东西使模型产生分歧。
学习率太高。您通常可以判断出损失是否开始增加然后发散到无穷大。
我不熟悉DNNClassifier,但我猜想它使用了分类交叉熵代价函数。这涉及获取预测的对数,该对数随着预测接近零而发散。这就是为什么人们通常在预测中添加较小的ε值以防止这种差异。我猜测DNNClassifier可能会这样做或使用tensorflow opp。可能不是问题。
可能存在其他数值稳定性问题,例如除以零,在这种情况下添加epsilon可能会有所帮助。如果在处理有限精度数时未适当简化,则导数的平方根可以发散的另一种不那么明显的方法。我再次怀疑这是DNNClassifier的问题。
您可能对输入数据有疑问。尝试调用assert not np.any(np.isnan(x))
输入数据以确保您没有引入nan。还要确保所有目标值均有效。最后,确保数据正确归一化。您可能希望像素在[-1,1]而不是[0,255]范围内。
标签必须在损失函数的域中,因此,如果使用基于对数的损失函数,则所有标签都必须是非负的(如evan pu和以下评论所指出)。
主要内容 课程列表 专项课程学习 辅助课程 论文专区 课程列表 课程 机构 参考书 Notes等其他资料 卷积神经网络视觉识别 Stanford 暂无 链接 神经网络 Tweet 暂无 链接 深度学习用于自然语言处理 Stanford 暂无 链接 自然语言处理 Speech and Language Processing 链接 专项课程学习 下述的课程都是公认的最好的在线学习资料,侧重点不同,但推
Google Cloud Platform 推出了一个 Learn TensorFlow and deep learning, without a Ph.D. 的教程,介绍了如何基于 Tensorflow 实现 CNN 和 RNN,链接在 这里。 Youtube Slide1 Slide2 Sample Code
也许这是一个过于笼统的问题,但谁能解释什么会导致卷积神经网络发散? 规格: 我正在使用Tensorflow的iris_training模型和我自己的一些数据,并不断获得 错误:张量流:模型因损失=NaN而发散。 追踪。。。 tensor flow . contrib . learn . python . learn . monitors . nanlosduring training error:
现在开始学深度学习。在这部分讲义中,我们要简单介绍神经网络,讨论一下向量化以及利用反向传播(backpropagation)来训练神经网络。 1 神经网络(Neural Networks) 我们将慢慢的从一个小问题开始一步一步的构建一个神经网络。回忆一下本课程最开始的时就见到的那个房价预测问题:给定房屋的面积,我们要预测其价格。 在之前的章节中,我们学到的方法是在数据图像中拟合一条直线。现在咱们不
深度学习的总体来讲分三层,输入层,隐藏层和输出层。如下图: 但是中间的隐藏层可以是多层,所以叫深度神经网络,中间的隐藏层可以有多种形式,就构成了各种不同的神经网络模型。这部分主要介绍各种常见的神经网络层。在熟悉这些常见的层后,一个神经网络其实就是各种不同层的组合。后边介绍主要基于keras的文档进行组织介绍。
Python 是一种通用的高级编程语言,广泛用于数据科学和生成深度学习算法。这个简短的教程介绍了 Python 及其库,如 Numpy,Scipy,Pandas,Matplotlib,像 Theano,TensorFlow,Keras 这样的框架。