【文献阅读】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∣γ,H∼DP(γ,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,G0∼DP(α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}) θji∣Gj∼Gj,xji∣θji∼F(θ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 ϕk∼H
    顾客(实例 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,i−1,α0,G0∼t=1∑mj.i−1+α0njtδψjt+i−1+α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} i−1+α0njt分配到已有桌子,或以概率 α 0 i − 1 + α 0 \frac{\alpha _0}{i-1+\alpha _0} i−1+α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,...,ψj−1,γ,H∼k=1∑Km..+γ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..+γm⋅k选择已有菜品,或以概率 γ m . . . + γ \frac{\gamma}{m...+\gamma} m...+γγ生成新菜品 ϕ K + 1 ∼ H \phi _{K+1}\sim H ϕK+1∼H

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) Gj∼DP(α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}) xji∼F(θ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) G0∼DP(γ,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 ϕk∼H,每个菜品参数从 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∣γ,H∼DP(γ,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,G0∼DP(α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∣/(J−1)∣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 J−1是已知类数量。

图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.首先对参数进行初始化

python 复制代码
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.然后进行共聚类

python 复制代码
 - 将训练集和测试集合并为输入数据: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)

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

作用:

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

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

4.预测

python 复制代码
7. 对新实例 x_new 进行分类:
   a. 将 x_new 加入测试集组,重新运行共聚类(仅更新局部分配)。
   b. 根据分配结果:
      if x_new 的子类属于某个已知类 j 的子类 s:
          标记为类 j
      else:
          标记为未知类,并记录新子类参数
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={xji∣kjt=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文章的一个主要特点是不需要设置阈值,判决是未知类还是已知类。

相关推荐
车载诊断技术5 小时前
人工智能AI在汽车设计领域的应用探索
数据库·人工智能·网络协议·架构·汽车·是诊断功能配置的核心
AuGuSt_816 小时前
【深度学习】Hopfield网络:模拟联想记忆
人工智能·深度学习
jndingxin6 小时前
OpenCV计算摄影学(6)高动态范围成像(HDR imaging)
人工智能·opencv·计算机视觉
没事偷着乐琅7 小时前
人工智能 pytorch篇
人工智能·pytorch·python
邪恶的贝利亚7 小时前
Pytorch常用函数
人工智能·pytorch·python
Ironben7 小时前
看好 MCP,但用不了 Claude,所以做了一款 MCP 客户端
人工智能·claude·mcp
佛州小李哥7 小时前
构建逻辑思维链(CoT)为金融AI消除幻觉(保险赔付篇)
人工智能·科技·ai·金融·云计算·aws·亚马逊云科技
xilu08 小时前
MCP与RAG:增强大型语言模型的两种路径
人工智能·llm·mcp
阿正的梦工坊8 小时前
PyTorch 中的 nn.ModuleList 是什么?与普通列表有啥区别?
人工智能·pytorch·python