【开放集检测OSR】开放集检测和闭集检测的区别和联系:从模型角度进行理解

news/2024/7/21 5:30:42 标签: 机器学习, 人工智能, 算法, 图像处理

定义一个分类器:

D t r a i n = { ( x i , y i ) } i = 1 N ⊂ X × C D_{train} = \{(x_i, y_i)\}^N _{i=1} ⊂ X × C Dtrain={(xi,yi)}i=1NX×C

  • X:输入空间
  • ( x i , y i ) (x_i, y_i) (xi,yi): 输入的图像x以及其对象的类别标签y
  • C :已知类的集合

1 For closed-set 闭集检测

测试时:用于测试模型性能的图像也都属于已知类别 C C C

D t e s t − c l o s e d = { ( x i , y i ) } i = 1 M ⊂ X × C D_{test-closed} = \{(x_i, y_i)\}^M _{i=1} ⊂ X × C Dtestclosed={(xi,yi)}i=1MX×C

  • 模型最终会返回一个概率分布: p ( y ∣ x ) p(y|x) p(yx)

分类器为每个输入示例x返回一个关于已知类别的概率分布 p ( y ∣ x ) p(y|x) p(yx),意味着对于给定的输入示例x,分类器会生成一个概率分布,其中每个类别y都对应一个概率值。这个概率值表示分类器对于该输入示例属于每个已知类别的置信度或可能性。

解析

具体而言,对于每个已知类别 c ∈ C c ∈ C cC,分类器会计算条件概率 p ( y = c ∣ x ) p(y=c|x) p(y=cx),表示在给定输入示例x的条件下,该示例属于类别c的概率。这样,对于每个输入示例x,分类器会为每个已知类别c生成一个概率值,最终形成一个概率分布 p ( y ∣ x ) p(y|x) p(yx),其中概率值的总和为1。

通过这个概率分布,我们可以了解分类器对于每个已知类别的相对置信度。通常情况下,预测类别会选择具有最高概率值的类别,因为它被认为是最有可能的类别。

这种概率分布的输出使我们能够获得更多关于分类器对于每个输入示例的不确定性和置信度的信息。它可以帮助我们进行后续的决策和分析,比如设置一个概率阈值来确定分类结果或者进行不确定性建模。

2 For open-set 开放集检测

测试时:用于测试模型性能的图像不仅仅属于已知类别 C C C,还可能属于位置类别 U U U

D t e s t − o p e n = { ( x i , y i ) } i = 1 M ′ ⊂ X × ( C ⋃ U ) D_{test-open} = \{(x_i, y_i)\}^{M'} _{i=1} ⊂ X × (C \bigcup U) Dtestopen={(xi,yi)}i=1MX×(CU)

  • 返回的概率分布: p ( y ∣ x , y ⊂ C ) p(y|x,y\subset C) p(yx,yC) over known classes (理解:输入的图像为已知类的概率)

  • 返回一个分数score: S ( y ∈ C ∣ x ) S(y\in C|x) S(yCx) indicate whether or not the test sample belongs to any of the known classes.

解析

在这种情况下,模型需要处理两种情况:已知类别和未见类别。

  • 对于已知类别 C C C,模型会计算条件概率 p ( y ∈ C ∣ x ) p(y ∈ C|x) p(yCx),表示在给定输入示例x的条件下,该示例属于任何已知类别的概率。这样,模型可以返回一个关于已知类别的概率分布 p ( y ∣ x , y ∈ C ) p(y|x, y ∈ C) p(yx,yC),用于表示模型对于每个已知类别的置信度

  • 同时,模型还会返回一个分数 S ( y ∈ C ∣ x ) S(y ∈ C|x) S(yCx),该分数用于指示测试样本是否属于任何已知类别。 这个分数可以是一个连续值或二进制值,表示测试样本属于已知类别的程度。较高的分数表明测试样本更有可能属于已知类别,而较低的分数则表明测试样本可能属于未见类别 U U U

3 关于概率分布 p ( y ∣ x ) 和 p ( y ∣ x , y ∈ C ) p(y|x)和p(y|x, y ∈ C) p(yx)p(yx,yC)

关系:

  • p(y|x):表示在给定输入示例x的条件下,该示例属于类别y的概率。这是一个针对已知类别的条件概率分布,在封闭集合的情景下使用。
  • p(y|x, y ∈ C):表示在给定输入示例x的条件下,该示例属于任何已知类别y的概率。这也是一个针对已知类别的条件概率分布,但在开放集合的情景下使用。

区别:

  • 范围:概率分布p(y|x)仅考虑已知类别C,而概率分布p(y|x, y ∈ C)同时考虑已知类别C和未知类别U。
  • 输出:概率分布p(y|x)仅给出关于已知类别的概率信息,而概率分布p(y|x, y ∈ C)还会给出关于已知类别的分数信息,用于指示测试样本是否属于已知类别。
  • 用途:概率分布p(y|x)主要用于封闭集合的分类任务,而概率分布p(y|x, y ∈ C)主要用于开放集合的分类任务,可以处理未见过的类别U。

http://www.niftyadmin.cn/n/5246321.html

相关文章

ChatGPT 应用开发(一)ChatGPT OpenAI API 免代理调用方式(通过 Cloudflare 的 AI Gateway)

前言 开发 ChatGPT 应用,我觉得最前置的点就是能使用 ChatGPT API 接口。首先我自己要能成功访问,这没问题,会魔法就可以本地调用。 那用户如何调用到我的应用 API 呢,我的理解是通过用户能访问到的中转服务器向 OpenAI 发起访问…

uni-app 微信小程序之好看的ui登录页面(一)

文章目录 1. 页面效果2. 页面样式代码 更多登录ui页面 uni-app 微信小程序之好看的ui登录页面(一) uni-app 微信小程序之好看的ui登录页面(二) uni-app 微信小程序之好看的ui登录页面(三) uni-app 微信小程…

Tomcat主配置文件(server.xml)详解

前言 Tomcat主配置文件(server.xml)是Tomcat服务器的主要配置文件,文件位置在conf目录下,它包含了Tomcat的全局配置信息,包括监听端口、虚拟主机、安全配置、连接器等。 目录 1 server.xml组件类别 2 组件介绍 3 se…

MLX:苹果发布新的机器学习框架

苹果刚刚进入AI开源竞技场,悄悄发布了他们的新DL框架MLX! 它在Apple Silicon上原生运行代码,只需一个pip安装,没有其他依赖项 MLX 是 Apple 芯片上用于机器学习的阵列框架,由 Apple 机器学习研究团队为您提供。 MLX 的…

使用arcpy移除遥感影像云层

先讲思路,然后上代码: 去除云层 思路1: 如果同一地理区域的多个图像,其中一些部分有丰富的云,而另一些部分没有云,则可以将它们组合起来,以便无云的部分替代多云的部分。这种方法很简单&…

iOS(swiftui)——系统悬浮窗( 可在其他应用上显示,可实时更新内容)

因为ios系统对权限的限制是比较严格的,ios系统本身是不支持全局悬浮窗(可在其他app上显示)。在iphone14及之后的iPhone机型中提供了一个叫 灵动岛的功能,可以在手机上方可以添加一个悬浮窗显示内容并实时更新,但这个功能有很多局限性 如:需要iPhone14及之后的机型且系统…

剑指 Offer(第2版)面试题 27:二叉树的镜像

剑指 Offer(第2版)面试题 27:二叉树的镜像 剑指 Offer(第2版)面试题 27:二叉树的镜像解法1:递归 剑指 Offer(第2版)面试题 27:二叉树的镜像 题目来源&#x…

Java UDP 多人聊天室简易版

服务端 import java.io.*; import java.net.*; import java.util.ArrayList; public class Server{public static ServerSocket server_socket;public static ArrayList<Socket> socketListnew ArrayList<Socket>(); public static void main(String []args){try{…