【从数据集选择对模型而言的高质量样本集】

为了更好地理解JEST算法的应用,以下是一个具体的示例:

假设我们在训练一个图像分类模型,我们有一个大规模的"超级batch" (\mathcal{B}_{super}),其中包含了10000张图像。我们希望从中筛选出一个包含1000张图像的"子batch" (\mathcal{B}) 进行训练,以提高训练效率和模型性能。

步骤 1: 初始化模型和参考模型

首先,我们有两个模型:

  1. 当前模型 (\theta):正在训练的图像分类模型。
  2. 参考模型 (\theta^*):一个已经训练好的图像分类模型。

步骤 2: 计算损失

对于超级batch中的每一个batch,我们计算两个损失值:

  1. 当前模型的损失 (\ell(\mathcal{B}|\theta)):衡量当前模型在这个batch上的表现。
  2. 参考模型的损失 (\ell(\mathcal{B}|\theta^*)):衡量参考模型在这个batch上的表现。

步骤 3: 计算可学习性评分

我们使用可学习性评分来评估每个batch的价值:

[ \text{learn}(\mathcal{B}|\theta, \theta^) = \ell(\mathcal{B}|\theta) - \ell(\mathcal{B}|\theta^) ]

  • 高可学习性评分:表示当前模型在这个batch上的损失比参考模型高很多,这表明这个batch包含了很多当前模型尚未学好的难例(hard negatives),对模型的训练非常有帮助。
  • 低可学习性评分:表示当前模型在这个batch上的损失比参考模型低,这表明这个batch中的样本比较容易学习(easy examples),对模型的改进帮助不大。

步骤 4: 采样过程

我们采用block Gibbs采样的方法来筛选batch:

  1. 在第 ( n ) 次迭代中,对第 ( B_n ) 个batch进行采样。
  2. 依据概率公式对块 ({X_k}) 进行无替换采样。
  3. 将 ( X_k ) 块添加到 ( B_n ) 中,更新当前采样的batch。
  4. 重复上述步骤 直至迭代数 ( n = N ) 时终止。

举例说明

  1. 超级batch (\mathcal{B}_{super}):包含10000张图像。
  2. 初始化模型:当前模型 (\theta) 和参考模型 (\theta^*)。
  3. 计算损失:对于每个小batch,计算 (\ell(\mathcal{B}|\theta)) 和 (\ell(\mathcal{B}|\theta^*))。
  4. 计算可学习性评分:选择可学习性评分高的batch。
  5. 采样:使用block Gibbs采样方法从超级batch中采样,逐步构建最终的子batch (\mathcal{B}),直至筛选出1000张最有价值的图像。

这里是引用

总结

通过上述步骤,我们能够有效地从超级batch中筛选出对模型训练最有价值的子batch。这种方法不仅提高了训练效率,还能够使模型更快地学习到有效的特征,从而提升模型的性能。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

Ai君臣

学会的就要教给人

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值