在深度学习中Loss出现Nan的可能原因有哪些?
也许这个问题太笼统,但是谁能大致解释下导致卷积神经网络发散的原因呢?
问题细节:
我正在使用Tensorflow的iris_training模型以及一些我自己的数据,老是出现以下报错:
ERROR:tensorflow:Model diverged with loss = NaN.
Traceback...
tensorflow.contrib.learn.python.learn.monitors.NanLossDuringTrainingError: NaN loss during training.
Traceback问题源于以下行:
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")
我尝试过调整优化器,将学习率设置为零,并且不使用优化器,然并卵。
最佳回答
常见的导致模型发散(Nan问题)原因:
学习率太高。损失是否开始增加然后发散到无穷大。
我对DNNClassifier不熟悉,但是我猜想它使用了分类交叉熵代价函数。这涉及获取预测的对数,该对数随着预测接近零而