Class-Incremental Learning with Generative Classifiers(CVPR2021W)
前置知识:VAE(可以参考https://zhuanlan.zhihu.com/p/348498294)
Motivation
之前的方法通常使用判别式分类器,对条件分布\(p(y|\textbf{x})\)进行建模(classifier+softmax+ce)。其问题在于分类器会偏向最新学的类别,导致灾难性遗忘。
本文使用生成式分类器对联合概率分布\(p(\textbf{x}, y)\)进行建模(分解为\(p(\textbf{x}|y)p(y)\)),并使用贝叶斯法则进行分类。
\(p(y)\):整个样本空间中,标签为y的样本的比例。
为什么有效:\(p(\textbf{x}|y)\)不会因为新的数据流产生偏差,仅有\(p(y)\)的分布会发生变化,而每个类别的样本数是可以统计的,或者可以假定所有标签有相同的先验概率(直接使用均匀分布建模\(p(y)\))。
将class incremental learning转化为task incremental learning,每个task相当于为每个标签y学一个类别条件生成模型。
Method
作者使用VAE作为每个类别要学习的生成式分类器,通过重要性采样估计似然\(p(\textbf{x}|y)\),使用均匀分布建模\(p(y)\)。
VAE包含一个encoder \(q_{\phi}\),将输入变为隐空间的后验分布\(q_{\phi}(\textbf{z}|\textbf{x})\),decoder \(p_{\theta}\)通过隐变量\(z\)得到输入空间的\(p_{\theta}(\textbf{x}|\textbf{z})\),还包含先验分布\(p_{prior}(\textbf{z})\),其中encoder和decoder均使用神经网络:
优化目标:ELBO(evidence lower bound)
为了计算似然\(p(\textbf{x}|y)\),作者使用了重要性采样(注意这里的VAE是针对某一个特定的类别y):
S代表采样样本数,\(z^{(s)}\)代表第s个从\(q_{\phi_y}(\textbf{z}|\textbf{x})\)采样出的样本。
基于贝叶斯定理\(p(y|\textbf{x})\propto p(\textbf{x}|y)p(y)\) ,分类过程表示为:
最后一步是由于本文直接使用均匀分布建模\(p(y)\),保证了泛化性。
对于可以使用pretrained weight的情况,可以利用其直接初始化VAE的卷积层,也可以将pretrained model作为一个固定的特征提取器。