论文网址:Geometry of Long-Tailed Representation Learning: Rebalancing Features for Skewed Distributions | OpenReview

目录

1. 心得

2. 论文逐段精读

2.1. Abstract

2.2. Introduction

2.3. Related Works

2.3.1. Long-tailed Recognition

2.3.2. Contrastive Learning for Long-tailed Data

2.4. Theoretical Analysis: Long-tailed Data Skew Contrastive Feature Representations

2.4.1. Preliminaries

2.4.2. Optimal Representation Configuration

2.5. Method

2.5.1. Challenges in Long-tailed Representation Learning

2.5.2. FeatRecon

2.6. Experiments

2.6.1. Dataset and Implementation Details

2.6.2. Resultes

2.6.3. Abalation Study

2.7. Conclusion

1. 心得

(1)一想到写论文就会有想读论文的想法,哎......写论文的无限延期......

(2)预感是非常tough的一篇

2. 论文逐段精读

2.1. Abstract

        ①深度学习通常在数据平衡的地方取得不错的成果(啊哈哈哈

        ②作者尝试直面现实长尾分布,去发现尾类在特征空间中收缩到一个点导致不可分割

        ③作者试图重塑特征空间,将尾类分开,因此提出FeatRecon

2.2. Introduction

        ①对于平衡的数据量,对比损失可以让各个类收敛到各自的中心

        ②但是对于长尾数据来说,头部类别占据了几乎整个特征空间,不同类别的收敛是不对称的

        ③假设每个类特征最终会收敛到超球上一个点,作者继续假设有四个类别\bar{z}_1,\bar{z}_2,\bar{z}_3,\bar{z}_4,每个类别的样本个数分别是N_1,N_2,N_3,N_4,然后2、3、4类是一模一样的样本个数,只变动1,(a)到(c)就是\bar{z}_1的样本量N_1疯狂变动时特征收敛的场景:

        ④现在的方法通常让尾类也收敛到头部类,会非常矛盾

        ⑤作者提出的FeatRecon会让特征收敛到对称和线性可分的地方

2.3. Related Works

2.3.1. Long-tailed Recognition

        ①传统长尾办法:重采样和权重重分配

        ②作者想使用的办法是因果权重归一化或边界调整

2.3.2. Contrastive Learning for Long-tailed Data

        ①对比学习在表征学习上取得了很大的成功

        ②作者自己想用在尾类生成特征的方式来帮助类别平衡

2.4. Theoretical Analysis: Long-tailed Data Skew Contrastive Feature Representations

2.4.1. Preliminaries

        ①对于N个训练样本X = (x_1, \dots, x_N) \in (\mathcal{X})^N,会有K个类别

        ②标签Y = (y_1, \dots, y_N) \in (\mathcal{Y})^N\mathcal{Y} = [K] = \{1, \dots, K\}

        ③\mathbb{S}^{h-1} = \left\{ z \in \mathbb{R}^h : \|z\| = 1 \right\}h维超球体的球面

        ④编码器是\varphi: \mathcal{X} \to \mathbb{R}^h映射,最后的表征Z = \left( \varphi(x_1), \dots, \varphi(x_N) \right)

        ⑤假设所有样本都在同一个批次里训练:B = [N] = \{1, \dots, N\}N_k表示属于类别k的样本,N_k = |B_k|N = \sum_{k=1}^{K} N_k

        ⑥定义1:在有监督对比学习损失中,Z = (z_1, \dots, z_N) \in (\mathbb{S}^{h-1})^N是超球面上的解,对于3 \leq K \leq h + 1个类别(为了实现球面上正单形每个点距离夹角相等),监督对比损失\mathcal{L}_{\text{SC}}(\cdot; Y) : (\mathbb{S}^{h-1})^N \to \mathbb{R}定义为:

\mathcal{L}_{\text{SC}} = \sum_{k=1}^{K} \sum_{i \in B_k} \mathcal{L}_{\text{SC}}^{k,i}, \quad\\ \text{where} \quad \mathcal{L}_{\text{SC}}^{k,i} = -\frac{\mathbb{1}_{\{N_k > 1\}}}{N_k - 1} \sum_{j \in B_k \setminus \{i\}} \log \left( \frac{\exp\left( \langle z_i, z_j \rangle / \tau \right)}{\sum_{l \in B \setminus \{i\}} \exp\left( \langle z_i, z_l \rangle / \tau \right)} \right)

        ⑦定义2:当以下三种情况成立的时候超球面上有K个正单形解\zeta = (\zeta_1, \dots, \zeta_K) \in (\mathbb{S}^{h-1})^N

(1) \forall i \in [K], \|\zeta_i\| = 1,所有点落在球面上
(2) \exists d \in \mathbb{R}, \forall i, j \text{ and } 1 \leq i < j \leq K, d = \langle \zeta_i, \zeta_j \rangle,所有点夹角相等
(3) \sum_{i \in [K]} \zeta_i = 0,正单形会让重心落在圆心,如果只是Equidistant则不需要

2.4.2. Optimal Representation Configuration

        ①当每个类平衡的时候,对比损失可以最低,所有点会形成一个正单形

        ②如果每个类别样本平衡,有:

\mathcal{L}_{\text{SC}} \geq N \log \left( \left( \frac{N}{K} - 1 \right) + \frac{N(K-1)}{K} \exp\left( -\frac{K}{K-1} \right) \right)

右边是对比损失理论最小值,理论最优值在以下两种情况成立时出现:

(1) i \in B_k,\ z_i = \bar{z}_k一个类中所有样本特征长一样
(2) \bar{Z}形成正单形

        ③当类别不平衡,假设除了第一个类别,所有类别样本数还是相等。作者首先找到紧凑的对比损失下限:

\mathcal{L}_{\text{SC}} \geq f(\cos(\theta_1), \cos(\theta_2)),

\begin{aligned} f(x_1, x_2) &= \rho a_2 \log \left( \left( \rho a_2 - 1 \right) + e^{-1} (K - 1) a_2 \exp(x_1) \right) \\ &\quad + (K - 1) a_2 \log \left( \left( a_2 - 1 \right) + e^{-1} \left( (K - 2) a_2 \exp(x_2) + \rho a_2 \exp(x_1) \right) \right) \end{aligned}

这里的a_2是所有相等类别的样本数量,等式在以下场景成立:

        ④\rho\theta_1的关系:

这里的\rho是不平衡比例,N_1 = a_1 = \rho a_2 > 1,这四个case就是作者最开始的图例

        ⑤当头部样本超过尾部样本的R倍时,尾部会完全塌缩:

R(K, a_2) = \frac{-b_1 + \sqrt{b_1^2 + b_2}}{2(1 + e^{-2}) a_2}

其中b_1 = (K - 1)(1 + e^{-2} - 2e^{2}) a_2 - 2b_2 = 8(1 + e^{-2})(K - 1)a_2((K - 1)a_2 - e^{2})

        ⑥(a)中样本比例时10:1,(b)中时100:1,(c)和(d)是(a)和(b)分别的示例图

2.5. Method

2.5.1. Challenges in Long-tailed Representation Learning

        ①尾部塌缩之后,样本交叠了

        ②长尾情况下,左边时没有中心矫正的,右边有

右边的还是有交叠,因为中心矫正可能只能针对训练集,但因为训练集和测试集本身有gap,所以不一定对测试集生效

2.5.2. FeatRecon

        ①学习的四个阶段,其中红虚线圈是预测,×符号是增加的合成数据

        ②类中心:

\hat{\mu}_k = \frac{1}{N_k} \sum_{i \in B_k} z_i, \quad \text{and} \quad \hat{\theta}_k = Q_\alpha \left\{ \cos^{-1} \left( z_i \cdot \frac{\hat{\mu}_k}{\|\hat{\mu}_k\|} \right) \mid y_i = k \right\},

其中Q_\alpha\alpha分位数

        ③对于尾类k,我们选前和这个尾部类中心\hat{\mu}最相近的q个头部类:

\mathcal{C}_k^q = \left\{ i \mid \hat{\mu}_i \cdot \hat{\mu}_k \in \operatorname{top}_q \left( \mathcal{S}_k \right) \right\},\text{where } \mathcal{S}_k = \left\{ \hat{\mu}_i \cdot \hat{\mu}_k \mid i \in \mathcal{C}_h \right\}

正则化:

\tilde{\mu}'_k = (1 - \gamma) \sum \omega_k^c \hat{\mu}_c + \gamma \hat{\mu}_k,\hat{\theta}'_k = (1 - \gamma) \sum \omega_k^c \hat{\theta}_c + \gamma \hat{\theta}_k

其中\omega_k^c = \frac{N_k \hat{\mu}_k \cdot \hat{\mu}_c}{\sum_{j \in \mathcal{C}_k^q} N_j \hat{\mu}_k \cdot \hat{\mu}_j}是权重,用相似度和样本量计算出来

        ④类别k的置信支持(fine 我也不知道confidence support怎么翻译):

\tilde{\mathcal{Z}}_k = \left\{ \tilde{z} \in \mathbb{S}^{h-1} \mid \tilde{z}^\top \frac{\tilde{\mu}'_k}{\|\tilde{\mu}'_k\|} \ge \cos(\bar{\theta}_k) \right\} \text{, where } \bar{\theta}_k = \min\left\{ \hat{\theta}'_k, \frac{1}{2} \cos^{-1}\left(-\frac{1}{K-1}\right) \right\}

        ⑤以前的工作会研究温度系数\tau如何影响表征,温度系数越大,类间就越分离

\tau_k = \left( 1 - 0.5 \left( 1 + \cos\left( \pi \frac{N_k - N_{\min}}{N_{\max} - N_{\min}} \right) \right) \right) \times (\tau_+ - \tau_-) + \tau_-

其中温度系数下标的加减分别代表上界和下界,低温 (ττ 小):模型更关注难分样本(与锚点相似的正/负样本,就是尾类样本),高温 (ττ 大):模型更关注全局结构,头部样本准确率会更高一点,均匀拉远所有负样本。作者的缩放就是让尾部类系数低一点然后头部类系数高一点

        ⑥FeatRecon有个特征提取器,然后是分开的分类器(交叉熵)和投影器(对比损失)

        ⑦带logit补偿的交叉熵损失,更多惩罚尾部类:

\mathcal{L}_x(y, l \circ f(x)) = -\log \frac{\exp\left(p_y + \delta_y\right)}{\sum_{y' \in [\mathcal{Y}]} \exp\left(p_{y'} + \delta_{y'}\right)}

        ⑧总损失:

\mathcal{L} = \lambda_x \mathcal{L}_x + \lambda_c \mathcal{L}_{SC}

2.6. Experiments

2.6.1. Dataset and Implementation Details

        ①类不平衡数据集:CIFAR-10-LT和CIFAR-100-LT,作者将不平衡因子按照以前论文设定为100,50和10;ImageNet-LT,不平衡因子为256;iNaturalist 2018是超大数据集有437.5K图像和8142类,作者按照别人的方法把测试集划分成三个子集,分别有100多个实例,20~100个实例和20个实例。

(1)CIFAR-10-LT和CIFAR-100-LT数据集的配置

        ①主干:ResNet-32

        ②投影仪:2层的MLP,嵌入是128维,隐藏层是512

        ③Epoch:200

        ④Batch size:256

        ⑤优化器:SGD,动量为0.9,5e-4的权重衰减,学习率一开始预热是0.15但是后面用0.1衰减

        ⑥分类头使用AutoAug和CutOut

        ⑦超参数:\lambda_x = 2.0,\ \lambda_c = 0.6,\ \alpha = 0.99\tau_- = 0.1\tau_+用Kukleva的方法来缩放

(2)ImageNet-LT和iNaturalist 2018

        ①主干:ResNet-50

        ②其他不想写了看截图:

2.6.2. Resultes

        ①用ResNet-32主干在CIFAR-10/100-LT数据集上不同不平衡因子下不同方法的Top 1精确度

        ②用ResNet-32主干在CIFAR-10/100-LT数据集上不平衡因子等于100下不同方法不同epoch的Top 1精确度

        ③ResNet-32主干在ImageNet-LT和iNaturalist 2018数据集上的表现:

        ④ResNeXt-50主干在ImageNet-LT数据集上的表现:

2.6.3. Abalation Study

        ①CIFAR-100-LT数据集上不同组件的消融:

2.7. Conclusion

        ~

Logo

有“AI”的1024 = 2048,欢迎大家加入2048 AI社区

更多推荐