概
本文通过拆解特征学习和分类器训练得出, Instance-sampling能学习到足够好的特征, 我们只需对分类器进行一些处理, 就能得到更好的处理结果.
主要内容
Sampling
针对长短尾的数据, 我们常用重采样的方式来应对, 一般的采样方式可以表述为如下的形式:
[p_j = frac{n_j^q}{sum_{i=1}^C n_i^q}, quad j = 1,2,cdots, C
]
其中(p_j)是采样第(j)类的概率, (n_j)是第(j)的训练数据的数目, 共有(C)类.
通过指定不同的(q in [0, 1]), 有下面的不同采样方式:
- Instance-balanced sampling: (q=1), 就是我们最常使用的, 每一个样本都是等概率被选中的;
- Class-balanced sampling: (q=0), 可以看成先等概率选择采样的类, 再在此类中等概率选择样本;
- Square-root sampling: (q=1/2);
- Progressively-balanced sampling: 这是一个混合, 在训练的开始阶段, 偏向instance-balanced sampling, 在训练的后期阶段, 偏向class-balanced sampling:
[p_j^{PB}(t) = (1 - frac{t}{T})p_j^{IB} + frac{t}{T} p_j^{CB}.
]
分类器
分类器作者列举了三种:
- Classifier Re-training (cRT). 即固定encoder部分, 随机初始化(W,b), 然后重新训练它们((W^Tf + b));
- Nearest Class Mean classifier (NCM). 首先对每个类计算归一化的均值, 然后看输入的特征和哪个最接近((ell_2)或者cosine 相似度);
- ( au)-normalized classifier (( au)-normalized):
[widetilde{w}_i = frac{w_i}{|w_i|^{ au}},
]
用(widetilde{w}_i)替换(w_i), 其中( au in (0, 1)). 因为作者认为(|w_i|)的大小反应了数据量的大小. ( au)通过交叉验证的方式来选择;
4. Learnable weight scaling (LWS):
[widetilde{w}_i = f_i cdot w_i, quad f_i = frac{1}{|w_i|^{ au}},
]
这里(f_i)是可学习的.
注: 这些分类器训练的时候, 也是可以应用re-balance方法的.
注: 按照作者的说明, 看来作者训练encoder的方式就是单纯联合训练, 我以为使用自监督方法.