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$ 项的稀疏惩罚项,优化目标为
Value Flows
Paper Reading: