当前位置: 首页 > news >正文

【文献阅读】Collective Decision for Open Set Recognition

基本信息

文献名称:Collective Decision for Open Set Recognition
出版期刊:IEEE TRANSACTIONS ON KNOWLEDGE AND DATA ENGINEERING
发表日期:04 March 2020
作者:Chuanxing Geng and Songcan Chen

摘要

在开集识别(OSR)中,几乎所有现有的方法都是专门为识别单个实例而设计的,即使这些实例是集体地成批出现的。识别者在决策中要么拒绝它们,要么使用经验设定的阈值将它们归类到某个已知的类。因此,决策阈值起着关键作用。然而,其选择往往依赖于已知类的知识,不可避免地会因缺乏未知类的可用信息而带来风险。另一方面,一个更现实的OSR系统不应该仅仅依赖于拒绝决策,而应该更进一步,特别是在发现拒绝实例中隐藏的未知类方面,而现有的OSR方法没有特别注意。提出了一种新的集体/批量决策策略,扩展了已有的OSR算法,并考虑了测试实例之间的相关性,实现了新类的发现.通过对层次狄利克雷过程(HDP)的改进,提出了一种基于集体决策的OSR框架(CD-OSR)。由于HDP的存在,我们的CD-OSR不需要定义判决阈值,可以同时实现开集识别和新类发现。最后,在基准数据集上的实验验证了CDOSR算法的有效性。

传统OSR方法的共同局限

阈值依赖:
分类边界依赖经验设定的阈值,缺乏对未知类分布的适应能力。
孤立决策:
逐个处理测试实例,忽略批次数据中的相关性信息。
无法发现新类:
仅能拒绝未知类,需额外步骤(如人工标注或后处理)才能发现新类。
静态模型:
训练后模型固定,无法动态适应新出现的类别。

COLLECTIVE DECISION FOR OPEN SET RECOGNITION(CD-OSR)

大概介绍

如前所述,当前现有的OSR方法是专门为识别单个实例而设计的,即使这些实例都是成批到达的。因此,决策中的识别器要么拒绝它们,要么使用预先设置的阈值将它们分类到某个已知的类实例中,其中这样的决策阈值起着关键作用。然而,它的选择通常是基于已知类的知识,不可避免地会产生风险,因为没有可用的信息从未知类。另一方面,一个更现实的OSR系统不应该仅仅停留在拒绝决策上,而应该更进一步,特别是在发现拒绝实例中隐藏的未知类方面。遗憾的是,现有的OSR方法没有给予太多关注。

为了克服这些局限性,我们引入了一种新的集体决策策略OSR问题的目的是扩展现有的开集识别新的类发现。具体地说,一个集体决策为基础的OSR框架(CD-OSR)提出了略有修改HDP。由于HDP的特性,我们的CD-OSR不需要定义决策阈值,可以自动为测试中的未知类预留空间,自然导致新的类发现功能。有趣的是,这也使得它能够同时处理OSR和新类发现。此外,对测试实例进行批量处理,使得CD-OSR考虑了现有方法明显忽略的实例之间的相关性。请注意,CD-OSR实际上可以处理批实例和单个实例。

接下来,我们首先简要回顾HDP,它广泛用于通过在组之间共享混合成分来对多组数据进行联合聚类。在HDP中,常用的术语是“组”或“组件”。然而,我们在这里适应HDP与轻微的修改OSR问题。

分层狄利克雷过程(HDP)的原理与公式推导

1.HDP的生成模型

HDP是一种层次化的贝叶斯非参数模型,用于建模多个组(groups)之间的共享结构。其核心思想是通过两个层次的Dirichlet过程(DP)实现组间子类的共享:
x j i x_{ji} xji的含义是观测数据,从参数 θ j i \theta _{ji} θji对应的分布 F ( θ j i ) F(\theta_{ji}) F(θji)中采样,然后,HDP框架完成如下:
G 0 G_0 G0是全局基分布(Global Base Distribution),由Dirichlet过程(DP)生成,参数为浓度参数 γ \gamma γ和基分布 H H H
G 0 ∣ γ , H ∼ D P ( γ , H ) G_0\mid \gamma ,H\sim \mathrm{DP(}\gamma ,H) G0γ,HDP(γ,H)
其作用是所有组(如不同类别)共享的全局子类分布。 G 0 G_0 G0是所有组中子类的“母版菜单”。

G j G_j Gj是组内分布,每个组 j j j的分布 G j G_j Gj由另一个Dirichlet过程生成,参数为浓度参数 α 0 \alpha_0 α0和基分布 G 0 G_0 G0
G j ∣ α 0 , G 0 ∼ D P ( α 0 , G 0 ) G_j\mid \alpha _0,G_0\sim \mathrm{DP(}\alpha _0,G_0) Gjα0,G0DP(α0,G0)
G j G_j Gj决定了组 j j j中子类的分布。 G j G_j Gj可以看做是从 G 0 G_0 G0中“继承”子类,但允许组内子类的个性化调整。

实例生成:
j j j中的实例 x j i x_{ji} xji的参数 θ j i \theta_{ji} θji G j G_j Gj中采样,数据 x j i x_{ji} xji由分布 F ( θ j i ) F(\theta_{ji}) F(θji)生成
θ j i ∣ G j ∼ G j , x j i ∣ θ j i ∼ F ( θ j i ) \theta _{ji}\mid G_j\sim G_j,\quad x_{ji}\mid \theta _{ji}\sim F(\theta _{ji}) θjiGjGj,xjiθjiF(θji)
下图是其图示结构
在这里插入图片描述

在这里插入图片描述

2. 中国餐馆特许经营Chinese Restaurant Franchise(CRF)

CRF实际上是在中国餐馆流程(CRP)的基础上扩展的,允许多个餐馆共享一套菜肴。
HDP的生成过程可以通过CRF直观解释:

  • 餐馆(组):每个组对应一个餐馆 j j j
  • 桌子(子类):每个餐馆中的桌子对应组内的子类 t j i t_{ji} tji
  • 菜品(全局子类参数):所有餐馆共享一个全局菜单,菜品对应全局子类的参数 ϕ k ∼ H \phi _k\sim H ϕkH
    顾客(实例 x j i x_{ji} xji)进入餐馆 j j j,选择一个桌子 t j i t_{ji} tji,桌子上提供菜品 ϕ k j t \phi _{kjt} ϕkjt。若桌子是新创建的,则从全局菜单中选择新菜品。

3.条件分布的推导

组内子类分布:
通过积分掉 G j G_j Gj G 0 G_0 G0,可以得到实例分配的条件分布:
θ j i ∣ θ j 1 , . . . , θ j , i − 1 , α 0 , G 0 ∼ ∑ t = 1 m j . n j t i − 1 + α 0 δ ψ j t + α 0 i − 1 + α 0 G 0 \theta _{ji}\mid \theta _{j1},...,\theta _{j,i-1},\alpha _0,G_0\sim \sum_{t=1}^{m_j.}{\frac{n_{jt}}{i-1+\alpha _0}\delta _{\psi _{jt}}}+\frac{\alpha _0}{i-1+\alpha _0}G_0 θjiθj1,...,θj,i1,α0,G0t=1mj.i1+α0njtδψjt+i1+α0α0G0
其中 n j t n_{jt} njt是组 j j j中桌子 t t t的顾客数, ψ j t \psi _{jt} ψjt是桌子的参数。
公式含义:实例 x j t x_{jt} xjt以概率 n j t i − 1 + α 0 \frac{njt}{i-1+\alpha _0} i1+α0njt分配到已有桌子,或以概率 α 0 i − 1 + α 0 \frac{\alpha _0}{i-1+\alpha _0} i1+α0α0创建新桌子。
全局子类分布:
ψ j t ∣ ψ 11 , . . . , ψ j − 1 , γ , H ∼ ∑ k = 1 K m . k m . . + γ δ ϕ k + γ m . . + γ H \psi _{jt}\mid \psi _{11},...,\psi _{j-1},\gamma ,H\sim \sum_{k=1}^K{\frac{m_{.k}}{m_{..}+\gamma}\delta _{\phi _k}}+\frac{\gamma}{m_{..}+\gamma}H ψjtψ11,...,ψj1,γ,Hk=1Km..+γm.kδϕk+m..+γγH

其中 m . k m_{.k} m.k是所有组中分配到菜品 ϕ k \phi _k ϕk的桌子数, m . . = ∑ k m . k m..=\sum_k{m._k} m..=km.k δ ϕ k \delta_{\phi _k} δϕk表示 ϕ k \phi _k ϕk处的狄拉克测度。
其表达的含义是,新桌子以概率 m ⋅ k m . . + γ \frac{m\cdot k}{m..+\gamma} m..+γmk选择已有菜品,或以概率 γ m . . . + γ \frac{\gamma}{m...+\gamma} m...+γγ生成新菜品 ϕ K + 1 ∼ H \phi _{K+1}\sim H ϕK+1H

Gibbs Sampling

在CD-OSR框架中,公式(10)和(11)是Gibbs采样过程的核心
在这里插入图片描述

论文中公式(10)的物理意义
在这里插入图片描述
物理意义:
分配到已有桌子:
概率与当前桌子的“人气”(顾客数 n j t n_{jt} njt)和生成该实例的似然成正比。
举例:若桌子 t t t上已有许多相似实例(高 n j t n_{jt} njt和高似然),新实例更可能加入该桌子。

(10)的第2行的公式表达的是,等号右边第一项是新的餐桌,点已有顾客点过的菜的概率之和。第二项是该新的餐桌点一道新的菜的概率。

公式(11)的物理意义
在这里插入图片描述

在这里插入图片描述
物理意义:
选择已有菜品:
概率与全局中该菜品的“流行度”(被选次数 m . k m_{.k} m.k)和生成数据的似然成正比。
举例:若菜品 k k k已被多个组使用(高 m . k m_{.k} m.k),新桌子更可能选择它。
在实际应用中:
在这里插入图片描述
由于上述分层狄利克雷过程(HDP)的性质适合我们的问题,我们在这里调整HDP略有修改,以解决OSR问题。因此,一个集体决策为基础的OSR框架(CD-OSR)的建议作为一个初步的解决方案,对集体决策的开集识别。具体地,CD-OSR如下工作。

中国餐馆特许经营(CRF)模型与HDP符号的对应关系

(1) 餐馆(Restaurant) ↔ 组(Group)

  • 每个餐馆对应HDP中的一个组(Group),例如一个已知类(如“猫”)或测试集。
  • j j j的分布 G j ∼ D P ( α 0 , G 0 ) G_j\sim \mathrm{DP(}\alpha _0,G_0) GjDP(α0,G0)

(2) 顾客(Customer) ↔ 实例 x j i x_{ji} xji

  • 顾客是进入餐馆的个体,对应数据实例 x j i x_{ji} xji(组 j j j中的第 i i i个实例)。
  • x j i ∼ F ( θ j i ) x_{ji}\sim F(\theta _{ji}) xjiF(θji),其中 θ j i \theta_{ji} θji是子参数。

(3) 桌子(Table) ↔ 子类分配 t j i t_{ji} tji

  • 桌子是组内的子类(Component),实例 x j i x_{ji} xji​被分配到某个桌子 t j i t_{ji} tji,对应子类归属。
  • θ j i = ψ j t j i \theta _{ji}=\psi _{jt_{ji}} θji=ψjtji(桌子参数)。

(4) 菜品(Dish) ↔ 全局子类参数 ϕ k \phi_k ϕk

  • 菜品是全局共享的子类参数 ϕ k \phi_k ϕk ,所有餐馆的桌子从同一份菜单选择菜品。
  • ψ j t = ϕ k j t \psi _{jt}=\phi _{kjt} ψjt=ϕkjt(桌子 t t t的菜品参数)。

(5) 菜单(Menu) ↔ 全局基分布 G 0 G_0 G0

  • 菜单是所有餐馆共享的全局子类分布 G 0 G_0 G0 ,由基分布 H H H生成。
  • G 0 ∼ D P ( γ , H ) G_0\sim \mathrm{DP(}\gamma ,H) G0DP(γ,H),菜单中的菜品是 ϕ 1 , ϕ 2 , . . . . \phi_1,\phi_2,.... ϕ1ϕ2,....

(6) 厨师长(Chef) ↔ 基分布 H H H

  • 厨师长决定菜品的生成规则,对应基分布 H H H ,由基分布 H H H(如高斯-威沙特分布)。
  • ϕ k ∼ H \phi _k\sim H ϕkH,每个菜品参数从 H H H中采样。

在这里插入图片描述

CD-OSR的实现与公式推导

CD-OSR原理

CD-OSR通过改进的HDP框架,将开放集识别转化为动态聚类问题,具体原理如下:

层次化子类共享

全局基分布 G 0 G_0 G0
所有组(已知类和测试集)共享一个全局子类分布 G 0 G_0 G0,由Dirichlet过程生成:
G 0 ∣ γ , H ∼ D P ( γ , H ) G_0\mid \gamma ,H\sim \mathrm{DP(}\gamma ,H) G0γ,HDP(γ,H)
其中 H H H是基分布(如高斯-威沙特分布), γ \gamma γ控制全局子类数量。
全局子类数量 G j G_j Gj
每个组 j j j已知类或测试集)的子类分布由 G 0 G_0 G0继承
G j ∣ α 0 , G 0 ∼ D P ( α 0 , G 0 ) G_j\mid \alpha _0,G_0\sim \mathrm{DP(}\alpha _0,G_0) Gjα0,G0DP(α0,G0)
α 0 \alpha_0 α0控制组内子类的生成频率,值越大,组内子类越多。

动态子类分配

通过Gibbs采样迭代更新以下变量:
1.测试实例的桌子分配 t j i t_{ji} tji:
决定实例属于已有子类还是新子类(公式10)。
2.桌子的菜品分配 k j t k_{jt} kjt
决定子类继承全局参数还是生成新参数(公式11)。

无需阈值的开放集识别

已知类判定:若测试实例分配到已知类的子类(对应某个 ϕ k \phi _k ϕk),则分类为已知类。
新类发现:若分配到新子类(从 H H H生成 ϕ K + 1 \phi _{K+1} ϕK+1),则标记为未知类,并扩展全局子类集合。

1.CD-OSR的核心

CD-OSR将HDP适配到开放集识别场景,主要修改如下:
组定义:每个已知类是一个组,测试集整体作为另一个组。
子类过滤:剔除占比过低的子类,防止过拟合。
分类规则:测试实例分配到已知类的子类则分类为已知类,否则标记为未知类。

2. 训练阶段

1.数据划分:
训练集分为拟合集 F \mathcal{F} F和验证集 V \mathcal{V} V,用于参数调优。
训练集:
已知类别的实例集合,每个类别单独分组。 X t r = { X 1 , X 2 , . . . , X J } X_{\mathrm{tr}}=\{X_1,X_2,...,X_J\} Xtr={X1,X2,...,XJ},其中 X j X_j Xj表示第 j j j个已知类的实例集。
测试集:
待分类的实例集合,可能包含已知类和未知类。
X t s = { x 1 , x 2 , . . . , x N } X_{\mathrm{ts}}=\{x_1,x_2,...,x_N\} Xts={x1,x2,...,xN}
超参数:
HDP的浓度参数: α 0 \alpha_0 α0(控制组内子类数量), γ \gamma γ(控制全局子类共享程度)。
基分布 H H H的参数(如高斯-威沙特分布的 μ 0 , Σ 0 , β , ν ) \mu _0,\Sigma _0,\beta ,\nu) μ0,Σ0,β,ν)
子类过滤阈值 ϵ \epsilon ϵ(如 ϵ = 0.01 \epsilon=0.01 ϵ=0.01,过滤占比过低的子类)

2.参数初始化:
基分布 H H H设为高斯-威沙特分布:
H = N ( μ ∣ μ 0 , ( β Σ ) − 1 ) ⋅ W ( Σ ∣ Σ 0 , ν ) H=\mathcal{N} (\mu \mid \mu _0,(\beta \Sigma )^{-1})\cdot \mathcal{W} (\Sigma \mid \Sigma _0,\nu ) H=N(μμ0,(βΣ)1)W(ΣΣ0,ν)

3.测试阶段

1.测试集作为新组输入
输入形式:
测试集整体被视为一个新的组(称为“Testing-set组”),与训练集的已知类组(如Class 1-4)共同参与共聚类。
作用:
将测试实例的分布与已知类分布对齐,利用全局子类共享机制实现分类。
2.共聚类(Co-clustering)
过程:
使用Gibbs采样对测试集和已知类组进行联合建模,动态分配实例到子类。具体操作包括:
更新桌子分配(公式10):测试实例可能分配到已知类的子类(已有桌子)或创建新子类(新桌子)。
更新菜品分配(公式11):新子类继承全局参数或生成新参数。
输出:
测试实例的子类归属,以及全局子类参数的更新。
3.分类决策
规则:
若测试实例分配到已知类组的子类,则分类为该已知类。
若分配到测试集组的新子类(从基分布 H H H生成),则标记为未知类
4.新类发现
统计新子类数目:
测试集中新子类的数量反映潜在未知类的存在。例如,若测试集组有5个新子类,可能对应1个未知类(假设每个类有多个子类)。
估计公式:
Δ = ⌈ ∣ S u n k n o w n ∣ ∣ S k n o w n ∣ / ( J − 1 ) ⌉ \left. \Delta =\left. \lceil \frac{|S_{\mathrm{unknown}}|}{|S_{\mathrm{known}}|/(J-1)} \right. \right. \rceil Δ=Sknown∣/(J1)Sunknown
其中 ∣ S u n k n o w n ∣ |S_{\mathrm{unknown}}| Sunknown是测试集的新子类数, ∣ S k n o w n ∣ |S_{\mathrm{known}}| Sknown是已知类的子类总数, J − 1 J-1 J1是已知类数量。
在这里插入图片描述
图2直观展示了CD-OSR框架在测试阶段的共聚类过程,具体元素如下:

组(Groups):
已知类组:如Class 1-4,每个类作为独立组,内部包含若干子类(如Class 1有子类A、B)。
测试集组(Testing-set):作为新组参与聚类,其子类可能部分与已知类共享,部分为新生成。
子类(Subclasses):
已知子类(Known subclasses):用实心圆表示,颜色与已知类对应(如Class 1为蓝色)。
新子类(New subclasses):用不同颜色的圆表示,属于测试集组独有的子类。
共享关系:
无连线的新子类:表示测试集中的未知类(如子类D仅属于Testing-set)。
分类结果示例:
测试实例分配到子类A(属于Class 1)→ 分类为已知类。
测试实例分配到子类D(新子类)→ 标记为未知类。

CD-OSR的伪代码

在这里插入图片描述
1.首先对参数进行初始化

1. 输入训练集 X_tr 和测试集 X_ts,按实验协议划分(如Section 4.1.1)。
2. 按类别标签将训练集 X_tr 划分为组:X_tr = [X_tr1, X_tr2, ...](每个组对应一个已知类)。
3. 初始化参数:- 基分布 H 的参数:μ0(训练集均值),Σ0(缩放后的协方差矩阵,公式13),β=1,ν通过网格搜索选择。- 浓度参数:α0 ~ Gamma(10,1),γ ~ Gamma(100,1)- 迭代次数 T = 30,初始子类数 InS = 30- 子类过滤阈值 ε = 0.01

2.然后进行共聚类

 - 将训练集和测试集合并为输入数据:Data = [X_tr; X_ts]- 调用HDP软件包(如Teh的代码)进行共聚类:Results = HDP(Data, α0, γ, H, InS, T)其中:- HDP框架对每个组(已知类和测试集)建模。- 迭代T次Gibbs采样,更新子类分配。

Gibbs采样迭代:

  • 对每个实例 x j i x_{ji} xji,按公式(10)更新桌子分配 t j i t_{ji} tji
  • 对每个新桌子 t n e w t^{new} tnew,按公式(11)更新菜品分配。
  • 更新全局子类参数 ϕ k \phi _{k} ϕk (如高斯分布的均值和协方差)。

作用:
训练集和测试集共同参与聚类,动态分配子类。

测试集的新子类反映潜在未知类。
3.确定子类(Determining the Subclasses)

6. 后处理共聚类结果:for 每个组 j 的每个子类 s:计算子类 s 在组 j 中的占比 ρ = (子类s的实例数) / (组j的总实例数)if ρ < ε:移除该子类 s

作用:
过滤掉占比过低的子类(如噪声或离群点),提升模型鲁棒性。

例如,若某子类仅占0.5%的实例(ε=0.01),则被剔除。
4.预测

7. 对新实例 x_new 进行分类:a. 将 x_new 加入测试集组,重新运行共聚类(仅更新局部分配)。b. 根据分配结果:if x_new 的子类属于某个已知类 j 的子类 s:标记为类 jelse:标记为未知类,并记录新子类参数
8. 估计未知类数目 Δ(公式14):Δ = ceil(|S_unknown| / (|S_known| / (J-1)))

作用:

新实例的分类基于其子类归属,无需人工设定阈值。

新子类的数量通过全局子类比例估计未知类数目。
在这里插入图片描述

实验

1.数据预处理与输入

(1) 图像数据转换为特征向量

输入数据:原始图像(如USPS手写数字、COIL20物体图像)。
预处理步骤:

  1. 尺寸统一:例如将图像缩放到固定尺寸(如32×32像素)。

  2. 展平为向量:将图像矩阵转换为1D向量(如32×32 → 1024维)。

  3. PCA降维:通过主成分分析(PCA)将高维向量降维(如1024维 → 69维)。

  4. 标准化:对特征向量进行归一化(如Z-score标准化)。

(2) 按类别分组

已知类分组:每个已知类别的训练数据单独作为一个组(Group)。
示例:
类别“猫”的所有训练样本 → 组1。
类别“狗”的所有训练样本 → 组2。
输入格式:每个组的数据以特征向量矩阵形式输入(行=样本数,列=特征维度)。

2.HDP模型的初始化

(1) 全局基分布 G 0 G_0 G0的参数设置

在这里插入图片描述
公式(13)如下所示
在这里插入图片描述
(13)右侧的第二项表示已知类别的公共合并协方差矩阵

(2) 组内分布 G j G_j Gj的初始化

初始子类数:每个组初始化为30个子类(InS=30)。
参数采样:
每个子类的参数 ϕ k \phi_k ϕk从基分布 H H H中采样。
例如,组1(猫)的初始子类参数可能为 ϕ 1 , ϕ 2 , . . . . . ϕ 30 \phi_1,\phi_2,.....\phi_{30} ϕ1,ϕ2,.....ϕ30

3. Gibbs采样迭代过程

(1) 子类分配更新(公式10)

在这里插入图片描述

在这里插入图片描述

(2) 全局子类参数更新(公式11)

在这里插入图片描述

目标:更新每个子类的参数 ϕ k \phi_k ϕk
步骤:

  1. 统计分配结果:计算每个子类 k k k的的所有样本集合 S k = { x j i ∣ k j t = k } \boldsymbol{S}_{\boldsymbol{k}}=\{\boldsymbol{x}_{\boldsymbol{ji}}\mid \boldsymbol{k}_{\boldsymbol{jt}}=\boldsymbol{k}\} Sk={xjikjt=k}
  2. 更新参数:根据 S k S_k Sk的值和协方差,结合基分布 H H H的的先验,计算后验分布。

向量传递逻辑:
所有分配到子类 k k k的样本向量 x i j x_{ij} xij被汇总,用于更新该子类的均值和协方差。
这一步骤通过贝叶斯更新,将局部数据信息与全局先验结合。

4.后处理:子类过滤

剔除低占比子类:
训练结束后,对每个组的子类进行筛选,剔除占比(样本数比例)低于阈值 ε = 0.01 \varepsilon=0.01 ε=0.01的子类。
示例:若组1(猫)的某个子类仅包含0.5%的样本(如1张图片),则被剔除。

结论

本文的主要贡献是提出了一种集体/分批决策的开集识别策略,旨在将现有的开集识别扩展到新的类发现中,同时考虑测试实例之间的相关性。为了实现这一目标,我们将HDP稍作修改以解决OSR问题,从而为OSR中的集体决策提供了初步解决方案。需要强调的是,我们的CD-OSR并不过分依赖于训练数据,并且能够随着数据的变化而实现自适应变化。更准确地说,CD-OSR可以为测试中出现的未知类提供显式建模。这自然会导致新的类发现功能,即使它只是在子类级别。此外,与现有方法从判别模型的角度处理OSR问题不同,CD-OSR实际上是从生成模型的角度来解决这一问题的,这是由于使用了HDP。最后,在一组标准数据集上的实验结果表明了该学习框架的有效性.

此外,应该注意的是,建模未知类只在我们的CD-OSR的测试阶段进行,而在训练阶段没有利用未知类的可用知识。这在某种程度上似乎带有懒惰的味道。因此,克服这一局限性将是未来一个很有前途的研究方向。此外,由于CDOSR目前没有充分利用来自已知类别标签的判别信息,因此更有效地嵌入此类信息也值得进一步探索。此外,用可扩展的确定性推理技术取代Gibbs采样器也是未来工作的一个很有前途的方向。总之,CDOSR只是目前对开集识别向集体决策发展的一个概念性证明。因此,更有效的OSR集体决策方法值得在未来的工作中进一步探索。

后续思考

相比于传统的HDP,本文章改进并非对HDP/CRF的数学框架进行颠覆,而是针对开放集识别的需求,调整模型的应用逻辑和训练策略:

1.问题驱动:将HDP从无监督聚类任务转向开放集分类任务。

2.结构适配:通过组间隔离、子类过滤、动态扩展等策略,使模型能区分已知类与未知类。

3.目标融合:联合实现分类(已知类)与发现(未知类),而非单纯聚类。

这种改进类似于“用已有的乐高积木搭建一座新房子”——积木本身不变,但组合方式和目标用途完全不同。其相比于其他OSR文章的一个主要特点是不需要设置阈值,判决是未知类还是已知类。

相关文章:

【文献阅读】Collective Decision for Open Set Recognition

基本信息 文献名称&#xff1a;Collective Decision for Open Set Recognition 出版期刊&#xff1a;IEEE TRANSACTIONS ON KNOWLEDGE AND DATA ENGINEERING 发表日期&#xff1a;04 March 2020 作者&#xff1a;Chuanxing Geng and Songcan Chen 摘要 在开集识别&#xff0…...

Gorm中的First()、Create()、Update()、Delete()的错误处理

一. First() result : tx.Model(&models.Attachment{}).Where("home ? AND home_id ?", attachment.Home, attachment.HomeID).First(&existingAttachment)如果没有查询到数据&#xff0c;result.Error的值是什么&#xff1f; 在使用 GORM&#xff08;…...

【心得】一文梳理高频面试题 HTTP 1.0/HTTP 1.1/HTTP 2.0/HTTP 3.0的区别并附加记忆方法

面试时很容易遇到的一个问题—— HTTP 1.0/HTTP 1.1/HTTP 2.0/HTTP 3.0的区别&#xff0c;其实这四个版本的发展实际上是一环扣一环的&#xff0c;是逐步完善的&#xff0c;本文希望帮助读者梳理清楚各个版本之间的区别&#xff0c;并且给出当前各个版本的应用情况&#xff0c;…...

Navicat连接虚拟机数据库详细教程

Navicat连接虚拟机数据库详细教程 以Windows主机 上的navicat 连接ubuntu虚拟机为例 确认虚拟机ip地址和主机ip地址 主机地址查询 cmd输入ipconfig 登录mysql 创建用户 CREATE USER newuserlocalhost IDENTIFIED BY password; CREATE USER newuser% IDENTIFIED BY passwor…...

委托者模式(掌握设计模式的核心之一)

目录 问题&#xff1a; 举例&#xff1a; 总结&#xff1a;核心就是利用Java中的多态来完成注入。 问题&#xff1a; 今天刷面经&#xff0c;刷到装饰者模式&#xff0c;又进阶的发现委托者模式&#xff0c;发现还是不理解&#xff0c;特此记录。 举例&#xff1a; ​老板​…...

DeepSeek-R1 论文笔记:通过强化学习提升大语言模型的推理能力

论文标题&#xff1a;DeepSeek-R1: Incentivizing Reasoning Capability in LLMs via Reinforcement Learning 作者团队&#xff1a;DeepSeek-AI 发表时间&#xff1a;2025 前置知识 & 术语 模型蒸馏 语言模型蒸馏的目标是将大型教师模型的知识&#xff08;如语义理解、上…...

实现Unity shader扭曲效果

实现思路 1、扭曲材质赋于面片 2、抓取当前一帧的图片内容 3、获取屏幕坐标 4、利用屏幕坐标对抓取的图片采样 5、再采样张扰动贴图做扭曲 Shader "Unlit/NewUnlitShader" {Properties {_DistortTex ("扰动贴图 (RGB)", 2D) "bump" {}_Di…...

七星棋牌 6 端 200 子游戏全开源修复版源码(乐豆 + 防沉迷 + 比赛场 + 控制)

七星棋牌源码 是一款运营级的棋牌产品&#xff0c;覆盖 湖南、湖北、山西、江苏、贵州 等 6 大省区&#xff0c;支持 安卓、iOS 双端&#xff0c;并且 全开源。这个版本是 修复优化后的二开版本&#xff0c;新增了 乐豆系统、比赛场模式、防沉迷机制、AI 智能控制 等功能&#…...

C++STL---<limits>

C <limits> 头文件&#xff1a; <limits> 头文件是 C 标准库中用于获取各种数据类型的数值范围、精度等信息的工具。它通过模板类 std::numeric_limits 提供了对基本数据类型&#xff08;如 int、float、double 等&#xff09;的详细属性查询功能。通过 std::nume…...

一键安装Mysql部署脚本之Linux在线安装Mysql,脚本化自动化执行服务器部署(附执行脚本下载)

相关链接 一键安装Redis部署脚本之Linux在线安装Redis一键安装Mysql部署脚本之Linux在线安装Mysql一键安装JAVA部署脚本之Linux在线安装JDK一键安装Nginx部署脚本之Linux在线安装NginxNavicat最新版(17)详细安装教程Xshell客户端免费版无需注册XFtp客户端免费版无需注册 前言…...

ES、OAS、ERP、电子政务、企业信息化(高软35)

系列文章目录 ES、OAS、ERP、电子政务、企业信息化 文章目录 系列文章目录前言一、专家系统&#xff08;ES&#xff09;二、办公自动化系统&#xff08;OAS&#xff09;三、企业资源规划&#xff08;ERP&#xff09;四、典型信息系统架构模型1.政府信息化和电子政务2.企业信息…...

文生图开源模型发展史(2014-2025年)

文生图开源模型的发展历程是一段充满技术革新、社区生态繁荣与商业化竞争的多维度演进史。 一、技术萌芽期&#xff08;2014-2020年&#xff09; 核心突破 2014年&#xff1a;GAN&#xff08;生成对抗网络&#xff09;诞生&#xff0c;首次实现数据驱动式图像生成&#xff0…...

OA办公系统自动渗透测试过程

目录 一、下载环境源码 二、部署环境 三、测试 XSS漏洞 SQL注入 文件上传漏洞 一、下载环境源码 OA源码打包地址: https://download.csdn.net/download/weixin_43650289/90434502?spm=1001.2014.3001.5503 二、部署环境...

Python标准库【os】5 文件和目录操作2

文章目录 8 文件和目录操作8.7 浏览目录下的内容8.8 查看文件或目录的信息8.9 文件状态修改文件标志位文件权限文件所属用户和组其它 8.10 浏览Windows的驱动器、卷、挂载点8.11 系统配置信息 os模块提供了各种操作系统接口。包括环境变量、进程管理、进程调度、文件操作等方面…...

[代码规范]接口设计规范

一个优雅的接口要如何设计&#xff1f;有哪些设计规范可以遵循&#xff1f; 下面抛砖引玉&#xff0c;分享一些规范。 目录 1、RESTful API 设计最佳实践 2、Shneiderman 的 8 条黄金法则 3、Nielsen 的 10 条启发式规则 1、RESTful API 设计最佳实践 一共18条&#xff0c;参考…...

什么是最终一致性,它对后端系统的意义是什么

最终一致性(Eventual Consistency)是分布式系统中的一种一致性模型。与传统的强一致性模型不同,最终一致性并不要求系统在任何时刻都保持一致,而是保证在足够的时间后,所有节点的数据最终会达到一致的状态。换句话说,系统允许短时间内出现数据的不一致性,但最终会通过某…...

Unity学习笔记之——ugui的性能优化

在Unity中UI优化的核心问题就是重绘和批处理之间的平衡 一、Canvas优化要点 1.优化原因&#xff1a; &#xff08;1&#xff09;Unity为了性能优化&#xff0c;会合并Canvas下的所有元素&#xff1b; &#xff08;2&#xff09;如果把所有面板放到一个Canvas下&#xff0c;会…...

Python接口自动化中操作Excel文件的技术方法

在Python接口自动化测试中&#xff0c;操作Excel文件是一项常见且关键的技术需求。Excel作为数据存储和数据分析的重要工具&#xff0c;在自动化测试中通常用于存储测试用例、测试数据以及测试结果。通过Python操作Excel&#xff0c;可以大大提高测试的效率和灵活性。以下是一些…...

[Windows] 免费电脑控制手机软件 极限投屏_正式版_3.0.1 (QtScrcpy作者开发)

[Windows] 极限投屏_正式版 链接&#xff1a;https://pan.xunlei.com/s/VOKJf8Z1u5z-cHcTsRpSd89tA1?pwdu5ub# 新增功能(Future)&#xff1a; 支持安卓14(Supports Android 14)提高投屏成功率(Improve the success rate of mirror)加快投屏速度(Accelerate screen mirrorin…...

游戏引擎学习第131天

仓库:https://gitee.com/mrxiao_com/2d_game_3 运行游戏并识别我们的小问题 今天的工作重点是对游戏引擎进行架构优化&#xff0c;特别是针对渲染和多线程的部分。目前&#xff0c;我们的目标是让地面块在独立线程上进行渲染&#xff0c;以提高性能。在此过程中&#xff0c;我…...

Chapter03-Authentication vulnerabilities

文章目录 1. 身份验证简介1.1 What is authentication1.2 difference between authentication and authorization1.3 身份验证机制失效的原因1.4 身份验证机制失效的影响 2. 基于登录功能的漏洞2.1 密码爆破2.2 用户名枚举2.3 有缺陷的暴力破解防护2.3.1 如果用户登录尝试失败次…...

Vue记事本应用实现教程

文章目录 1. 项目介绍2. 开发环境准备3. 设计应用界面4. 创建Vue实例和数据模型5. 实现记事本功能5.1 添加新记事项5.2 删除记事项5.3 清空所有记事 6. 添加样式7. 功能扩展&#xff1a;显示创建时间8. 功能扩展&#xff1a;记事项搜索9. 完整代码10. Vue知识点解析10.1 数据绑…...

基于大模型的 UI 自动化系统

基于大模型的 UI 自动化系统 下面是一个完整的 Python 系统,利用大模型实现智能 UI 自动化,结合计算机视觉和自然语言处理技术,实现"看屏操作"的能力。 系统架构设计 #mermaid-svg-2gn2GRvh5WCP2ktF {font-family:"trebuchet ms",verdana,arial,sans-…...

《Qt C++ 与 OpenCV:解锁视频播放程序设计的奥秘》

引言:探索视频播放程序设计之旅 在当今数字化时代,多媒体应用已渗透到我们生活的方方面面,从日常的视频娱乐到专业的视频监控、视频会议系统,视频播放程序作为多媒体应用的核心组成部分,扮演着至关重要的角色。无论是在个人电脑、移动设备还是智能电视等平台上,用户都期望…...

云启出海,智联未来|阿里云网络「企业出海」系列客户沙龙上海站圆满落地

借阿里云中企出海大会的东风&#xff0c;以**「云启出海&#xff0c;智联未来&#xff5c;打造安全可靠的出海云网络引擎」为主题的阿里云企业出海客户沙龙云网络&安全专场于5.28日下午在上海顺利举办&#xff0c;现场吸引了来自携程、小红书、米哈游、哔哩哔哩、波克城市、…...

Day131 | 灵神 | 回溯算法 | 子集型 子集

Day131 | 灵神 | 回溯算法 | 子集型 子集 78.子集 78. 子集 - 力扣&#xff08;LeetCode&#xff09; 思路&#xff1a; 笔者写过很多次这道题了&#xff0c;不想写题解了&#xff0c;大家看灵神讲解吧 回溯算法套路①子集型回溯【基础算法精讲 14】_哔哩哔哩_bilibili 完…...

【SQL学习笔记1】增删改查+多表连接全解析(内附SQL免费在线练习工具)

可以使用Sqliteviz这个网站免费编写sql语句&#xff0c;它能够让用户直接在浏览器内练习SQL的语法&#xff0c;不需要安装任何软件。 链接如下&#xff1a; sqliteviz 注意&#xff1a; 在转写SQL语法时&#xff0c;关键字之间有一个特定的顺序&#xff0c;这个顺序会影响到…...

苍穹外卖--缓存菜品

1.问题说明 用户端小程序展示的菜品数据都是通过查询数据库获得&#xff0c;如果用户端访问量比较大&#xff0c;数据库访问压力随之增大 2.实现思路 通过Redis来缓存菜品数据&#xff0c;减少数据库查询操作。 缓存逻辑分析&#xff1a; ①每个分类下的菜品保持一份缓存数据…...

[10-3]软件I2C读写MPU6050 江协科技学习笔记(16个知识点)

1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16...

让AI看见世界:MCP协议与服务器的工作原理

让AI看见世界&#xff1a;MCP协议与服务器的工作原理 MCP&#xff08;Model Context Protocol&#xff09;是一种创新的通信协议&#xff0c;旨在让大型语言模型能够安全、高效地与外部资源进行交互。在AI技术快速发展的今天&#xff0c;MCP正成为连接AI与现实世界的重要桥梁。…...