Decoupling Representation and Classifier for Long-tailed Recognition
概
本文通过拆解特征学习和分类器训练得出, 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 相似度);
- \(\tau\)-normalized classifier (\(\tau\)-normalized):
\[\widetilde{w}_i = \frac{w_i}{\|w_i\|^{\tau}},
\]
用\(\widetilde{w}_i\)替换\(w_i\), 其中\(\tau \in (0, 1)\). 因为作者认为\(\|w_i\|\)的大小反应了数据量的大小. \(\tau\)通过交叉验证的方式来选择;
4. Learnable weight scaling (LWS):
\[\widetilde{w}_i = f_i \cdot w_i, \quad f_i = \frac{1}{\|w_i\|^{\tau}},
\]
这里\(f_i\)是可学习的.
注: 这些分类器训练的时候, 也是可以应用re-balance方法的.
注: 按照作者的说明, 看来作者训练encoder的方式就是单纯联合训练, 我以为使用自监督方法.