FEW-SHOT CLASS INCREMENTAL LEARNING

FSCIL(Few-shotClass-incrementalLearning)研究了神经网络如何在新增类别时有效学习,特别是在仅使用少量样本的情况下。文章指出,在每个session中进行优化时,存在一种名为NeuralCollapse的现象,这可能影响模型的泛化能力并提出相应的解决策略。

Few-shot class-incremental learning (FSCIL)
在这里插入图片描述
在这里插入图片描述
Neural Collaps有以下四个性质:
在这里插入图片描述

在这里插入图片描述
在第t个session的时候优化
在这里插入图片描述
其中,
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述

复现《Learning with Fantasy: Semantic-Aware Virtual Contrastive Constraint for Few-Shot Class-Incremental Learning》这篇论文可按以下步骤进行: ### 1. 准备工作 - **获取代码**:该论文的代码地址为https://github.com/zysong0113/SAVC ,可从该地址下载代码到本地 [^2]。 - **明确任务**:论文主要解决少样本类增量学习(Few-shot class-incremental learning,FSCIL)问题,即在有限样本下持续学习新类别且不遗忘旧类别的分类任务 [^3]。 ### 2. 数据处理 - **初始数据处理**:利用初始样本充足的训练数据训练特征提取器。对初始训练样本进行数据增强(增强次数和顺序确定)以扩充初始数据集。例如,可采用特定的图像旋转、翻转等操作,且后续所有增强都按此方式进行 [^4]。 - **增量数据处理**:计算增量训练数据(少样本)中新增类别的原型,通过数据增强和特征提取后得到特征的均值来确定 [^4]。 ### 3. 模型训练 - **特征提取器训练**:采用MoCo的学习策略构建对比损失,结合标准交叉熵分类损失更新模型。扩充版的初始训练数据集经训练好的特征提取器(训练好后冻结)输出特征,并据此计算各初始类别不同增强方式下的原型(特征均值) [^4]。 - **联合优化**:论文采用分类对比任务联合优化框架,同时还涉及每个增量会话的微调更新 [^2]。 ### 4. 模型测试 - **相似度计算与分类**:对测试样本进行数据增强,将增强后的测试样本输入特征提取器得到特征,并对测试特征和所有原型进行标准化。计算测试特征与各原型的平均相似度,将测试样本分类为平均相似度最高的类 [^4]。 ### 代码示例 由于不清楚代码仓库中的具体实现,以下是一个简单示意代码说明数据增强和原型计算的过程: ```python import torch import torchvision.transforms as transforms # 数据增强示例 transform = transforms.Compose([ transforms.RandomRotation(10), transforms.RandomHorizontalFlip() ]) # 假设初始训练数据 initial_data = torch.randn(100, 3, 32, 32) # 100个样本,3通道,32x32图像 augmented_data = [] for sample in initial_data: augmented_sample = transform(sample) augmented_data.append(augmented_sample) augmented_data = torch.stack(augmented_data) # 计算原型示例 def calculate_prototype(data): return torch.mean(data, dim=0) prototype = calculate_prototype(augmented_data) ```
评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
红包 添加红包
表情包 插入表情
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值