(一).标准学习范式:(Standard Learning Paradigm)
使用backbone VGG或Resnet作为特征提取器 ,参数, 提取特征representation(embedding),
, Q为单张query图片
得到后,使用度量函数(metric)参数为,对特征和可学的原型进行度量,并给出softmax得分,
,
可以是多种多样的分类器,例如对于某一原型, 经过S后的打分为,
最后使用损失函数去优化使得和正确的标签T对应,
优化后学习到参数和原型.
(二).增量原型学习
在小样本增量学习时,文章使用episode一词代表小样本dataset,
文章将增量类与原先的类相混合,如原先为50类,做5way增量训练,到第60类需要做两次训练。
文章提出两个创新点
1.Random Episode Selection.即随机小样本训练集选择
注:FS学习中将样本集中class数量称为way,每个class中的样本数称为shot,因为shot比较少所以叫做few-shot learning
本文提出的随机小样本训练集选择策略中,在每次iteration中,首先选择N-way K-shot的query image Q,再从混合类中同样选择N-way K-shot的query image C,C作为伪增量类。
使用(一)中训练好的特征提取器,将C中的数据输入,并对得到的每个类的特征取平均,
文章在这里的写法看着有点奇怪,实际上我的理解是作者每轮都想要随机从Base的个类中寻找N个类来做这一轮的随机抽样迭代,所以写
这样,我们的目标就是在原型和得到的embedding的基础上给Q分类了。
2.Dynamic Relation Projection.即动态关系投影
为了进行增量更新,文章将新类别的embedding和旧类别的原型分别经过一个转换层(包含一个1x1卷积层、一个池化层和一个激活函数ReLU),
将和进行合并,再×上作为本轮的关系矩阵,
最终得到更新后的原型矩阵,
文章认为这种方法在动态地保存已有知识并增强对于新知识的区分性。
在得到更新后的原型矩阵后 ,将query image的embedding和矩阵做运算(如上述的和softmax)得到得分与groud truth 做Loss,并反向传播。
实际上本文的创新点在于混合关系矩阵Corr的创建和优化,在这个过程中动态地取得不同的N个伪增量类别FS样本,将矩阵concat构造关系矩阵并由此对query进行测试的优化。
但是文章只提到了伪增量样本的选取使用,没有提及在每个session新来的增量是怎么处理的,我目前认为是将增量和base直接混合变成新的base库。后面读refer的文章如果有发现错误再做修改。