tensorflow - 限制CNN中不相关图像的概率百分比
问题描述
我正在使用 keras 库训练一个包含五个类的 cnn 模型。使用 model.predict 函数我得到类的预测百分比。我的问题是对于不属于这些类且完全不相关的图像,预测类仍然根据类预测百分比。
我该如何预防?我如何识别它是无关紧要的?
解决方案
我假设您在最后一层使用 softmax 激活来生成每个类的概率。根据定义,softmax 激活的输出之和必须加起来为 1。因此,对于当前设置,神经网络不可能说图像不属于您的任何类别。
有两种可能的方法可以解决这个问题:
添加另一个代表“其他”或“未知”对象的类(所以你有 6 个类)。
将另一个输出添加到您的神经网络(或训练一个完全独立的神经网络),对图像是否属于 5 个类别之一进行二元分类。这样,如果您的辅助输出表明图像不在 5 类中,您可以忽略 softmax 输出。
在这两种情况下,您都需要使用不属于您的 5 个类别的图像来扩充您的数据集。
推荐阅读
- javascript - 如何在 HTML 中显示 JavaScript 函数的结果?
- android - Pjsip Android:视频通话 - 窗口预览大小问题(SurfaceView 用于显示视频帧)
- php - addClause 总是返回空集合
- selenium - 在自动化测试框架上登录 Google 日历
- android - Android 深层链接在我链接的应用程序中打开,而不是启动我的应用程序的单独实例
- vue-cli - 成功编译后如何更改 vue-cli 消息(“App running at ...”)?
- sql - 如何在数据模型、ERD 或数据库模式中指定这种形式的追随者/类似数据?
- maven - 如何从远程存储库中获取父 POM
- php - 如何修复 Laravel 中的“php artisan migrate”错误
- java - 变量 a 可能没有在冒泡排序程序中初始化