精华内容
下载资源
问答
  • 内容概览前言一、基于度量学习的少样本分类1.算法描述2.缺点二、DCAP算法介绍1.算法流程2.密集分类3.注意力池化(Attentive Pooling)三、QPN算法介绍1.算法流程2.多尺度特征3.特定类特征生成总结 前言 本博文要...


    前言

    本博文要介绍的两篇论文是2021年3月底挂在arxiv上的新文章,它们都是对基于度量学习的少样本分类算法进行了改进,并且改进点都在构造更优的用于度量的图像特征和类特征上面。

    两篇文章的算法其实都不难,并且均采用了注意力以及关注图像小区域的密集特征方法。在本博文中对它们提出的核心技术点进行介绍,不再展示实验结果重点在于思想,具体算法计算等还需参考原论文哦~

    原文链接:
    1、Revisiting Deep Local Descriptor for Improved Few-Shot Classification
    2、Hierarchical Representation based Query-Specific Prototypical Network for Few-Shot Image Classification


    一、基于度量学习的少样本分类

    1.算法描述

    在少样本学习中,比较流行的是基于元学习的算法,它又可以分成主要的三类:基于教师-学生网络、基于度量学习和基于转导学习(图)。其中基于度量学习的算法是其中算法流程最简单、较易理解的一类。

    正因为它比较简单,在前两年时基于度量学习的算法解决少样本分类问题的性能不如另外两种,但是随着研究者的不断改进,这一类算法的性能也渐渐提高~

    在基于度量学习的算法中,比较经典、经常被作为改进算法的基准网络的算法是Prototypical Networks,下图可以大概展示它的整体思想。

    在这里插入图片描述

    它的算法思路是通过一个特征提取器对一个FSL(少样本学习)任务中的所有图像提取特征,并计算每一类support图像特征的均值作为该类图像的类特征(prototype)之后计算query特征和这些类特征的相似度(比如余弦相似度),并将当前query分到与之相似度最高的类特征对应的类中。这样就完成了少样本分类过程。

    Prototypical Net需要进行元训练获得网络参数,并在元测试阶段在网络未见过的类别上进行测试。元训练的具体过程不再赘述。

    2.缺点

    可以从上述的Prototypical Network的算法中看出,类特征的设置很简单,在support中的图像数量很少时,通过平均的方式获得的类特征是没有代表一个类别的能力的,因此使用这样的类特征与query特征进行比对,也就不容易获得准确的分类结果。

    最初的基于度量学习的算法其实和Prototypical Network大同小异,而且后续的改进算法很多都是基于Prototypical Network的修改,因此Prototypical Network具有很大的代表性。

    这是基于度量学习算法的一个弱点,也就是说,度量的结果受图像特征的影响极大,我们必须提升特征及类特征的质量才能获得准确的结果

    本次介绍的两篇论文正是在类特征的获取方面做了较大改进,从而取得了很好的效果,下面就来看看它们分别是怎么做的。

    二、DCAP算法介绍

    DCAP算法是Revisiting Deep Local Descriptor for Improved Few-Shot Classification 提出的,作者来自合肥工业大学。

    1.算法流程

    这里先整体描述一下DCAP的算法流程,下面两小节再对其中核心技术点进行介绍。

    DCAP包括两部分的训练:

    1. 密集分类预训练:使用大量有标签的基类样本对特征提取网络fθf_\theta进行分类训练。在训练时采用密集分类的方式,对图像特征中每个空间位置处的特征向量都进行分类,最后计算总的交叉熵分类损失;
    2. 元学习微调训练:在fθf_\theta后面接上注意力池化模块,用基类样本构建假FSL任务作为训练样本参与训练,对假任务中query的分类结果计算交叉熵损失作为训练损失,反向传播微调fθf_\theta及注意力池化模块中的网络参数。

    在训练完成后,可以使用fθf_\theta提取真实FSL任务中的图像特征,并通过注意力池化模块获得类特征,再用相似度度量的方式对query图像进行分类。

    在元学习微调阶段,整体的网络结构如下图:
    在这里插入图片描述

    相比于传统的Prototypical Network,这里使用了注意力池化(Attentive Pooling)代替之前的全局平均池化(GAP),作者认为这样可以获得更好地融合了图像不同区域信息的图像特征。以经过注意力池化后的特征计算类特征,再与同样经过注意力池化的query特征计算相似度,之后的过程和Prototypical Network是一致的。

    整个算法中,密集分类和注意力池化是核心技术,下面对这两部分的思想展开介绍,不会列出全部的公式,因此细节部分需要参看原论文!

    2.密集分类

    一般我们在进行图像分类时,都会对卷积网络输出的图像特征fθ(x)Rd×h×wf_\theta(x) \isin R^{d×h×w} 做一个GAP,使特征由原来的三维变为一维向量Rd\isin R^{d},再将这个一维向量通过全连接分类层,这种做法可以取得很好的效果,但是在一定程度上损失了图像的空间信息。

    在这种情况下,研究者提出了密集分类,即不对卷积层的输出做GAP,仍然保留三维的特征,保证了空间信息不受损失。

    在分类时,需要将每个空间位置处的特征向量Rd\isin R^{d} (一共有h×wh×w 个)都送入全连接分类层,获得一个分类结果。那么对于一张图像我们可以获得h×wh×w 个分类结果。

    那么问题来了,密集分类的损失函数应该咋算呢…

    其实就是将每张图像特征的每个空间位置处的交叉熵分类损失都算出来,再全部加起来就得到了该图像的分类损失(对于同一张图像来说,它的特征每个空间位置对应的 groundtruth 就是该图像的类别标签)

    训练时对再将一个batch的图像损失相加就获得了反向传播用的总损失:

    在这里插入图片描述

    3.注意力池化(Attentive Pooling)

    下图是注意力池化模块的网络结构:
    在这里插入图片描述
    模块的输入是一个卷积网络的输出特征fθ(x)Rd×h×wf_\theta(x) \isin R^{d×h×w},输出是对该特征进行注意力池化结果。

    具体步骤是先获得一个和图像特征空间尺度相同的注意力图AxRh×wA_x\isin R^{h×w},再用这张注意力图对fθ(x)f_\theta(x)上每个空间位置处的特征加权求和得到最终的一维特征向量,即
    在这里插入图片描述
    注意力图AxA_x:将fθ(x)f_\theta(x)和GAP之后的fθ(x)f_\theta(x)进行通道方向的合并,并将合并结果通过一个两层卷积网络fϕattf_\phi^{att},输出结果即为AxA_x

    可以发现整个注意力池化模块的网络参数就是fϕattf_\phi^{att}的参数。


    论文里还有个小窍门:

    在元学习微调阶段,作者为了保证特征提取网络获得的特征仍然具有代表该图像类别的语义信息,避免特征提取网络在微调中只关注度量结果,在训练的总损失中加入了query图像的密集分类损失,也就是下图中红圈里面的部分。

    被送入密集分类器的特征是未经过注意力池化的,并且密集分类器的参数和密集分类预训练阶段中得到的分类器参数保持一致,且在整个微调过程中保持固定。

    在这里插入图片描述

    三、QPN算法介绍

    QPN算法是Hierarchical Representation based Query-Specific Prototypical Network for Few-Shot Image Classification 中提出来的,作者来自南京大学~

    1.算法流程

    QPN也是对Prototypical Network 的一种改进,它发现传统获取类特征的方法有些简单,没有考虑到实际的图像特点,因此提出了为每一个query图像的每个局部都生成一个特殊的类特征,用于相似度度量。作者认为这种方式可以充分考虑到每张query图像的空间信息和语义信息,并且增强了类特征对于每个query的独特性,有助于query的有效度量。

    个人认为这种思想很棒~之前有考虑过这种思路,但是没有具体思考怎么实现==

    QPN算法只有一个训练阶段,就是普通的元训练,下图是它的整体网络结构:

    在这里插入图片描述

    1、其中,最左端的CNN用于提取图像特征,后面的CBAM模块则是对特征进行了注意力处理,其作用是使得特征中有用部分(目标位置)的值更突出。

    CBAM是2018年提出的一个集通道注意力和空间注意力于一体的注意力模块,具体算法细节不再介绍,可以阅读原论文获取详细信息。

    2、在CBAM之后,是对图像特征的多尺度处理(Herarchical Representation),借鉴特征金字塔的形式获取更多尺度下的信息。

    3、接着是一个PG(类特征生成)模块,其输入是support与query图像的多尺度特征,输出是一个和query图像的多尺度特征同样大小的query-specific类特征。最后使用query图像的多尺度特征和query-specific类特征计算相似度。

    需要注意的是,QPN中也没有使用GAP,目的同样是保留图像的空间信息。并且由于进行相似度度量的两个特征是三维的,因此先对两个特征计算出相似度图,再将相似度图通过MLP(全连接层)才能获得最终的相似度。这个过程对应上图中的红圈部分。

    下面对算法中两个核心技术:多尺度特征和PG模块进行介绍。

    2.多尺度特征

    这里的多尺度实现其实很简单,通过CBAM我们获得了经过注意力处理的图像特征xRc×h×w\overrightarrow{x} \isin R^{c×h×w},在论文中作者设置输出的特征大小是h=w=21h=w=21,现在将特征分别resize成10×10,7×7,5×5,3×3,2×2,1×110×10, 7×7, 5×5, 3×3, 2×2, 1×1 大小,这样我们就获得了6种不同尺度的特征。
    在这里插入图片描述

    我们把这些特征中每个空间位置处的特征向量称为一个FGC(fine-grained cell),那么现在一张图像就对应了629个FGCs,一个FGC是后续操作的基本单位。此时多尺度特征的大小是Rc×629\isin R^{c×629}

    3.特定类特征生成(PG)

    论文中最主要的思想就体现在PG模块中,这是整个算法的核心部分。PG的作用是针对每一张query图像生成特定的FSL任务中各个类的类特征,用于后续的相似度计算。

    PG的输入是一张query图像的多尺度特征,和第nn类的全部support图像的多尺度特征;输出是和该query特征大小相同的第nn类的类特征。我们需要对每一类都用相同的方式生成一个类特征。

    PG的算法框架如下图:
    在这里插入图片描述

    1. 首先,计算query的每个FGC和所有support图像的FGC之间的相似度。
    2. 对于第ii个query的FGC,选择与之相似度最大的ξ\xi个support图像的FGC,将它们称为Similar FGCs;
    3. 对这ξ\xi个support图像的FGC加权求和,权重是softmax归一化后的与query-FGC的相似度值。
    4. 得到的加权结果就作为当前query图像第ii个FGC对应的特定类特征。
    5. 对每一个query的FGC都按照步骤2~4计算出对应的特定类特征。这些FGC对应的类特征合在一起就构成了PG网络的输出。

    可以从PG的生成步骤中看出,作者是基于包含图像空间信息的FGC对query进行了相似度度量,并且生成的类特征中充分包含了针对当前query的度量,类特征更需要关注的信息。因此可以认为PG可以很好地提升度量分类的准确率。

    两个论文都用大量的实验证明了自己算法的有效性,相比于prototypical network确实有较大提升,感兴趣的读者可以去看原文~


    总结

    两篇文章都发现了度量学习时类特征的重要性,并且尝试了不同的方法来提升度量的准确度。同时也强调了密集特征的重要性,认为能反映图像空间信息的密集特征比图像的整体特征更能代表图像,这其实也是比较容易理解的思想。它们用实验证明了密集特征的有效性,因此在以后的分类问题中可能会有更多人采用密集分类的方式,这也是一个改进方向。

    二者也同时引入了注意力方法获得更好的特征,注意力机制同样也是CV领域中逐渐发展起来的方向,大家多多关注啊~注意力的形式多种多样,比如本文介绍的使用相似度加权(这个权重就相当于是注意力,某一项在加权时权重越大代表给予它的注意越多),在不同的算法中也会有不同的用法,这要靠研究者们的智慧来发掘更多可能。

    展开全文
  • 非均衡样本的定义 在分类问题中,每种类别的出现概率未必均衡。...过采样的缺点是导致过拟合。 欠采样 考虑对大类下的样本(超过1万、十万甚至更多)进行欠采样,即删除部分样本; 欠采样导致...

    非均衡样本的定义

    在分类问题中,每种类别的出现概率未必均衡。

    比如 : 信用风险:正常用户远多于逾期/违约用户。

    非平衡样本导致的问题:降低少类样本的灵敏性。

    非均衡样本的解决办法:

    1 过采样

    考虑对小类下的样本(不足1为甚至更少)进行过采样,即添加部分样本的副本,这样做的缺点是过拟合。

    2 欠采样

    考虑对大类下的样本(超过1万、十万甚至更多)进行欠采样,即删除部分样本;
    欠采样导致的问题是信息丢失严重。

    3 SMOTE算法(合成少数过采样技术)

    该算法的主要步骤如下:

    • 采样最邻近算法,计算出每个少数类样本的K个邻近。
    • 从K个近邻中随机挑选N个样本进行随机线性插值。
      随机 :为了防止过拟合
      线性:简单合成数据
    • 构造新的少数类样本
      New=xi+rand(0,1)(yjxi),j=1,2,...,NNew = x_i + rand(0,1) \cdot (y_j - x_i) , j = 1,2,...,N
      其中,x_i 为少类样本的一个观测点,y_j为k进行中的随机抽取的样本
    • 将新样本与原数据合成,产生新的训练数据集。

    示例 :
    如果现在有一个违约样本 x (30,10000) ,分别表示(年龄,收入),现在在k临近中选取了一个样本y(40,15000),然后根据这两个样本进行新的样本生成:

    假设rand为随机数为0.4 则 new_age = 30 + 0.4 * (40 - 30) = 34
    new_income =10000 + 0.4(15000 - 10000) = 12000
    从而合成的新样本为 : (34,12000)

    展开全文
  • 在时域线性叠加识别法原理的基础上,提出多样本字典、多样本字典后处理等技术,这些技术克服了单样本字典中单输入对应单输出权重系数α,导致正确识别帧数,从而引起结果可靠性降低的缺点,提高了音符识别正确率和稳健...
  • kNN算法缺点

    万次阅读 2017-11-03 22:22:31
    1.kNN算法缺点 优点 简单好用,容易理解,...样本不平衡问题(即有些类别的样本数量很多,而其它样本的数量很);一般数值很大时候不用这个,计算量太大。但是单个样本又不能太,否则容易发生误分。


    1.kNN算法的优缺点

    优点

    • 简单好用,容易理解,精度高,理论成熟,既可以用来做分类也可以用来做回归;
    • 可用于数值型数据和离散型数据;
    • 训练时间复杂度为O(n);无数据输入假定;
    • 对异常值不敏感。

    缺点:

    • 计算复杂性高;空间复杂性高;
    • 样本不平衡问题(即有些类别的样本数量很多,而其它样本的数量很少);
    • 一般数值很大的时候不用这个,计算量太大。但是单个样本又不能太少,否则容易发生误分。
    • 最大的缺点是无法给出数据的内在含义。

    2. 其他

    • 关于距离度量的方法还有切比雪夫距离、马氏距离、巴氏距离等;
    展开全文
  • 1,通过过抽样和欠抽样解决样本不均衡 1,过抽样:过抽样也叫做上采样(over-...但是这种方法的缺点就是如果样本特征而可能导致过拟合的问题;经过改进的过抽样方法通过在少数类中加入随机噪声、干扰数据或通过一...

    1,通过过抽样和欠抽样解决样本不均衡

    1,过抽样:过抽样也叫做上采样(over-sampling).这种方法通过增加分类中少数样本的数量来实现样本均衡。最直接的方法是简单复制少数样本形成多条记录。比如正负比例为1:10,那么我们可以将正例复制9遍来达到正负比例1:1。但是这种方法的缺点就是如果样本特征少而可能导致过拟合的问题;经过改进的过抽样方法通过在少数类中加入随机噪声、干扰数据或通过一定规则产生新的合成样本,例如SMOTE算法。
    2,欠抽样:欠抽样也叫做下采样(under-sampling),这种方法通过减少分类中多数分类的样本数量来实现样本均衡,最直接的方法就是随机的去掉一些多数类样本来减小多数类的规模,缺点是会丢失多数类样本中的一些重要信息。

    总而言之,过抽样和欠抽样更适合于大数据分布不均衡的情况,尤其是第一种(过抽样)应用更加广泛。


    2,通过正负样本的惩罚权重解决样本不均衡。
    3,通过组合集成方法解决样本不均衡。
    4,通过特征选择解决样本不均衡

    后面三种方法就不具体展开记录了,具体步骤见参考地址
    参考地址:https://www.zhihu.com/question/56662976

    展开全文
  • 降低对样本的灵敏性。但我们建模就是要找到这样本,所以必须对数据加以处理,来提高灵敏性。 解决方案 1. 过采样 对坏人群提高权重,即复制坏样本,提高坏样本的占比。 优点: 简单,对数据质量要求...
  • 样本不均衡

    2019-06-28 20:49:13
    该方法通过增加分类中少数类样本的数量来实现样本均衡,最直接的方法是简单复制少数类样本形成多条记录,这种方法的缺点是如果样本特征而可能导致过拟合的问题;经过改进的过抽样方法通过在少数类中加入随机噪声、...
  • (1) 基础版本的过采样:随机过采样训练样本中数量比较少的数据;缺点,容易过拟合; (2) 改进版本的过采样:SMOTE,通过插值的方式加入近邻的数据点; (3) 基于聚类的过采样:先对数据进行聚类,然后对聚类...
  • 贝叶斯方法缺点及其应用场景

    千次阅读 2019-07-15 11:00:23
    在分布独立这个假设成立情况下,贝叶斯分类器效果奇好,会略胜于逻辑回归,同时我们需要的样本量也更一点。 对于类别类输入特征变量,效果非常好。对于数值型变量特征,我们是默认它符合正态分布缺点...
  • 如何从多个样本中查找 在线文档FindBugs™错误描述简洁明了。 不幸是,描述某些部分不容易理解(即使对于有... 错误描述主要缺点是,它很使用示例代码来演示错误和正确情况。 我动机是在接下来几周...
  • 机器学习常见算法优缺点

    千次阅读 2016-12-28 17:50:49
    1. K近邻 算法采用测量不同特征值之间距离方法进行分类。 1.1 优点 简单好用,容易理解,精度高,理论成熟,既...样本不平衡问题(即有些类别的样本数量很多,而其它样本的数量很); 一般数值很大时候不用
  • 监督学习算法应用场景和优缺点

    千次阅读 2018-12-31 14:28:56
    转自简书-刘开心_8a6c 记录一波监督学习算法应用场景和优缺点。 高斯朴素贝叶斯 场景:该模型常用于性别分类,即通过一些测量特征,...通常,当训练样本数量较或者是精确分布已知时,通过概率分布方法是...
  • 1. 随机森林优缺点随机森林(RF)是Bagging一个扩展变体。RF在以决策树为基分类器进行集成基础上,进一步在决策树训练过程中引入了随机属性选择。Bagging就是对数据集训练多个基分类器,然后将基分类器得到...
  • 过采样 通过增加分类中样本少的类别的采样数量来实现平衡,最直接的方法是简单复制小样本数据时加入随机噪声、干扰数据等。 1.2 .欠采样(下采样) 通过减少分类中多数类样本的数量来实现样本均衡,最直接的方法是...
  • 随着当今世纪实时应用程序使用数字数据,这些数据安全性变得重要和必不可。 处理此类数字数据时要考虑不同方面是保持真实性,确保数据在传输过程中不被修改,并且除了预期用户之外没有其他人可以读取这些...
  • 模型评估函数缺点、选择举例

    千次阅读 2018-11-20 20:32:38
     局限性:对于样本类别之间数量差距很大的数据,运用准确率作为评价标准,很容易让模型得到‘满足’,但是,我们关注的可能往往是数量较少的呢一个类别,比如免费玩家和充值玩家,对于游戏公司希望对模型对充值玩家...
  • 样本查找错误警告

    2020-04-16 06:58:05
    在线文档FindBugs™错误描述简洁明了。 不幸是,描述某些部分不容易理解(即使对于有... 错误描述主要缺点是,它很使用示例代码来演示错误和正确情况。 我动机是在下周发布一系列包含所选警告简单...
  • 如果解决长尾数据(样本不均衡)

    千次阅读 2019-06-26 20:20:14
    以上这些的缺点很明显:对于大样本采样过,会导致某张图片只训练了一次,这样使得大样本训练不好,导致整体的正确率都会下降,并且小样本会过拟合。 focal loss(多用于检测中二分类,不是严格意义上的长尾数据)...
  • 传统机器学习优缺点

    千次阅读 2018-08-12 04:10:33
    训练样本的数量 特征空间维数 特征独立与否? 模型是否是线性可分? 过拟合现象? 速度、性能、内存 logistic回归缺点 优点: 容易实现,且易于解释(输出结果为概率) 计算速度快,内存占用 缺点: ...
  • KNN分类算法优缺点

    万次阅读 2017-08-22 19:53:05
    KNN算法优点:1、思想简单,理论成熟,既...2、样本不平衡问题(即有些类别的样本数量很多,而其它样本的数量很); 3、需要大量内存;其伪代码如下: 1. 计算已知类别数据集中点与当前点之间距离; 2.
  • 传统机器学习算法优缺点总结

    千次阅读 2020-06-29 07:40:11
    传统机器学习算法优缺点总结 算法 优点 缺点 ...计算简单,在数据量较少的情况下依然有效,也适用于多分类的问题 属性的相互独立假设在实际问题中可能得不到很好的满足。该算法在医学、经济和
  • K近邻 算法采用测量不同特征值之间距离方法进行分类。 优点:1.简单好用,容易理解,精度高,理论成熟,既可以...2.样本不平衡问题(即有些类别的样本数量很多,而其它样本的数量很);3.一般数值很大时候...
  • 如果只做一次分割,它对训练集、验证集和测试集的样本数比例,还有分割后数据分布是否和原始数据集分布相同等因素比较敏感,不同划分会得到不同最优模型,而且分成三个集合后,用于训练数据更了。...
  • 朴素贝叶斯优点:在数据较少的情况下仍然有效,可以处理多类别问题缺点:对于输入数据的准备方式较为敏感适用数据类型:标称型数据朴素贝叶斯决策理论的核心思想:选择具有最高概率的决策朴素贝叶斯的一般过程(1)...
  • 一般来说,如果ROC是光滑,那么基本可以判断没有太大overfitting(比如图中0.2到0.4可能就有问题,但是样本了),这个时候调模型可以只看AUC,面积越大一般认为模型越好。 再说PRC, precision recal...
  • 背景建模--Vibe 算法优缺点分析

    千次阅读 2017-02-13 11:21:04
    背景建模--Vibe 算法优缺点分析 ...Vibe通常随机选取邻域20个样本为每个像素点建立一个基于样本的背景模型,具有初始化速度快、内存消耗和占用资源等优点,随后,利用一个二次抽样因子φ,使有限
  • Vibe通常随机选取邻域20个样本为每个像素点建立一个基于样本的背景模型,具有初始化速度快、内存消耗和占用资源等优点,随后,利用一个二次抽样因子φ,使有限的样本基数能近似表示无限时间窗口,即

空空如也

空空如也

1 2 3 4 5 ... 9
收藏数 161
精华内容 64
关键字:

样本少的缺点