Joh*_*len 8 convolution deep-learning tensorflow tensorboard cross-entropy
我有来自四个不同国家的40k图像数据集.图像包含各种主题:室外场景,城市场景,菜单等.我想使用深度学习来对图像进行地理标记.
我开始使用一个由3个conv-> relu-> pool层组成的小型网络,然后又添加了3个以加深网络,因为学习任务并不简单.
实际上,这种损失开始变得平滑并且几百步下降,但随后开始逐渐上升.
对于我这样增加的损失有什么可能的解释?
我的初始学习率设定得很低:1e-6,但我也试过1e-3 | 4 | 5.我对网络设计进行了理智检查,检查了两个具有类别不同主题的类的小型数据集,并且损失会根据需要不断下降.列车精度徘徊在~40%
我通常会说你的学习率太高了,但看起来你已经排除了这一点。您应该检查进出图层的数字的大小。您可以使用 tf.Print 来执行此操作。也许您不知何故不小心输入了黑色图像,或者您可以找到数字疯狂的图层。
另外你如何计算交叉熵?您可能希望在日志内添加一个小的 epsilon,因为当其输入接近零时,它的值将变为无穷大。或者更好地使用tf.nn.sparse_softmax_cross_entropy_with_logits(...)为您处理数值稳定性的函数。
由于交叉熵的成本如此之高,听起来网络输出几乎全为零(或接近零的值)。由于您没有发布任何代码,我无法说出原因。我认为您可能只是无意中将成本函数计算中的某些内容归零。
| 归档时间: |
|
| 查看次数: |
13270 次 |
| 最近记录: |