【发布时间】:2020-09-02 10:31:58
【问题描述】:
我正在尝试教图像分类模型从图像中定义数字特征。我确信 SparseCategoricalCrossentropy 损失函数对我不起作用,至于训练我需要惩罚大差异而不是小差异。理想情况下,我想使用均方误差损失函数。
我使用 TensorFlow 教程准备模型 - https://www.tensorflow.org/tutorials/images/classification。
类名对我来说是数字,我尝试了以下选项:
- ['00', '01', '02', '03', '04', '05', '06', '07', '08', '09', '10', '11 ', '12']
- ['0', '1', '2', '3', '4', '5', '6', '7', '8', '9', '10', '11 ', '12']
我对教程(数据集除外)所做的唯一更改是将 SparseCategoricalCrossentropy 损失函数交换为“mean_squared_error”。
但是损失函数显然对我不起作用。它返回的值会随着训练而变小,但准确率永远不会超过 5%,甚至会随着损失值变小而下降。结果也没有意义。数据很好,我可以使用 SparseCategoricalCrossentropy 损失函数轻松达到 95% 的准确率。我错过了什么?
更新:我认为我真正需要的是一种在 TensorFlow 中使用标有数字的图像来定义回归问题的方法。
【问题讨论】:
-
我看到了。看来,我不需要分类损失。那我需要什么?是否可以在图像模型上使用回归损失?
-
“图像模型”是什么意思?损失由您尝试解决的问题类型定义;如果是分类问题,则不能使用MSE或其他适合回归的损失。
-
我认为我需要一种在 TensorFlow 中使用标有数字的图像来定义回归问题的方法。
-
这样,“9”和“2”之间的误差将大于“9”和“8”之间的误差。如果这是你想要的,听起来确实像一个回归问题。
标签: python tensorflow machine-learning computer-vision