【开放集检测OSR】开放集检测和闭集检测的区别和联系:从模型角度进行理解
定义一个分类器:
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=1N??X×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 Dtest?closed?={(xi?,yi?)}i=1M??X×C
- 模型最终会返回一个概率分布: p ( y ∣ x ) p(y|x) p(y∣x)
分类器为每个输入示例x返回一个关于已知类别的概率分布 p ( y ∣ x ) p(y|x) p(y∣x),意味着对于给定的输入示例x,分类器会生成一个概率分布,其中每个类别y都对应一个概率值。这个概率值表示分类器对于该输入示例属于每个已知类别的置信度或可能性。
解析
具体而言,对于每个已知类别 c ∈ C c ∈ C c∈C,分类器会计算条件概率 p ( y = c ∣ x ) p(y=c|x) p(y=c∣x),表示在给定输入示例x的条件下,该示例属于类别c的概率。这样,对于每个输入示例x,分类器会为每个已知类别c生成一个概率值,最终形成一个概率分布 p ( y ∣ x ) p(y|x) p(y∣x),其中概率值的总和为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) Dtest?open?={(xi?,yi?)}i=1M′??X×(C?U)
-
返回的概率分布: p ( y ∣ x , y ? C ) p(y|x,y\subset C) p(y∣x,y?C) over known classes (理解:输入的图像为已知类的概率)
-
返回一个分数score: S ( y ∈ C ∣ x ) S(y\in C|x) S(y∈C∣x) 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(y∈C∣x),表示在给定输入示例x的条件下,该示例属于任何已知类别的概率。这样,模型可以返回一个关于已知类别的概率分布 p ( y ∣ x , y ∈ C ) p(y|x, y ∈ C) p(y∣x,y∈C),用于表示模型对于每个已知类别的置信度。
-
同时,模型还会返回一个分数 S ( y ∈ C ∣ x ) S(y ∈ C|x) S(y∈C∣x),该分数用于指示测试样本是否属于任何已知类别。 这个分数可以是一个连续值或二进制值,表示测试样本属于已知类别的程度。较高的分数表明测试样本更有可能属于已知类别,而较低的分数则表明测试样本可能属于未见类别 U U U。
3 关于概率分布 p ( y ∣ x ) 和 p ( y ∣ x , y ∈ C ) p(y|x)和p(y|x, y ∈ C) p(y∣x)和p(y∣x,y∈C)
关系:
- 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。
本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。 如若内容造成侵权/违法违规/事实不符,请联系我的编程经验分享网邮箱:veading@qq.com进行投诉反馈,一经查实,立即删除!