一种基于全局语义一致网络的零样本学习方法与流程

文档序号:16000913发布日期:2018-11-20 19:26阅读:322来源:国知局

本发明属于机器学习技术领域,涉及零样本学习框架设计技术领域,尤其涉及一种基于全局语义一致网络的零样本学习方法。



背景技术:

随着社交媒体及数字采集设备的普及,网络上存在着海量的视频及图像数据。然而这些数据却面临着数据样本分布不均衡、以及样本无监督等问题,因此如何在样本量不足甚至零样本、以及样本无标注的情况下,充分利用社交媒体中的数据,成为了计算机视觉领域的开放式问题。在一些实际应用中,标注的训练样本可能无法覆盖所有目标类别,如物种识别、动作识别、异常检测、开放集学习。零样本学习为解决这一类问题提供了一套系统的框架,即利用类的语义信息(class semantic information)。这些语义信息,如属性标注,标签词向量等,可以一致地编码成属性向量,后者也可称作类嵌入(class embedding)或标签语义嵌入(label semantic embedding)。

零样本学习(Zero-shot Learning,ZSL)用可见类(seen classes)的样本训练,然后在未见类(unseen classes)的样本测试。联系它们的是可见类和未见类的语义嵌入。ZSL的本质是学习视觉特征和类嵌入的关联,并将它迁移到未见类。

大多数现有的ZSL模型可以被分为以下3类:

(1)学习一个图像特征和类嵌入之间的适配性函数,将ZSL的分类看作是一个适配分数排序问题。这类方法提供了建立两者联系的通用框架,但也有以下问题:属性标注是单点标注(pointwise)而非成对标注(pairwise),排序失去了绝对距离信息;适配性分数没有上界;由于固定间隔(fixed margin)排序学不到一些语义结构。

(2)将视觉特征和语义嵌入投影到一个公共的空间,将ZSL的学习问题看作一个脊回归(ridge regression)。这个公共空间可以是视觉空间、语义空间、或者两者的共享空间。这类方法的预测过程是一个高维空间的近邻搜索,可能会导致中心性问题(hubness problems)。

(3)Morgado et al.通过对神经网络最后一层全连接施加一个语义一致正则化来实现基于可见类属性矩阵的端到端的训练。这个工作为端到端ZSL模型提供了一个新的思路,但该方法没有考虑以下几点:a)不同属性对分类判别的帮助是不同的;b)可见类与未见类的属性关联以及未见类的属性与训练样本特征之间的关系。



技术实现要素:

针对以上现有技术中的问题,本发明的目的在于提供一种基于全局语义一致的零样本学习方法。本发明通过在训练阶段充分利用全体类的语义信息,同时引入一种神经加权单元和带可调参数的新类检测PND机制,实现对图像是可见类和未见类的有效和正确预测和区分。

本发明中,零样本学习ZSL问题具体描述如下:假定我们需要对ntr个可见类和nts个未见类中的样本做分类,可见类和未见类别空间不相交。在可见类空间上,给定Ntr个标记样本的训练集Dtr={(Ii,yi),i=1...Ntr},其中Ii是第i个训练样本的图像,yi是第个训练样本的标签。给定属性矩阵a,其对应可见类别,对应未见类别,La为类别标注的属性维度。ZSL的测试阶段只需要在未见类范围预测测试样本类别,其目标是对一个新的测试图片Ij预测其标签而泛化零样本学习(Generalized zero-shot learning,GZSL)的测试阶段要在全体类范围对测试样本类别作预测,其目标是对Ij在同时包含可见和未见类的全集类上预测其标签

本发明中,将全体类的语义信息一起作为全连接层权重(或其约束)加入到深度学习框架,采用两个全连接对应位(Elementwise)乘积的非线性自加权结构,提高方法的拟合能力和鲁棒性。并且,输出层将每个类上得到的“投影分数”经过softmax分类,使用与标准神经网络一致的交叉熵损失函数,建立基于深度学习、全局类语义一致的端到端零样本学习框架,该学习框架可命名为全局语义一致网络GSC-Net(Global Semantic Consistency Neural Network)。本发明的技术方案具体介绍如下:

一种基于全局语义一致网络的零样本学习方法,通过建立的全局语义一致网络GSC-Net实现端到端的零样本学习;其中:所述全局语义一致网络GSC-Net中,图像从输入到输出依次经过以下几个神经网络层:

(1)CNN(卷积神经网络,Convolutional Neural Network)模块:x=CNN(I),其中I表示输入的RGB图像;CNN模块使用ImageNet全监督的数据集预训练好的卷积神经网的卷积模块作为图像特征提取器,每张RGB图像I经过该CNN模块,得到一个一维的CNN特征x,其长度是CNN模块的池化层输出维度;

(2)神经加权单元NeWUnit:由FC0层、FC1层、以及它们的对应位(element-wise)乘积组成;其中:

FC0层:x0=W0x+b0,其中W0,b0为全连接层参数。FC0层将图像的CNN特征x映射到类别标准的属性维度La的空间,在端到端的训练收敛后,该层的输出是图像在各属性上的表达值x0;

FC1层:x1=σ(W1x+b1),其中,W1,b1为全连接层参数,σ为非线性激活函数,这里用一个Dropout单元和Sigmoid函数,FC1层维度与FC0层一致,多加了一个Dropout单元和Sigmoid非线性函数,FC1层兼顾了对CNN特征x的考虑W1和对各属性不同类判别性的加权b1,在端到端的训练后,该层的输出表示图像在各属性上的表达值对分类影响的权重x1。

对应位乘积:xa=x1·x0,将FC1层得到的权重x1乘到FC0层得到的对应属性的表达值x0上;x0有正有负确定了属性表达值xa的方向,x1在0~1之间,可控制不同属性的强度以及增加非线性;

(3)全局语义一致层(Global Semantic Consistency Layer,GSC):其中a表示类属性矩阵;该层将各属性上的分数通过类属性矩阵投影到各类上,并通过softmax层进行概率归一化;

(4)损失函数层:该层采用交叉熵:

其中:ytrue是样本对应的one-hot真实标签,是神经网络输出的预测结果。

本发明中,零样本学习方法的具体步骤如下:

步骤1:用在ImageNet或纯可见类训练集上全监督学习预训练好的CNN卷积层参数作为GSC-Net神经网络框架中CNN模块的初始参数;

步骤2:用全局语义一致网络GSC-Net在训练集样本和标签的监督下进行端到端的训练,开始2-4个训练周期冻结CNN模块参数,只训练神经加权单元NeWUnit的全连接层权重,之后再将CNN模块加入一起训练,通过早停止策略选择存下来的不同训练周期的GSC-Net模型;

步骤3:将待预测的样本输入步骤2中训练好的GSC-Net模型,对ZSL和GZSL任务分别采用如下策略:

①ZSL任务:未见类投影中最高分数的类为预测结果:

②GZSL任务:采用新类检测机制(Parametric Novelty Detection,PND)对softmax的概率化输出进行GZSL预测,即将可见类和未见类中最高投影分值比较,若大于阈值γ,则取可见类最高分的类,否则视作检测到未见类,具体公式如下:

本发明中,步骤2中,根据早停止策略选择可见类验证集上准确率最高的GSC-Net模型。

本发明中,对于某一领域的全体类,可获取其类语义信息,如全体标签的词向量、全体类的视觉属性矩阵等,其中可见类需给定一定量代标注的训练样本;

(1)本发明中带标签的可见类样本通过全局语义一致网络GSC-Net训练时时,其one-hot标签产生的损失经反向传播将会通过类属性矩阵构成的全连接层对每一个属性维度的结果做一个相应的激励,这就引导了GSC-Net逐步学到对样本在每个属性维度上进行正确打分,以完成最后正确分类。而未见类也借助这些维度上的打分,通过未见类属性矩阵得到了相互之间的区分,从而实现了对未见类的有效分类。

(2)由于单一图像可能只会体现该类的某一部分属性,而且不同属性对分类的判别能力不同,因此通过神经加权层进行非线性变换对每一张图像都学习一组对其属性的加权,有助于更正确地训练样本,增强属性维度的可解释性。

(3)由于训练时只会有可见类样本通过神经网络,可见类关联的属性会有很强的加成,因此采用本发明的带可调参数的新类检测PND机制训练时,可见类上分数也可能在一定程度上会比未见类高,若要对全体类之间分类,对未见类的分数加成会帮助更真实地反映实际分类结果。

(4)本发明方法框架简单、使用方便、可扩展性强、可解释性强,并在三大主流视觉属性数据集的ZSL和GZSL两大任务的结果上,都远远超过了现有方法。本发明能够为计算机视觉、自然语言处理和推荐系统等涉及到零样本学习的领域,提供基础框架和算法的支持,也能很容易地扩展到开放集识别、增量学习和在线学习等问题。

附图说明

图1为ZSL和GZSL示意图。

图2为全局语义一致网络框架GSC-Net示意图。

图3为GSC-Net在SUN数据集上的ZSL和GZSL结果随训练过程变化图。

图4为GSC-Net在CUB数据集上的ZSL和GZSL结果随训练过程变化图。

具体实施方式

下面给出本发明方法的具体实现设置,并给出本发明方法的性能测试与分析,以对本发明方法的实施过程进行更具体的描述。

一、方法实现

零样本学习任务可用的数据如下:可见类图像及其标签,全体类在各个属性上的打分构成的属性矩阵W。一种简易可扩展的实现方式是:将给定的可见类图像放入对应类标签的文件夹,保证已见类和未见类文件夹编号与交叉熵训练时类标签编号一致。保存已见类和未见类的编号,这样在训练和测试的网络结构一样,不需改变,只需要在ZSL测试时,输出未见类中最高概率类,在GZSL测试时,分别取未见类和已见类的最高概率,然后按新类检测机制比较。

这种架构,不仅一致化地实现了ZSL和GZSL,还可以直接应用于在线或离线添加可见类或未见类样本的情形(只需加新加样本放入对应类文件夹)。

如未特殊声明,接下来的测试均采用resnet50作为CNN模块,其最上层Pooling层输出特征维度是D=1,024。该CNN在ILSVRC2012的1000分类数据上预训练好,top-1错误率为23.85%。所有输入图片大小均调为224×224。正如框架图所示,训练阶段FC0层和FC1层均为随机初始化,FC2层则权重固定为类属性矩阵,且不含偏置项。

本发明方法的具体步骤如下:

步骤1:用在ImageNet或纯可见类训练集上全监督学习预训练好的CNN卷积层参数作为本框架中CNN模块的初始参数。

步骤2:用GSC-Net在训练集样本和标签的监督下进行端到端的训练。开始2-4个训练周期可以冻结CNN模块参数,只训练NeWUnit的全连接层权重,之后再将CNN模块加入一起训练。通过合适的早停止策略选择存下来的不同训练周期的模型,如选择可见类验证集上准确率最高的模型。

步骤3:预测阶段,将待预测的样本输入步骤2中训练好的GSC-Net模型,对ZSL和GZSL任务分别有如下策略:

1)ZSL任务:未见类投影中最高分数的类为预测结果:

2)GZSL任务:针对softmax的概率化输出,我们提出一种相应的新类检测机制(Parametric Novelty Detection,PND)。GZSL预测将可见类中最高投影分值和未见类中最高投影分值比较,若大于一定阈值γ,则取可见类最高分的类,否则视作检测到未见类,具体公式如下:

二、性能测试与分析

1、ZSL属性数据集

ZSL实验分别选取了3个最常用的视觉属性数据集:CUB、SUN、AWA2。CUB是一个鸟类的细粒度数据集,SUN是一个类别数较多的场景分类数据集,AWA2是一个每类图片较多的动物分类数据集。三个数据集的基础统计和分割情况如下:

表1:三个视觉属性数据集

2、训练设置及超参数设置

训练主要分为如下两个阶段:

1)前5个epoch:由于CNN已经预训练好,可提取ImageNet通用的视觉特征,在将CNN层参数冻结,这一阶段主要训练全连接层FC0和FC1,采用Adam优化。FC1中的Dropout丢去比例α设为0.5。

2)一起finetune训练:这一阶段训练层数复杂,因此采用简单的SGD控制,学习率为0.001,逐渐减小,minibatch大小为32。ZSL任务需要严格防止过拟合,为了提高泛化能力,权值衰减项weight decay设为0.005,且采取提前终止(early stopping)策略。

所有实验均采用单张12G显存的Nvidia Titan X(Pascal),神经网络通过pytorch框架实现。

模型中涉及的2个超参数设置如下:

Dropout丢弃率η:η默认设为0.5。实验中η取0.4~0.6一般能很快到达较好的结果。

新类检测因子γ。实验中设置γ∈[1.0,2.0]。如果训练类的每类样本数量多,意味着已见类影响远大于未见类,需要设置较大的γ。

3、性能测试结果

ZSL实验:

表2:不同方法在3个数据集上的ZSL实验结果

ZSL实验结果如表2。其中前12行实验结果来一篇综述Xian,Akata et.al.2017,均采用了数据集经过预ImageNet训练好的ResNet101抽取的特征,维度为2048。为了合理比较,我们的深度学习模型均在预训练好的ResNet50的基础上进行端到端的调优(finetune)训练,ResNet50瓶颈层输出特征也是2048维,如果端到端模型在ResNet50上的结果就远好于机器学习方法在ResNet101的结果,则更能体现端到端模型的优势。我们的方法GSC-Net在3个数据集的ZSL任务上都取得了当前最好的结果,特别是AWA2和CUB数据集上,相对于之前的方法有了大幅度的提升,这也验证了我们方法的有效性。而且,GSC-Net本质上只需要知道类嵌入矩阵,不需要知道每个属性的具体含义,这样大大地方便了零样本学习应用到更广泛的领域。

GZSL实验:

在GZSL的设定下,测试阶段的搜索空间包括可见类和未见类的合集,我们可以定义可见类(tr)和未见类(ts)图片准确率的调和平均值H(harmonic mean):

图1,2展示了GSC-Net在SUN数据集上的ZSL和GZSL结果随训练过程变化图。在其训练中每个epoch我们都进行ZSL和GZSL任务的测试。很容易发现未见类的GZSL准确率ts要远低于已见类,表明GZSL比ZSL要难得多。

模型在前20个epoch就已经达到很高的准确率水平,之后一直在无规则地震荡,因此我们用early stopping策略保存中间过程的模型。ZSL/GZSL准确率随验证集准确率val(图1,2中的紫线)几乎一致地涨落。这也揭示了更好的特征学习有助于更好的ZSL/GZSL分类。因此在实际应用时,我们可以将验证集准确率来挑选期望最佳的模型。

表3:三个数据集上的GZSL实验结果(可见类测试图片上准确率tr和未见类测试图片上ts以及它们的调和平均值)

GZSL实验结果如表3,其中每一项都是对应的百分比的准确率。表格前12项是现有的ZSL方法,直接用于GZSL时结果很差(主要依据H比较),特别是在未见类的图像识别上。该表结果表明我们的GZSL方法GSC-Net-PND在每个类上结果都达到了当前最好结果,且远远超过了现有方法。

实验中,本方法从数据集预处理、训练到测试都可以很好地自动化,尽可能地减少了手工操作的繁琐,因而在实际的训练和测试中也更直接和方便。

本发明能够为零样本学习提供一套端到端、易扩展的深度学习框架,提高了零样本学习的性能、可控性和直接可用性,将有助于使零样本学习更好地应用到互联网相关各行各业的在线分类系统、推荐系统等应用中。

当前第1页1 2 3 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1