论文阅读《Boosting Few-Shot Learning With Adaptive Margin Loss》

本文探讨了一种针对小样本学习任务的改进方法,通过结合词嵌入和自适应margin loss,如CRAML和TRAML,使得相似类别间的区分更加有效。研究者提出了一种新的AdaptiveMarginLoss,适用于标准FSL和generalized FSL场景,提升了特征提取的区分度。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

Background & Motivation

各种度量学习方法的不同之处就在于特征的提取方法和嵌入空间内距离的度量方法不同。

交叉熵损失常用来监督模型提取区别度高的视觉特征,在此之前还有人提出各种不同的 margin loss。最简单的 Naive Additive Margin Loss:

这个方法是假设所有的类都应该平等的远离彼此,因此增加了一个固定的常数 m。但是对相似的类别并不能很好地区分,尤其是在小样本的设定下。

除此之外还有 angular margin 和 cosine margin 等等。

By observing that the weights from the last fully connected layer of a classification DCNN trained on the softmax loss bear conceptual similarities with the centers of each class.

没读太懂。

但是之前的 margin loss 并不适合小样本学习任务这种数据很稀缺的情况,这也是本文的 Motivation。

Methodology

第一次看到 standard FSL 和 genrealized FSL 这两种说法。

  • Standard FSL

where the test data contain novel class samples only.

  • Generalized FSL(更贴合实际

where the label space of test data covers both base and novel classes.

提出了一个 adaptive margin loss,旨在嵌入空间中更好的分离不同类的物体,特别是使相似的类尽可能分离地远,更适合小样本学习,示意图如下:

使用了一种之前没有看到过的方法,将类别的语义相似性(词嵌入 word embedding)加入到了提出的 naive additive margin loss 中。

Training strategy

模型在训练时采用 adaptive margin loss,测试时只用简单的 softmax 来完成分类。

Class-Relevant Additive Margin Loss(CRAML)

为了更适合小样本学习任务,在 naive additive margin loss 的基础上应该自适应地使不同的类别间的距离不相同。基于这个想法提出了 CRAML,引入了类别的语义特征(word embedding)来调整类别间距。构建了一个 class-relevant margin 产生器 M,输入类别对的名字来获得其 adaptive margin:

sim 是度量函数,另外两个是超参数,分别来调整 M 的尺度和偏置参数。CRAML 的公式如下:

TRAML 可以看作是 CRAML 的升级版。

Task-Relevant Additive Margin Loss(TRAML)

同样,先根据语义特征来度量类别对的 margin:

这个公式的示意图为:

Generator 前是一个全连接网络,将其融合到 naive additive margin loss 上:

最终使用的 Adaptive Margin Loss 就是 TRAML。

Experiment

Standard FSL

特征提取模块使用的是 ResNet12。

Generalized FSL

特征提取模块采用 ResNet10。

对损失函数进行了消融实验:

Conclusion

用词嵌入的方法来使类别间的间隔不同,是个很新颖的方法。这个损失函数是对交叉熵损失函数的改进,可以结合到现有的模型中。

还有提到了 Standard FSL 和 Generated FSL 的概念。

### 零样本昼夜域适应的目标检测技术与实现 零样本昼夜域适应(Zero-Shot Day-Night Domain Adaptation, ZSDNDA)是一种新兴的技术领域,旨在解决目标检测模型在不同光照条件下的泛化能力问题。具体而言,在白天训练的模型通常难以直接应用于夜间场景,反之亦然。这种跨域差异被称为“域偏移”,而ZSDNDA试图通过无监督学习方法来缓解这一挑战。 #### 技术背景 传统的域适应方法依赖于源域和目标域之间的标注数据配对,但在实际应用中获取这些标签可能非常昂贵甚至不可行。因此,研究者提出了基于生成对抗网络(GANs)、特征对齐以及自监督学习的方法来减少域间差距[^1]。例如,CycleGAN被广泛用于图像风格转换任务,可以将日间的图片转化为具有夜景特性的合成图,从而增强模型对于夜晚环境的理解力。 #### 方法概述 一种典型的解决方案涉及以下几个方面: - **图像翻译模块** 使用如UNIT或MUNIT这样的双向映射框架,该部分负责创建逼真的日夜互换样例集作为中间桥梁连接两个原本不兼容的空间分布[^2]。 - **共享编码器设计** 构建一个能够提取通用语义表示的深层神经网络结构,使得同一物体无论处于何种照明条件下都能激活相似区域响应模式[^3]。 - **分类分支调整** 对现有主流探测架构(比如Faster R-CNN,YOLOv5)稍作修改引入额外损失函数项鼓励预测结果趋向一致即使输入来自完全不同视觉表象体系下也应保持稳定输出性能表现良好状态^4]^. 以下是简化版伪代码展示如何构建这样一个系统: ```python import torch.nn as nn class ZeroShotDayNightAdapter(nn.Module): def __init__(self): super().__init__() self.image_translator = UNIT() # Image style translator (e.g., CycleGAN/UNIT) self.shared_encoder = SharedEncoder() self.detector_head = DetectorHead() def forward(self, x_day=None, x_night=None): if x_day is not None: z_shared = self.shared_encoder(x_day) translated_x = self.image_translator.translate_to_night(z_shared) elif x_night is not None: z_shared = self.shared_encoder(x_night) translated_x = self.image_translator.translate_to_day(z_shared) detections = self.detector_head(translated_x) return detections ``` 上述代码片段定义了一个基础类`ZeroShotDayNightAdapter`, 它包含了三个主要组件:image translator、shared encoder 和 detector head。 这些组成部分共同协作完成从原始图像到最终边界框坐标的整个流程处理工作 ^5].
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值