基于广义类别混合分布和偏差互补假设的小样本学习方法与流程

未命名 07-15 阅读:113 评论:0


1.本发明属于小样本学习技术领域,特别涉及一种基于广义类别混合分布和偏差互补假设的小样本学习方法。


背景技术:

2.近年来,深度学习在图像处理和自然语言处理上取得了巨大的成功,如vgg,resnet等等。但是,大部分的成功都建立在大规模的数据基础上,而从少数样本中学习仍然是困难的。与此相反,人类可以很容易地从几个样本中学习辨别新的类别,这表明现有算法离人类智能仍有很大距离。
3.从少数样本中学习有效识别模式的难题称为小样本学习,已经有一些研究致力于解决该问题。常见的学习方式主要有以下几种:
4.(1)元学习(meta-learning,learning-to-learning):在小样本学习方面,元学习可以利用在其他任务上的学习经验,对新的任务作快速辅助学习,比如,学习设计神经结构,学习初始化参数,学习设计优化器,学习设计损失函数等。元学习分类器可以很容易地迁移到新的学习任务上,但在学习的设计和效果上仍然是一个未解决的难题。
5.(2)度量学习(metric learning):该方法把样本映射到度量空间,使得同类样本在空间中的距离靠近、异类样本距离远离,以达到更好的分类效果。
6.(3)生成和增强样本方法(generative and augmentation traning sample):既然主要问题是样本太少,那么增加训练样本就是一个很自然的想法。这主要分为两类,一类是直接生成新的样本,比如,基于gan、基于vae或者直接合成的新样本;另一类是特征增强,主要的代表有attribute-guided augmentation、multi-level semantic feature augmentation等,但这些算法很少对于数据的先验分布进行分析,attribute-guided augmentation是直接把训练集按照对应属性两两分对,然后对潜在变量直接线性操作,multi-level semantic feature augmentation是训练了一个属性操作网络。
7.这些算法无论是线性还是非线性都是在全部数据集全部属性上进行操作,而没有考虑数据的先验分布。对一个分布未知的潜在变量进行操作,带来的问题是:无法区分哪些变化是小样本可以学习的,哪些变化是小样本无法学习的,同时变化的范围也无法确定。


技术实现要素:

8.本发明是为了解决上述问题而进行的,目的在于提供一种基于广义类别混合分布和偏差互补假设的小样本学习方法。
9.一般认为,小样本学习效果差的主要是因为数据的偏差太大,当数据集太少时,很容易导致过拟合。但是,发明人经过创造性思考和多次实验验证后认为这是因为当前的网络对数据集中的信息提取不够完全,应当从数据中提取更多的信息,包括之前所认为的无效信息,即、数据集中的所有信息都是有用的。为此,本发明首先提出了以下两个假设:
10.(1)广义类别混合分布假设:同一广义类下的共同属性的混合分布趋近于正态分
布。广义类指的是具有某种共同属性的数据类别,比如,所有的动物,所有的植物,所有的手写字符等。共同属性指的在这一广义类下所有类别都具有的属性,比如,在哺乳动物这一类别下,应具有外表肤色,眼睛大小,身长等属性。广义类下这些属性的概率分布函数可以假设为正态分布。
11.(2)偏差互补假设:假设在少样本情况下,不同种类在共同属性的分布偏差也不同。而因为以上假设了同一广义类下的共同属性的混合分布趋近于正态分布,可得出这些不同种类的偏差应该是可以互补的。
12.发明人通过对不同规模的数据分布进行实验分析,发现:在上面两个假设的基础上,可以对同一广义类下不同子类的数据的偏差进行补充,即、在一定条件下,可以把某一个类的属性变化迁移到另一个类上面,比如,姿态变化,完整度变化等等。因此,这两个假设可以作为小样本下数据扩充的一个假设基础。
13.本发明为了实现上述目的,采用了以下方案:
14.本发明提供一种基于广义类别混合分布和偏差互补假设的小样本学习方法,具有这样的特征,包括以下步骤:
15.步骤s1,数据采集与划分,采集数据,将与需要识别的目标类别相对应的数据作为目标数据而生成目标数据集,并将与目标类别不同但属于同一广义类别的类别相对应的数据作为背景数据而生成背景数据集;
16.步骤s2,数据混合,将目标数据和背景数据按照预设比例进行混合而得到第一训练数据集;
17.步骤s3,数据预处理,对第一训练数据集进行预处理得到预处理后的第一训练数据集;
18.步骤s4,训练生成器,使用预处理后的第一训练数据集对采用预设算法的生成器进行训练,从而得到训练后的生成器;
19.步骤s5,样本生成,使用训练后的生成器生成与目标数据对应的类别相同但属性不同的新样本数据,并将所有新样本数据和所有目标数据合并而得到第二训练数据集;
20.步骤s6,训练目标类别的分类器,使用第二训练数据集对目标类别的分类器进行训练,从而得到训练后的分类器;
21.步骤s7,利用分类器预测,利用训练后的分类器对与目标类别相对应的新的数据进行预测。
22.在本发明提供的基于广义类别混合分布和偏差互补假设的小样本学习方法中,还可以具有这样的特征:其中,步骤s5具体包括以下子步骤:
23.步骤s5-1,在目标数据集中选取一个目标数据m;并在背景数据集中选取对应于任意一个类别的两个背景数据,分别记为ba、bb;
24.步骤s5-2,将目标数据m和两个背景数据za、zb输入训练后的生成器,得到对应的潜在向量zm、za、zb;
25.步骤s5-3,利用下面公式计算潜在向量za、zb的属下变化d
ab

26.27.其中,std为整个背景数据集对应的潜在变量{z}在各个维度的统计方差;
28.步骤s5-4,利用下面公式计算新样本数据m'对应的潜在向量z';
29.z'=zm+d
ab
30.步骤s5-5,将潜在向量z'输入训练后的生成器得到新样本数据m';
31.步骤s5-6,将所有新样本数据和所有目标数据合并而得到第二训练数据集。
32.在本发明提供的基于广义类别混合分布和偏差互补假设的小样本学习方法中,还可以具有这样的特征:其中,在步骤s4中,预设算法为自回归模型ar、变分自编码vaes、生成对抗网络gan以及可逆生成流模型glow中的任意一种。
33.在本发明提供的基于广义类别混合分布和偏差互补假设的小样本学习方法中,还可以具有这样的特征:其中,在步骤s2中,预设比例为s:1,s为大于等于1的正整数。
34.在本发明提供的基于广义类别混合分布和偏差互补假设的小样本学习方法中,还可以具有这样的特征:其中,步骤s3具体为:先将第一训练数据中的所有数据统一缩放到m
×
n的大小,然后把每个数据的大小范围统一缩放到[a,b],并具有均值m、方差d,从而得到预处理后的第一训练数据集。
[0035]
与其他小样本学习方法相比,本发明的基于广义类别混合分布和偏差互补假设的小样本学习方法具有以下优点:
[0036]
(1)可以从其他类别中学习潜在变化,比如姿态方向、光照、局部属性的变化,并把该变化投射到目标类别上生成新的样本,从根本上解决小样本学习的偏差难题。
[0037]
(2)本发明的小样本学习方法所需要的分类模型与正常分类模型一样,因此可以快速的嵌入到现有的工作中,而不需要额外增加预测时的负担。
附图说明
[0038]
图1是本发明的实施例中基于广义类别混合分布和偏差互补假设的小样本学习方法的动作流程图;
[0039]
图2是本发明的实施例中glow算法模型的整体框架;
[0040]
图3是本发明的实施例中glow算法模型step offlow的详细结构;以及
[0041]
图4是本发明的实施例中resnet50网络结构图。
具体实施方式
[0042]
为了使本发明实现的技术手段、创作特征、达成目的与功效易于明白了解,以下结合实施例及附图对本发明作具体阐述。
[0043]
一般认为,小样本学习效果差的主要是因为数据的偏差太大,当数据集太少时,很容易导致过拟合。但是,发明人经过创造性思考和多次实验验证后认为这是因为当前的网络对数据集中的信息提取不够完全,应当从数据中提取更多的信息,包括之前所认为的无效信息,即、数据集中的所有信息都是有用的。为此,本发明首先提出了以下两个假设:
[0044]
(1)广义类别混合分布假设:同一广义类下的共同属性的混合分布趋近于正态分布。广义类指的是具有某种共同属性的数据类别,比如,所有的动物,所有的植物,所有的手写字符等。共同属性指的在这一广义类下所有类别都具有的属性,比如,在哺乳动物这一类别下,应具有外表肤色,眼睛大小,身长等属性。广义类下这些属性的概率分布函数可以假
设为正态分布。
[0045]
(2)偏差互补假设:假设在少样本情况下,不同种类在共同属性的分布偏差也不同。而因为以上假设了同一广义类下的共同属性的混合分布趋近于正态分布,可得出这些不同种类的偏差应该是可以互补的。
[0046]
发明人通过对不同规模的数据分布进行实验分析,发现:在上面两个假设的基础上,可以对同一广义类下不同子类的数据的偏差进行补充,即、在一定条件下,可以把某一个类的属性变化迁移到另一个类上面,比如,姿态变化,完整度变化等等。因此,这两个假设可以作为小样本下数据扩充的一个假设基础。
[0047]
《实施例》
[0048]
在本实施例中,以omniglot手写字符数据集做小样本学习任务为例进行说明。omniglot手写字符数据集可以视为一个广义类,即手写字符类;它来自50种不同字母表,包含1623种不同的手写字符,每个类别有20个样本。
[0049]
参考图1,本发明提供了一种基于广义类别混合分布和偏差互补假设的小样本学习方法,包括以下步骤s1-s7。
[0050]
步骤s1,数据采集与划分,采集数据,将与需要识别的目标类别相对应的数据作为目标数据而生成目标数据集,并将与目标类别不同但属于同一广义类别的类别相对应的数据作为背景数据而生成背景数据集。
[0051]
本发明方法进行小样本学习时需要两类数据:一类是待训练的目标类别的少量样本的目标数据,即、与需要识别的目标类别相对应的数据;二是与目标类别相关的背景数据,即、与目标类别不同但属于同一广义类别的类别相对应的数据。比如,需识别小样本的目标数据为手写字符时,背景数据最好是其他手写字符。这样,把所有手写字符视为一广义类,在该广义类下,就可以实现把背景数据中同一类别之间的属性变化迁移到目标类别中。
[0052]
在本实施例中,从omniglot手写字符数据集的1623种字符中随机取20种作为目标类别,其余作为背景集。
[0053]
步骤s2,数据混合,按照预设比例将目标数据和背景数据进行混合而得到第一训练数据集。
[0054]
具体地,预设比例为s:1,s为大于等于1的正整数。这样混合的目的是为了保证目标数据和背景数据在进行生成器训练时采样的平衡性。
[0055]
在本实施例中,s取1。
[0056]
步骤s3,数据预处理,对第一训练数据集进行预处理得到预处理后的第一训练数据集。
[0057]
在本发明中,步骤s3具体为:先将第一训练数据中的所有数据统一缩放到m
×
n的大小,然后把每个数据的大小范围统一缩放到[a,b],并具有均值m、方差d,从而得到预处理后的第一训练数据集。
[0058]
在本实施例中,m、n均取64,a为-1,b为1,m为0,d为0.5。
[0059]
步骤s4,训练生成器,使用预处理后的第一训练数据集对采用预设算法的生成器进行训练,从而得到训练后的生成器。
[0060]
具体地,生成器可以是各种样式,只要能完整地生成数据样本本身就可以。比如,自回归模型ar、变分自编码vaes、生成对抗网络gan以及可逆生成流模型glow等。
[0061]
在本实施例中,以glow为例进行说明,把混合后的数据输入glow网络,并使用梯度下降算法把损失函数降低最低,之后得出的模型即为训练后的生成器。
[0062]
glow的原理是对输入的复杂的高维数据进行一个非线性变换,同时这个变换是可逆的。通过这个变换将输入的高维数据映射到潜在空间,产生独立的潜在变量(反之亦然),即找到可逆的双射来实现输入和潜在空间的相互转换。如图2所示,对输入张量x经过若干步骤后得到潜在向量z。
[0063]“squeeze”表示对输入张量x做通道维度压缩,split表示对输入张量x做通道维度分离,其他即k个“step offlow”的叠加。
[0064]
glow模型中的关键步骤是“step offlow”,该步骤的详细结构如图3所示,包含如下步骤:
[0065]
第一步是actnorm预处理层,计算公式如下:
[0066][0067]
i,j表示二维宽高序号,x
i,j
表示输入张量,y
i,j
表示输出张量,s表示缩放参数,b表示偏差参数。通过acrnorm层对数据进行规范化处理,采用每个通道的缩放参数s和偏差参数b进行激活,使得小批量的数据在激活后具有零均值和单位方差,参数s和b随着训练而更新本身值。
[0068]
第二步是invertible 1x1 convolution,公式如下:
[0069][0070]
w为可逆的1x1卷积核,目的是采用矩阵乘法实现对各个维度数据的打乱,使信息混合得更加充分,同时采用1x1的卷积核使得参数矩阵可以训练。具有相等数量的输入和输出通道的1
×
1卷积是置换操作的概括。通过矩阵的简化计算,可以简化整体的计算量。
[0071]
第三步是affine transformation仿射变换层,计算公式如下:
[0072]
xa,xb=split(x)
[0073]
(log s,t)=nn(xb)
[0074]
s=exp(log s
[0075]
ya=s

xa+t
[0076]
yb=xb[0077]
y=concat(ya,yb)
[0078]
从输入张量x的通道维度上将其分成两半,分别为张量xa和xb。nn为卷积神经网络,用nn对xb做非线性变换,得到输出张量logs和t。对logs做exp计算得张量s,使用张量s对张量xa做仿射耦合变换得ya,yb等于xb。将yb与ya在通道上concat在一起,得到输出y。
[0079]
z代表了输入张量x在潜在空间中的向量,因为在各个维度的分布假设是独立的,因此可以认为z是x的解耦表示,即x的属性表示。
[0080]
步骤s5,样本生成,使用训练后的生成器生成与目标数据对应的类别相同但属性不同的新样本数据,并将所有新样本数据和所有目标数据合并而得到第二训练数据集。
[0081]
具体地,步骤s5包括以下子步骤:
[0082]
步骤s5-1,在目标数据集中选取一个目标数据m;并在背景数据集中选取对应于任意一个类别的两个背景数据,分别记为ba、bb。
[0083]
步骤s5-2,;将目标数据m和两个背景数据za、zb输入训练后的生成器,得到对应的潜在向量zm、za、zb。
[0084]
步骤s5-3,利用下面公式计算潜在向量za、zb的属下变化d
ab

[0085][0086]
其中,std为整个背景数据集对应的潜在变量{z}在各个维度的统计方差。
[0087]
步骤s5-4,利用下面公式计算新样本数据m'对应的潜在向量z';
[0088]
z'=zm+d
ab
[0089]
步骤s5-5,将潜在向量z'输入训练后的生成器得到新样本数据m'。
[0090]
步骤s5-6,将所有新样本数据和所有目标数据合并而得到第二训练数据集。
[0091]
步骤s6,训练目标类别的分类器,使用第二训练数据集对目标类别的分类器进行训练,从而得到训练后的分类器。
[0092]
具体地,分类器一般由卷积网络,全连接网络和递归网络构成。以经典的残差网络resnet50为例,如图4所示,由多层卷积网络排列而成,最后一层输出样本的类别。损失函数可以选择交叉熵损失或者平方损失函数等,然后使用随机梯度或自适应矩估计等优化损失函数达到自己的目标值。
[0093]
步骤s7,利用分类器预测,利用训练后的分类器对与目标类别相对应的新的数据进行预测。
[0094]
具体地,设新的目标数据样本为xi,输入分类器可得到结果类别。
[0095]
本实施例中的基于广义类别混合分布和偏差互补假设的小样本学习方法,在omniglot数据集上,在使用目标数据20个类别,每个类别使用1个样本的情况下,可以达到90%以上的准确率。
[0096]
上述实施方式为本发明的优选案例,并不用来限制本发明的保护范围。
[0097]
例如,上述实施方式中的分类器可替代为任何一种深度学习神经网络,包括但不限于由卷积神经网络、全连接网络、递归循环网络等组成的分类模型。

技术特征:
1.一种基于广义类别混合分布和偏差互补假设的小样本学习方法,其特征在于,包括以下步骤:步骤s1,数据采集与划分,采集数据,将与需要识别的目标类别相对应的数据作为目标数据而生成目标数据集,并将与所述目标类别不同但属于同一广义类别的类别相对应的数据作为背景数据而生成背景数据集;步骤s2,数据混合,将所述目标数据和所述背景数据按照预设比例进行混合而得到第一训练数据集;步骤s3,数据预处理,对所述第一训练数据集进行预处理得到预处理后的第一训练数据集;步骤s4,训练生成器,使用所述预处理后的第一训练数据集对采用预设算法的生成器进行训练,从而得到训练后的生成器;步骤s5,样本生成,使用所述训练后的生成器生成与所述目标数据对应的类别相同但属性不同的新样本数据,并将所有所述新样本数据和所有所述目标数据合并而得到第二训练数据集;步骤s6,训练目标类别的分类器,使用所述第二训练数据集对目标类别的分类器进行训练,从而得到训练后的分类器;步骤s7,利用分类器预测,利用所述训练后的分类器对与所述目标类别相对应的新的数据进行预测。2.根据权利要求1所述的基于广义类别混合分布和偏差互补假设的小样本学习方法,其特征在于:其中,所述步骤s5具体包括以下子步骤:步骤s5-1,在所述目标数据集中选取一个目标数据m;并在所述背景数据集中选取对应于任意一个类别的两个背景数据,分别记为b
a
、b
b
;步骤s5-2,将目标数据m和两个背景数据z
a
、z
b
输入所述训练后的生成器,得到对应的潜在向量z
m
、z
a
、z
b
;步骤s5-3,利用下面公式计算潜在向量z
a
、z
b
的属下变化d
ab
:其中,std为整个背景数据集对应的潜在变量{z}在各个维度的统计方差;步骤s5-4,利用下面公式计算新样本数据m'对应的潜在向量z';z'=z
m
+d
ab
步骤s5-5,将潜在向量z'输入所述训练后的生成器得到新样本数据m';步骤s5-6,将所有所述新样本数据和所有所述目标数据合并而得到第二训练数据集。3.根据权利要求1所述的基于广义类别混合分布和偏差互补假设的小样本学习方法,其特征在于:其中,在所述步骤s4中,所述预设算法为自回归模型ar、变分自编码vaes、生成对抗网络gan以及可逆生成流模型glow中的任意一种。4.根据权利要求1所述的基于广义类别混合分布和偏差互补假设的小样本学习方法,
其特征在于:其中,在所述步骤s2中,所述预设比例为s:1,s为大于等于1的正整数。5.根据权利要求1所述的基于广义类别混合分布和偏差互补假设的小样本学习方法,其特征在于:其中,所述步骤s3具体为:先将所述第一训练数据中的所有数据统一缩放到m
×
n的大小,然后把每个数据的大小范围统一缩放到[a,b],并具有均值m、方差d,从而得到所述预处理后的第一训练数据集。

技术总结
本发明提供一种基于广义类别混合分布和偏差互补假设的小样本学习方法,包括以下步骤:步骤S1,采集数据,将与需要识别的目标类别相对应的数据作为目标数据而生成目标数据集,并将与目标类别不同但属于同一广义类别的类别相对应的数据作为背景数据而生成背景数据集;将目标数据和背景数据混合得到第一训练数据集;对第一训练数据集进行预处理;使用预处理后的第一训练数据集对采用预设算法的生成器进行训练从而得到训练后的生成器;使用训练后的生成器生成与目标数据对应的类别相同但属性不同的新样本数据,并将所有新样本数据和所有目标数据合并得到第二训练数据集;使用第二训练数据集对目标类别的分类器进行训练;利用训练后的分类器进行预测。用训练后的分类器进行预测。用训练后的分类器进行预测。


技术研发人员:胡玉帅
受保护的技术使用者:上海悠络客电子科技股份有限公司
技术研发日:2023.04.12
技术公布日:2023/7/12
版权声明

本文仅代表作者观点,不代表航空之家立场。
本文系作者授权航家号发表,未经原创作者书面授权,任何单位或个人不得引用、复制、转载、摘编、链接或以其他任何方式复制发表。任何单位或个人在获得书面授权使用航空之家内容时,须注明作者及来源 “航空之家”。如非法使用航空之家的部分或全部内容的,航空之家将依法追究其法律责任。(航空之家官方QQ:2926969996)

飞行汽车 https://www.autovtol.com/

分享:

扫一扫在手机阅读、分享本文

相关推荐