贡献:使用子空间来扩展现有的动态分类器。在训练过程中,引入了一种鼓励子空间之间最大差别的判别性公式,进一步提高了性能。
表示类c的子空间的基可以通过矩阵分解,如奇异值分解(SVD)得到。子空间的分类方法之一是找到数据点与其在子空间上的投影之间的最近距离。
网络结构:子空间分类器的模型主要利用特征提取器f Θ将输入图像映射到特征空间中得到对应的特征向量f Θ ( x i ),然后通过平均的方式计算每个类别c对应的特征向量均值μ c,将模型提取的特征与每个类别的特征向量均值μ c做差,得到Xc,然后使用奇异值分解(SVD)得到截断矩阵Pc,然后将查询图像qj投影到Pc上,并根据从查询到其投影到Pc(在原始空间中)的最短距离进行分类。为了训练整个框架,需要通过SVD进行反向传播
结论:证明只需要让子空间之间彼此分离,就可达到高分类精度。
训练Deep Subspace Networks的步骤:
将Xc分解[U, Σ, V ⊤],然后截断U1,…,n,构成Pc空间,再对Q中的q进行距离的计算,得到dc(q),用loss函数计算loss值,最后使用loss值来更新嵌入网络。
利用子空间可以形成鲁棒分类器
子空间的分类方法是数据点(指的是原型?)到空间的最短距离
将query集投影到子空间,即计算最短距离,也就是子空间分类器的定义
一个类由这个类的所有样本在投影空间里的均值决定。—-类k的原型
附上 SVD分解:
SVD分解:矩阵分解SVD原理_code__online的博客-CSDN博客_svd矩阵分解
1、降维:用前r个非0奇异值对应的奇异向量表示A的主要特征。
2、压缩:用SVD分解后的U、E、V表示原来的A。
3、PCA降维:应用SVD降维,可先不用求取协方差X*X转置,直接用SVD求右奇异矩阵。
经过左奇异矩阵U可得到矩阵由行数m降成d
故而左奇异矩阵用于行数的压缩,右奇异矩阵用于列数的压缩即PCA压缩。
截断SVD:数据预处理系列:(十二)用截断奇异值分解降维_风雪夜归子-CSDN博客_截断奇异值分解
SVD子空间的定义:矩阵之芯 SVD – 从奇异值分解看四个基本子空间-技术圈 (proginn.com)
子空间的应用:矩阵之芯 SVD: 基本应用以及与其他分解的关系 (qq.com)
之前阅读时,不理解的几个地方。。
自适应在那体现? 根据距离的大小自动归类
动态分类器中的动态怎么体现?
Xc的定义根据什么?为什么要用特征向量减去平均的向量?是减去原型向量吗?
Pc是由支持集构成的?数据点到子空间投影的最短距离指的是,query集数据点到子空间的最短距离
将query集投影到pc上,即原型空间,并根据query到pc空间的最短距离进行分类。
用Pc,q来表示,query集正确归到c个类的概率,通过softmax计算查询样本到每个类别的正确分类的概率,即归一化处理。
提高精度的方法:
缩短数据点到子空间之间投影的距离,使得dc的值越低
扩大子空间彼此之间的距离,彼此分离——-通过使用projection metric on Grassmannian—–引出projection metric 的定义
扩大子空间的边缘距离 margin——Discriminative method —-可判别性方法
专门搜了一下什么是子空间:
子空间的定义:
假设x1,x2都在空间内,相应的k1x1,K2X2也在空间内,其中的”子”在于封闭性,原空间也是原空间的子空间,不过是最大的一个子空间,而最小的是0空间。
奇异值分解SVD与子空间的关系:对于三维空间离散分布的一些数据点,但他们又近似分布在一个二维子空间平面,那么奇异值分解就是找到这个最佳二维子平面
来拟合这些三维空间的数据点。
分类损失:常见回归和分类损失函数比较 – massquantity – 博客园 (cnblogs.com)
Original: https://blog.csdn.net/qq_50923080/article/details/124209964
Author: qq_50923080
Title: 《Adaptive Subspaces for Few-Shot Learning 》学习笔记
原创文章受到原创版权保护。转载请注明出处:https://www.johngo689.com/528692/
转载文章受原作者版权保护。转载请注明原作者出处!