tensorflow - 在多标签图像分类任务中,哪种损失函数会收敛得很好?
问题描述
sigmoid
我已经通过使用作为输出激活函数和binary_crossentropy
作为损失函数训练了一个多标签多类图像分类器。验证的准确度曲线显示上下波动,而几个时期的损失曲线显示奇怪(非常高)的值。
以下是具有 和 的微调(最后一个块)VGG19
模型的准确度Dropout
和损失曲线BatchNormalization
。
具有和 的微调(最后一个块)VGG19
模型的准确Dropout
度BatchNormalization
和损失曲线Data Augmentation
。
我已经用 1800 个训练图像(5 个标签)和 100 个验证图像训练了分类器。我使用的优化器是SGD((lr=0.001, momentum=0.99)
. 谁能解释为什么损失曲线在某些时期变得如此奇怪或高价值?我应该使用不同的损失函数吗?如果是,是哪一个?
解决方案
别担心——一切都很好。您的损失曲线并没有说太多,尤其是“损失曲线中的尖峰”。他们完全被允许,您的模型仍在训练中。你应该看看你的准确度曲线,我认为那个上升很正常。
推荐阅读
- android - 应用程序的键盘卡在 Galaxy s9 上
- python - matplotlib 和 seaborn 什么都不打印,但没有收到任何错误消息
- mysql - #1045 - 在 mysql azure 中,用户 .. 的访问被拒绝
- javascript - 如何在js中正确调用原型中的函数
- elixir - 在phoenix中查询时出现Ecto.Query.CastError
- android - Android Studio 按钮布局:意外重叠
- linux - 错误:EACCES:权限被拒绝 NPM Ubuntu 服务器
- c++ - C++ 函数指针传递在 vs2008 中编译,但在 vs2017 中不编译
- c++ - 对于不同的编译版本和不同的机器,std::hash 是否为相同的输入提供相同的结果?
- regex - 具有多个字段的 awk 日志 - 分开并重新排序