ICI-FSL

方法阐述#

算法流程:初始化分类器->生成伪标签->ICI可信度筛选->扩充训练集->重复迭代直到收敛

符号定义#

符号含义
$C_{base}$基础类别集
$C_{novel}$新类别集
$D_{base}=(I_i,y_i),y_i\in C_{base}$基础数据集
$D_{novel}=(I_i,y_i),y_i\in C_{novel}$新数据集
$S,|S|=c\times s$- 从目标新类别数据集$D_{novel}$中采样的少量带真实标签的样本集合
- 遵循c类-m样本范式,在每个epoch中,从新类别中随机选c个类,每个类选s个标记样本组成支持集
查询集- 来自目标新类别数据集$D_{novel}$的带真实标签样本集合
- 每个epoch中,与支持集来自同一c类,每个类选q个标记样本
未标记集- 来自$D_{novel}$的无真实标签样本集
-不参与输出训练,数量远多于支持集

算法流程#

步骤详细阐述
特征提取与降维- 使用预训练于基础数据集$D_{base}$的ResNet12作为特征提取器$f(\cdot)$,提取标记样本$S$和未标记样本$U_{novel}$的特征
- 使用局部线性嵌入将特征降维至低维$d=5$
初始化分类器使用支持集$S={(x_i,y_i)}$($y_i$为真实标签)训练初始线性分类器,分类器使用简单的结构:逻辑回归/线性SVM
伪标签生成使用初始分类器生成伪标签,即 $ \hat y_i = g(f(I_u)) $
式中:
- $g(\cdot)$ 为分类器
- $I_u$ 为未标记样本
- $\hat y_i$ 为伪标签
ICI学习

ICI 可信度度量#

含附带参数的广义线性模型#

为衡量伪标签可信度,构建包含附带参数的线性模型,将特征于标签映射建模:

$$ y_i=x_i^T\beta^\star+\gamma_i^\star+\epsilon_i $$

式中,

  • $y_i$:是样本$i$的标签,可以是真实标签或伪标签
  • $x_i\in \mathbb{R}^{d}$:为模型提取特征
  • $\beta^\star\in\mathbb{R}^{d\times c}$ 系数矩阵
  • $\gamma_i^\star\in \mathbb{R}^{1\times c}$ 核心可信度指标,修正样本$i$归属某一类别的概率
    • $\Vert \gamma_i^\star\Vert_2$ 越大,样本$i$归类难度越高;正确预测样本的 $\gamma^\star$ 趋于0
  • $\epsilon_i$ 独立sub Gaussian噪声,均值为0,方差有界

为了凸显附带参数的系数性,进而区分可信样本,引入对于 $\gamma$ 项的稀疏惩罚项,优化目标为

$$\underset{\beta,\gamma}{\arg\min}\sum_{i=1}^{n}\left[\Vert y_i-x_i^T\beta-\gamma_i\Vert_2^2+\lambda R(\gamma_i)\right]$$

式中,

  • $R(\gamma_i)$ 为稀疏惩罚项

定义:

  • $H=X(X^TX)^\dagger X^T$
  • $\tilde X=I-H$
  • $\tilde Y=\tilde X Y$

简化上述方程,使用Glmnet中的块坐标下降算法求解

$$\hat \gamma=\underset{\gamma}{\arg\min}\frac{1}{2}\Vert \tilde Y-\tilde X \gamma \Vert_F^2+\lambda R(\gamma)$$

拓展至逻辑回归#

构建包含附带参数的逻辑回归模型:

$$Y_{i,c}=\frac{\exp(X_i\cdot\beta_c^\star+\gamma_{i,c}^\star)}{\sum_l \exp(X_l\cdot\beta_c^\star+\gamma_{l,c}^\star)}+\epsilon_{i,c}$$

重构特征矩阵 $\bar X=(X,I)$和系数矩阵 $\bar \beta^\star=(\beta^\star,\gamma^\star)^T$,将上式转化为标准逻辑回归:

$$Y_{i,c}=\frac{\exp(\bar X_i\cdot \bar \beta_c^\star)}{\sum_i \exp(\bar X_i\cdot \bar \beta_c^\star)}+\epsilon_{i,c}$$

优化目标为带稀疏正则化的负对数似然函数

$$\underset{\bar\beta=(\beta,\gamma)^T}{\arg\min} -\frac{1}{n} \sum_i(\sum_l Y_{i,l}(\bar X_i\cdot \bar \beta_{\cdot,l}-\log(\sum_l \exp(\bar X_i\cdot \bar\beta_{\cdot,l}))))+\lambda_1R(\beta)+\lambda_2 R(\gamma)$$

式中,$\lambda_1=\alpha\lambda_2$,当$\alpha=0.5$的时候最优。使用部分牛顿算法求解。

迭代训练流程#

  1. 输入:支持集 $(X_i,y_i)$,查询集$X_t$,未标记集$X_u$
  2. 初始化:支持集特征矩阵 $X_{c\times s+U,d}=[X_s;X_u]$,初始化分类器
  3. 迭代,直到收敛
  • 使用当前支持集训练分类器
  • 为未标记集生成伪标签 $Y_u$
  • 用ICI对联合集 $(X,[Y_s;Y_u])$排序,筛选高可信度子集 $(X_{sub},Y_{sub})$ 扩充支持集

理论保障条件#