Open Long-Tailed Recognition(OLTR):从自然分布的数据中学习并在包括头、尾和开放类的平衡测试集上优化分类精度。也就是对三个问题的综合
- imbalanced classification
- few-shot learning
- open-set recognition.
论文针对的问题:
OLTR不仅要在封闭环境中处理不平衡分类和few-shot learning问题,还要处理open-set recognition.现有的分类方法只集中在某一方面,当考虑到整体时,性能就会大大下降。
challenge:tail recognition robustness and open-set sensitivity
解决思路:
- 在头尾类之间共享视觉知识来提高识别的鲁棒性。
- 减少tail和open类之间的混淆来提高识别灵敏度。
贡献:
- 定义OLTR任务
- 提出了一种基于动态元嵌入的OLTR算法
- 通过将头尾嵌入的视觉关联起来处理尾部识别的健壮性,
- 通过视觉记忆动态校准来处理开放识别的敏感性。
- 组织了三个大型OLTR数据集:
- 以对象为中心的ImageNet
- 以场景为中心的MIT Places
- 以人脸为中心的MS1M。
dynamic meta-embedding
- direct feature,从输入图像中计算特征,对尾部数据缺乏足够的监督。
- memory feature,视觉记忆相关的诱发特征。从直接特性中检索内存激活的summary,并将其合并到一个适合tail类元嵌入中。
model
- dynamic meta-embedding( v d i r e c t v^{direct} vdirect):在头尾类之间传递知识
- modulated attention( v m e m o r y v^{memory} vmemory):在头尾之间保持判别
- meta embedding( v m e t a v^{meta} vmeta)
v
m
e
m
o
r
y
=
o
T
M
:
=
∑
i
=
1
K
o
i
c
i
v^{memory} = o^TM := \sum_{i=1}^{K}{o_ic_i}
vmemory=oTM:=i=1∑Koici
v
m
e
t
a
=
(
1
/
γ
)
⋅
(
v
d
i
r
e
c
t
+
e
⊗
v
m
e
m
o
r
y
)
v_{meta}=(1/\gamma)\cdot(v^{direct}+e\otimes v^memory)
vmeta=(1/γ)⋅(vdirect+e⊗vmemory)
γ
:
=
r
e
a
c
h
a
b
i
l
i
t
y
(
v
d
i
r
e
c
t
,
M
)
=
m
i
n
i
∣
∣
v
d
i
r
e
c
t
−
c
i
∣
∣
2
\gamma := reachability(v^{direct},M) = min_i{||v^{direct}-c_i||_2}
γ:=reachability(vdirect,M)=mini∣∣vdirect−ci∣∣2
- Neighborhood Sampling 怎样采样??
- centroids 是怎样计算的??
- coefficients hallucinated???指的是什么
- lightweight neural network 又指的是什么?
- γ \gamma γ 作用???
- self-attention?
- modulated attention
- Cosine Classifier
在数据集加载的时候:
- test 模式:会把test 和 open加载进去
- train模式:如果有sampler_dic,会按照sampler 方式采样,如果没有就按照系统,对于val的话,transform是不一样的
MA:(modulatedatt)
SA:(spatial_att)
centroids的计算:输入x 计算feature,相同类别的feature累加求平均值