Class-Incremental Learning with Generative Classifiers(CVPR2021W)

前置知识:VAE(可以参考https://zhuanlan.zhihu.com/p/348498294)

Motivation

之前的方法通常使用判别式分类器,对条件分布p(y|x)进行建模(classifier+softmax+ce)。其问题在于分类器会偏向最新学的类别,导致灾难性遗忘。

本文使用生成式分类器对联合概率分布p(x,y)进行建模(分解为p(x|y)p(y)),并使用贝叶斯法则进行分类。

p(y):整个样本空间中,标签为y的样本的比例。

为什么有效:p(x|y)不会因为新的数据流产生偏差,仅有p(y)的分布会发生变化,而每个类别的样本数是可以统计的,或者可以假定所有标签有相同的先验概率(直接使用均匀分布建模p(y))。

将class incremental learning转化为task incremental learning,每个task相当于为每个标签y学一个类别条件生成模型。

Method

作者使用VAE作为每个类别要学习的生成式分类器,通过重要性采样估计似然p(x|y),使用均匀分布建模p(y)

VAE包含一个encoder qϕ,将输入变为隐空间的后验分布qϕ(z|x),decoder pθ通过隐变量z得到输入空间的pθ(x|z),还包含先验分布pprior(z),其中encoder和decoder均使用神经网络:

截屏2023-12-06 16.22.02

优化目标:ELBO(evidence lower bound)
截屏2023-12-06 21.28.15.png

为了计算似然p(x|y),作者使用了重要性采样(注意这里的VAE是针对某一个特定的类别y):
截屏2023-12-06 21.29.54.png
S代表采样样本数,z(s)代表第s个从qϕy(z|x)采样出的样本。
基于贝叶斯定理p(y|x)p(x|y)p(y) ,分类过程表示为:
截屏2023-12-06 21.35.53.png
最后一步是由于本文直接使用均匀分布建模p(y),保证了泛化性。

对于可以使用pretrained weight的情况,可以利用其直接初始化VAE的卷积层,也可以将pretrained model作为一个固定的特征提取器。

posted @   脂环  阅读(69)  评论(0编辑  收藏  举报
相关博文:
阅读排行:
· 阿里最新开源QwQ-32B,效果媲美deepseek-r1满血版,部署成本又又又降低了!
· 单线程的Redis速度为什么快?
· SQL Server 2025 AI相关能力初探
· AI编程工具终极对决:字节Trae VS Cursor,谁才是开发者新宠?
· 展开说说关于C#中ORM框架的用法!
历史上的今天:
2022-12-07 PyTorch单机多卡分布式训练卡死(已解决,原因未知)
2022-12-07 RuntimeError: Trying to backward through the graph a second time
点击右上角即可分享
微信分享提示
主题色彩