掌桥专利:专业的专利平台
掌桥专利
首页

一种机器学习方法以及装置

文献发布时间:2023-06-19 10:58:46


一种机器学习方法以及装置

技术领域

本申请涉及人工智能领域,尤其涉及一种机器学习方法以及装置。

背景技术

现有机器学习算法在样本量充足的情况下,有着十分优秀的表现。但在实际应用中,由于人工标注成本高、标注不可得等问题,开始关注小样本学习(Few-shot Learning)的解决方案——要求机器学习算法在训练样本有限的情况下,也可以给出合理的预测结果。

元学习(Meta-learning)是小样本学习问题的一种解决范式。元学习通过在样本充足的训练集中随机采样大量与目标小样本任务相似的任务,训练一个有较好泛化性能的元模型 (meta-model),该元模型在目标任务的少量训练样本上进行学习,最终得到适合该目标小样本任务的预测模型。

然而,在进行小样本学习时,对元模型的每次更新基于当前小样本任务涉及的类别,可能因相同或者相似样本之间的区别,或者,因相同或者不同类别的样本之间的区别等,导致训练得到的模型输出精度较低。

发明内容

本申请提供一种机器学习方法以及装置,用于在小样本学习中,通过构建数据集对应的概念空间,基于样本在空间中的度量来训练模型,得到输出精度更高的模型。

有鉴于此,第一方面,本申请提供一种机器学习方法,其特征在于,包括:

获取支撑集和查询集,支撑集和查询集中样本包括的实际标签(label)包括多种类型的信息,多种类型的信息对应多个维度的概念空间;随后,使用支撑集和查询集对目标神经网络进行至少一次迭代更新,得到更新后的目标神经网络,其中,目标神经网络中包括元模型和概念空间映射模型,至少一次迭代更新中的任意一次更新包括:将支撑集中的至少一个支撑样本作为元模型的输入,得到至少一组第一特征向量,以及将查询集中的至少一个查询样本作为元模型的输入,得到至少一组第二特征向量,元模型用于提取输入的样本的特征;通过概念空间映射模型,将至少一组第一特征向量映射至多个维度的概念空间中,得到至少一组第三特征向量,以及将至少一组第二特征向量映射至多个维度的概念空间中,得到至少一组第四特征向量;根据至少一组第三特征向量和至少一组第四特征向量,得到在多个维度的概念空间中,至少一个查询样本和至少一个支撑样本之间的距离;根据至少一个查询样本和至少一个支撑样本之间的距离,得到至少一个查询样本得到预测标签;根据至少一个查询样本的预测标签获取至少一个查询样本的损失值;根据至少一个查询样本的损失值更新目标神经网络,得到当前次迭代更新后的目标神经网络。

因此,在本申请实施方式中,可以基于支撑集和查询集包括的样本来构建概念空间,并将样本映射至每个维度的概念空间中,然后可以使用样本在该概念空间之间的距离,来训练目标神经网络。该距离可以表示样本之间的关联程度,从而使训练目标神经网络的过程中,可以基于样本之间的关联程度的关联度进行训练,从而使最终得到的目标神经网络的输出准确率更高。

在一种可能的实施方式中,目标神经网络还包括概率预测模型,概率预测模型用于计算输入的向量对应的样本与多个维度之间的关联度,上述方法还可以包括:将至少一组第一特征向量作为概率预测模型的输入,输出至少一组第一概率向量,以及将至少一组第二特征向量作为概率预测模型的输入,输出至少一组第二概率向量,概率预测模型用于计算输入的向量对应的样本与多个维度的关联度,至少一组第一概率向量和至少一组第二概率向量用于得到至少一个查询样本得到预测标签。

因此,在本申请实施方式中,还可以通过概率预测模型,预测样本与多个维度之间的关联度,并基于该关联度来得到预测标签,从而使得到预测标签的过程参考了样本与多个维度之间的关联度,得到的预测标签更准确。

在一种可能的实施方式中,多种类型的信息中包括支撑集和查询集中样本的多种分类的信息,根据至少一个查询样本和至少一个支撑样本之间的距离,得到至少一个查询样本得到预测标签,可以包括:根据第一查询样本对应的第一概率向量以及至少一组第一概率向量,计算第一查询样本和至少一个支撑样本中每个支撑样本之间的距离分别对应的权重,第一查询样本是至少一个查询样本中的任意一个;根据第一查询样本和至少一个支撑样本之间的距离,以及第一查询样本和至少一个支撑样本中每个支撑样本之间的距离分别对应的权重,计算第一查询样本的类别分别为多个类别的概率,得到第一查询样本的预测标签。

本申请实施方式中,提供了一种通过概率向量得到预测标签的具体方式,从而使得到预测标签的过程参考了样本与多个维度之间的关联度,得到的预测标签更准确。

在一种可能的实施方式中,根据第一查询样本和至少一个支撑样本之间的距离,以及第一查询样本和至少一个支撑样本中每个支撑样本之间的距离分别对应的权重,计算第一查询样本的类别分别为多个类别的概率,得到第一查询样本的预测标签,可以包括:根据第一查询样本的第二概率向量和至少一个支撑样本的第一概率向量,得到第一查询样本和至少一个支撑样本之间的距离在多个维度中的每个维度概念空间中的权重;根据权重对第一查询样本和至少一个支撑样本之间的距离进行加权运算,得到第一距离和;从至少一个支撑样本中确定分类为第一类别的支撑样本,第一类别为多个类别中的任一类别;根据权重对第一查询样本与分类为第一类别的支撑样本之间的距离进行加权运算,得到第二距离和;根据第一距离和与第二距离和计算得到第一查询样本的分类为第一类别的预测概率,预测概率用于得到预测标签。

因此,在本申请实施方式中,可以结合距离对应的权重,来计算查询样本的预测类别是各个类别的概率,从而得到查询样本的预测标签,得到的预测标签更准确。

在一种可能的实施方式中,多种类型的信息中包括支撑集和查询集中样本的多种分类的信息,目标神经网络还包括比较聚合模型,比较聚合模型用于得到输入的向量对应的样本的属性和类别之间的关系;

上述方法还可以包括:从支撑集中抽取多组样本子集,每组样本子集包括至少三个样本,三个样本中至少包括不同类别的两个样本;将多组样本子集中每个样本的第一特征向量作为比较聚合模型的输入,得到聚合向量,聚合向量中包括支撑集中的样本的属性和类别之间的关联关系,聚合向量用于得到预测标签。

因此,本申请实施方式中,可以从支撑集中抽取多组样本子集,每组样本子集中至少包括类别不相同的样本以及类别相同或者相似的样本,从而得到用于表示样本的属性和类别之间关联关系的聚合向量,以使后续在预测样本的标签时,可以参考该聚合向量,得到更准确的预测标签。

在一种可能的实施方式中,比较聚合模型包括第一全连接层和第二全连接层,将多组样本子集中每个样本的第一特征向量作为预设的比较聚合模型的输入,得到聚合向量,可以包括:将多组样本子集的第一特征向量输入至第一全连接层,得到多组第五特征向量;对多组第五特征向量进行求和运算,得到特征向量和;将特征向量和作为第二全连接层的输入,得到聚合向量。

因此,在本申请实施方式中,比较聚合模型具体可以包括至少两层全连接层,提供了一种比较聚合模型的具体结构,通过全连接层输出样本的属性和类别之间的关联关系。

在一种可能的实施方式中,支撑集和查询集中的样本的实际标签中包括多种类别和多种属性,多种类别与多种属性相关联,多个维度为与支撑集和查询集中的样本的每种属性对应的维度,或者,多个维度为与支撑集和查询集中的样本的每种类别对应的维度。

因此,在本申请实施方式中,当样本的标签中包括类别和属性时,可以基于类别构建概念空间,也可以基于属性来构建概念空间,还可以同时基于类别和属性构建概念空间,以使后续可以基于样本在概念空间中的度量来训练目标神经网络,从而结合了样本之间的区别和联系来训练目标神经网络,使目标神经网络的输出准确率更高。

第二方面,本申请提供一种机器学习装置,包括:

获取模块,用于获取支撑集和查询集,支撑集和查询集中样本包括的实际标签包括多种类型的信息,多种类型的信息对应多个维度的概念空间;

训练模块,用于使用支撑集和查询集对目标神经网络进行至少一次迭代更新,得到更新后的目标神经网络,其中,目标神经网络中包括元模型和概念空间映射模型,至少一次迭代更新中的任意一次更新包括:将支撑集中的至少一个支撑样本作为元模型的输入,得到至少一组第一特征向量,以及将查询集中的至少一个查询样本作为元模型的输入,得到至少一组第二特征向量,元模型用于提取输入的样本的特征;通过概念空间映射模型,将至少一组第一特征向量映射至多个维度的概念空间中,得到至少一组第三特征向量,以及将至少一组第二特征向量映射至多个维度的概念空间中,得到至少一组第四特征向量;根据至少一组第三特征向量和至少一组第四特征向量,得到在多个维度的概念空间中,至少一个查询样本和至少一个支撑样本之间的距离;根据至少一个查询样本和至少一个支撑样本之间的距离,得到至少一个查询样本得到预测标签;根据至少一个查询样本的预测标签获取至少一个查询样本的损失值;根据至少一个查询样本的损失值更新目标神经网络,得到当前次迭代更新后的目标神经网络。

在一种可能的实施方式中,目标神经网络还包括概率预测模型,

训练模块,还用于将至少一组第一特征向量作为概率预测模型的输入,输出至少一组第一概率向量,以及将至少一组第二特征向量作为概率预测模型的输入,输出至少一组第二概率向量,概率预测模型用于计算输入的向量对应的样本与多个维度的关联度,至少一组第一概率向量和至少一组第二概率向量用于得到至少一个查询样本得到预测标签。

在一种可能的实施方式中,多种类型的信息中包括支撑集和查询集中样本的多种分类的信息,训练模块,还用于:根据第一查询样本对应的第一概率向量以及至少一组第一概率向量,计算第一查询样本和至少一个支撑样本中每个支撑样本之间的距离分别对应的权重,第一查询样本是至少一个查询样本中的任意一个;根据第一查询样本和至少一个支撑样本之间的距离,以及第一查询样本和至少一个支撑样本中每个支撑样本之间的距离分别对应的权重,计算第一查询样本的类别分别为多个类别的概率,得到第一查询样本的预测标签。

在一种可能的实施方式中,训练模块,还用于:根据第一查询样本的第二概率向量和至少一个支撑样本的第一概率向量,得到第一查询样本和至少一个支撑样本之间的距离在多个维度中的每个维度概念空间中的权重;根据权重对第一查询样本和至少一个支撑样本之间的距离进行加权运算,得到第一距离和;从至少一个支撑样本中确定分类为第一类别的支撑样本,第一类别为多个类别中的任一类别;根据权重对第一查询样本与分类为第一类别的支撑样本之间的距离进行加权运算,得到第二距离和;根据第一距离和与第二距离和计算得到第一查询样本的分类为第一类别的预测概率,预测概率用于得到预测标签。

在一种可能的实施方式中,多种类型的信息中包括支撑集和查询集中样本的多种分类的信息,目标神经网络还包括比较聚合模型,比较聚合模型用于得到输入的向量对应的样本的属性和类别之间的关系;

训练模块,还用于:从支撑集中抽取多组样本子集,每组样本子集包括至少三个样本,三个样本中至少包括不同类别的两个样本;将多组样本子集中每个样本的第一特征向量作为比较聚合模型的输入,得到聚合向量,聚合向量中包括支撑集中的样本的属性和类别之间的关联关系,聚合向量用于得到预测标签。

在一种可能的实施方式中,比较聚合模型包括第一全连接层和第二全连接层,训练模块,还用于:将多组样本子集的第一特征向量输入至第一全连接层,得到多组第五特征向量;对多组第五特征向量进行求和运算,得到特征向量和;将特征向量和作为第二全连接层的输入,得到聚合向量。

在一种可能的实施方式中,支撑集和查询集中的样本的实际标签中包括多种类别和多种属性,多种类别与多种属性相关联,多个维度为与支撑集和查询集中的样本的每种属性对应的维度,或者,多个维度为与支撑集和查询集中的样本的每种类别对应的维度。

第三方面,本申请实施例提供一种机器学习装置,该机器学习装置具有实现上述第一方面机器学习方法的功能。该功能可以通过硬件实现,也可以通过硬件执行相应的软件实现。该硬件或软件包括一个或多个与上述功能相对应的模块。

第四方面,本申请实施例提供一种机器学习装置,包括:处理器和存储器,其中,处理器和存储器通过线路互联,处理器调用存储器中的程序代码用于执行上述第一方面任一项所示的机器学习方法中与处理相关的功能。可选地,该机器学习装置可以是芯片。

第五方面,本申请实施例提供了一种机器学习装置,该机器学习装置也可以称为数字处理芯片或者芯片,芯片包括处理单元和通信接口,处理单元通过通信接口获取程序指令,程序指令被处理单元执行,处理单元用于执行如上述第一方面或第一方面任一可选实施方式中与处理相关的功能。

第六方面,本申请实施例提供了一种计算机可读存储介质,包括指令,当其在计算机上运行时,使得计算机执行上述第一方面或第一方面任一可选实施方式中的方法。

第七方面,本申请实施例提供了一种包含指令的计算机程序产品,当其在计算机上运行时,使得计算机执行上述第一方面或第一方面任一可选实施方式中的方法。

附图说明

图1本申请应用的一种人工智能主体框架示意图;

图2本申请提供的一种系统架构示意图;

图3本申请提供的另一种系统架构示意图;

图4为本申请实施例提供的一种机器学习方法的流程示意图;

图5为本申请实施例提供的一种样本分类示意图;

图6为本申请实施例提供的另一种机器学习方法的流程示意图;

图7为本申请实施例提供的一种分类网络的结构示意图;

图8为本申请实施例提供的另一种应用场景示意图;

图9为本申请实施例提供的另一种机器学习方法的流程示意图;

图10为本申请实施例提供的一种机器学习装置的结构示意图;

图11为本申请实施例提供的另一种机器学习装置的结构示意图;

图12为本申请实施例提供的一种芯片的结构示意图。

具体实施方式

下面将结合本申请实施例中的附图,对本申请实施例中的技术方案进行描述,显然,所描述的实施例仅仅是本申请一部分实施例,而不是全部的实施例。基于本申请中的实施例,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其他实施例,都属于本申请保护的范围。

首先对人工智能系统总体工作流程进行描述,请参见图1,图1示出的为人工智能主体框架的一种结构示意图,下面从“智能信息链”(水平轴)和“IT价值链”(垂直轴)两个维度对上述人工智能主题框架进行阐述。其中,“智能信息链”反映从数据的获取到处理的一列过程。举例来说,可以是智能信息感知、智能信息表示与形成、智能推理、智能决策、智能执行与输出的一般过程。在这个过程中,数据经历了“数据—信息—知识—智慧”的凝练过程。“IT价值链”从人智能的底层基础设施、信息(提供和处理技术实现)到系统的产业生态过程,反映人工智能为信息技术产业带来的价值。

(1)基础设施

基础设施为人工智能系统提供计算能力支持,实现与外部世界的沟通,并通过基础平台实现支撑。通过传感器与外部沟通;计算能力由智能芯片,如中央处理器(centralprocessing unit,CPU)、网络处理器(neural-network processing unit,NPU)、图形处理器(英语: graphics processing unit,GPU)、专用集成电路(application specificintegrated circuit,ASIC)或现场可编程逻辑门阵列(field programmable gate array,FPGA)等硬件加速芯片)提供;基础平台包括分布式计算框架及网络等相关的平台保障和支持,可以包括云存储和计算、互联互通网络等。举例来说,传感器和外部沟通获取数据,这些数据提供给基础平台提供的分布式计算系统中的智能芯片进行计算。

(2)数据

基础设施的上一层的数据用于表示人工智能领域的数据来源。数据涉及到图形、图像、语音、文本,还涉及到传统设备的物联网数据,包括已有系统的业务数据以及力、位移、液位、温度、湿度等感知数据。

(3)数据处理

数据处理通常包括数据训练,机器学习,深度学习,搜索,推理,决策等方式。

其中,机器学习和深度学习可以对数据进行符号化和形式化的智能信息建模、抽取、预处理、训练等。

推理是指在计算机或智能系统中,模拟人类的智能推理方式,依据推理控制策略,利用形式化的信息进行机器思维和求解问题的过程,典型的功能是搜索与匹配。

决策是指智能信息经过推理后进行决策的过程,通常提供分类、排序、预测等功能。

(4)通用能力

对数据经过上面提到的数据处理后,进一步基于数据处理的结果可以形成一些通用的能力,比如可以是算法或者一个通用系统,例如,翻译,文本的分析,计算机视觉的处理,语音识别,图像的识别等等。

(5)智能产品及行业应用

智能产品及行业应用指人工智能系统在各领域的产品和应用,是对人工智能整体解决方案的封装,将智能信息决策产品化、实现落地应用,其应用领域主要包括:智能终端、智能交通、智能医疗、自动驾驶、平安城市等。

本申请实施例涉及了机器学习的相关应用,为了更好地理解本申请实施例的方案,下面先对本申请实施例可能涉及的机器学习的相关术语和概念进行介绍。

机器学习:构建统计模型,在样本数据上用优化方法拟合模型参数,在新样本数据上进行预测。

自动机器学习(AutoML):是指设计一系列高级的控制系统去操作机器学习模型,使得模型可以自动化地学习到合适的参数和配置而无需人工干预。在基于深度神经网络的学习模型中,自动计算学习主要包括网络架构搜索与全局参数设定。其中,网络架构搜索用于根据数据让计算机生成最适应问题的神经网络架构,具有训练复杂度高,性能提升大的特点。

一个机器学习任务通常包括训练部分和预测部分,在预测部分中,可以用统计模型的参数在训练样本数据上进行预测,根据预测的误差计算统计模型的参数的更新方向,重复次过程,直到参数收敛。在预测部分中,可以使用训练好的模型对新的样本进行预测。

损失函数(loss function):也可以称为代价函数(cost function),一种比较机器学习模型对样本的预测输出和样本的真实值(也可以称为监督值)区别的度量,即用于衡量机器学习模型对样本的预测输出和样本的真实值之间的区别。该损失函数通常可以包括误差平方均方、交叉熵、对数、指数等损失函数。例如,可以使用误差均方作为损失函数,定义为

梯度:损失函数关于参数的导数向量。

随机梯度:机器学习中样本数量很大,所以每次计算的损失函数都由随机采样得到的数据计算,相应的梯度称作随机梯度。

反向传播(back propagation,BP):一种计算根据损失函数计算模型参数梯度、更新模型参数的算法。

训练:在样本数据上,用随机梯度进行多轮迭代,对模型参数拟合,减小算损失函数的值。

小样本学习(few-shot Learning):仅使用少量样本进行机器学习。基于小样本的机器学习又在工业界有着广泛的需求(如人脸识别或声纹识别等样本规模小或数据收集成本高的场景),小样本学习通过将有限的监督信息(小样本)与先验知识(无标记或弱标记样本、其他数据集和标签、其他模型等)结合,使得模型可以有效的学习小样本中的信息。

元学习(Meta-learning):可以理解为学习如何学习,是小样本学习问题的一种解决范式。元学习通过在样本充足的训练集中随机采样大量与目标小样本任务相似的任务,训练一个有较好泛化性能的元模型(meta-model),该元模型在目标任务的少量训练样本上进行学习,最终得到适合该目标小样本任务的预测模型。

支撑集(Support set):小样本学习任务中的训练集。本申请以下实施方式中,将支撑集中的样本称为支撑样本。

查询集(Query set):小样本学习任务中的验证集或者测试集。本申请以下实施方式中,将查询集中的样本称为查询样本。

Embedding:指样本的特征表示,一般是神经网络的倒数第二层。

本申请实施例提供的机器学习方法可以在服务器上被执行,还可以在终端设备上被执行。其中该终端设备可以是具有图像处理功能的移动电话、平板个人电脑(tabletpersonal computer,TPC)、媒体播放器、智能电视、笔记本电脑(laptop computer,LC)、个人数字助理(personal digital assistant,PDA)、个人计算机(personal computer,PC)、照相机、摄像机、智能手表、可穿戴式设备(wearable device,WD)或者自动驾驶的车辆等,本申请实施例对此不作限定。

参见附图2,本申请实施例提供了一种系统架构200。该系统架构中包括数据库230、客户设备240。数据采集设备260用于采集数据并存入数据库230,训练模块202基于数据库 230中维护的数据生成目标模型/规则201。下面将更详细地描述训练模块202如何基于数据得到目标模型/规则201,目标模型/规则201即本申请以下实施方式中所提及的神经网络,具体参阅以下图4-图9中的相关描述。

计算模块可以包括训练模块202,训练模块202得到的目标模型/规则可以应用不同的系统或设备中。在附图2中,执行设备210配置收发器212,该收发器212可以是无线收发器、光收发器或有线接口(如I/O接口)等,与外部设备进行数据交互,“用户”可以通过客户设备240向收发器212输入数据,例如,本申请以下实施方式,客户设备240可以向执行设备210发送目标任务,请求执行设备构建神经网络,并向执行设备210发送用于训练的数据库。

执行设备210可以调用数据存储系统250中的数据、代码等,也可以将数据、指令等存入数据存储系统250中。

计算模块211使用目标模型/规则201对输入的数据进行处理。具体地,计算模块211用于:获取支撑集和查询集,支撑集和查询集中样本包括的实际标签包括多种类型的信息,多种类型的信息对应多个维度的概念空间;将支撑集中的至少一个支撑样本作为元模型的输入,得到至少一组第一特征向量,以及将查询集中的至少一个查询样本作为元模型的输入,得到至少一组第二特征向量,元模型用于提取输入的样本的特征;通过概念空间映射模型,将至少一组第一特征向量映射至多个维度的概念空间中,得到至少一组第三特征向量,以及将至少一组第二特征向量映射至多个维度的概念空间中,得到至少一组第四特征向量;根据至少一组第三特征向量和至少一组第四特征向量,得到在多个维度的概念空间中,至少一个查询样本和至少一个支撑样本之间的距离;根据至少一个查询样本和至少一个支撑样本之间的距离,得到至少一个查询样本得到预测标签;根据至少一个查询样本的预测标签获取至少一个查询样本的损失值;根据至少一个查询样本的损失值更新元模型和概念空间映射模型,得到更新后的元模型和更新后的概念空间映射模型。

最后,收发器212将构建得到的神经网络返回给客户设备240,以在客户设备240或者其他设备中部署该神经网络。

更深层地,训练模块202可以针对不同的任务,基于不同的数据得到相应的目标模型/规则201,以给用户提供更佳的结果。

在附图2中所示情况下,可以根据用户的输入数据确定输入执行设备210中的数据,例如,用户可以在收发器212提供的界面中操作。另一种情况下,客户设备240可以自动地向收发器212输入数据并获得结果,若客户设备240自动输入数据需要获得用户的授权,用户可以在客户设备240中设置相应权限。用户可以在客户设备240查看执行设备210输出的结果,具体的呈现形式可以是显示、声音、动作等具体方式。客户设备240也可以作为数据采集端将采集到与目标任务关联的数据存入数据库230。

在本申请所提及的训练或者更新过程可以由训练模块202来执行。可以理解的是,神经网络的训练过程即学习控制空间变换的方式,更具体即学习权重矩阵。训练神经网络的目的是使神经网络的输出尽可能接近期望值,因此可以通过比较当前网络的预测值和期望值,再根据两者之间的差异情况来更新神经网络中的每一层神经网络的权重向量(当然,在第一次更新之前通常可以先对权重向量进行初始化,即为深度神经网络中的各层预先配置参数)。例如,如果网络的预测值过高,则调整权重矩阵中的权重的值从而降低预测值,经过不断的调整,直到神经网络输出的值接近期望值或者等于期望值。具体地,可以通过损失函数(loss function)或目标函数(objective function)来衡量神经网络的预测值和期望值之间的差异。以损失函数举例,损失函数的输出值(loss)越高表示差异越大,神经网络的训练可以理解为尽可能缩小loss的过程。本申请以下实施方式中更新起点网络的权重以及对串行网络进行训练的过程可以参阅此过程,以下不再赘述。

如图2所示,根据训练模块202训练得到目标模型/规则201,该目标模型/规则201在本申请实施例中可以是本申请中的分类网络,该分类网络可以是深度卷积神经网络(deep convolutional neural networks,DCNN),循环神经网络(recurrent neuralnetwork,RNNS) 等等。本申请提及的神经网络可以包括多种类型,如深度神经网络(deepneural network, DNN)、卷积神经网络(convolutional neural network,CNN)、循环神经网络(recurrent neural networks,RNN)或残差网络其他神经网络等。

其中,在训练阶段,数据库230可以用于存储有用于训练的样本集合,样本集合可以划分为支持样本集(support set)和查询集(query set),支持样本集中包括M组支持样本和每个支持样本的标注结果,查询集中包括M组查询样本和每个查询样本的标注结果,M的取值为大于或等于1的整数。训练设备220生成用于处理样本的目标模型/规则201,并利用数据库中的样本集合对目标模型/规则201进行迭代训练,得到成熟的目标模型/规则201,该目标模型/规则201具体表现为神经网络。训练设备220得到的神经网络可以应用不同的系统或设备中。

在推理阶段,执行设备210可以调用数据存储系统240中的数据、代码等,也可以将数据、指令等存入数据存储系统240中。数据存储系统240可以置于执行设备210中,也可以为数据存储系统240相对执行设备210是外部存储器。计算模块211可以通过神经网络对执行设备210获取到的样本进行处理,得到预测结果,预测结果的具体表现形式与神经网络的功能相关。

需要说明的是,附图2仅是本申请实施例提供的一种系统架构的示例性的示意图,图中所示设备、器件、模块等之间的位置关系不构成任何限制。例如,在附图2中,数据存储系统250相对执行设备210是外部存储器,在其它场景中,也可以将数据存储系统250置于执行设备210中。

根据构建模块202构建得到的目标模型/规则101可以应用于不同的系统或设备中,如应用于手机,平板电脑,笔记本电脑,增强现实(augmented reality,AR)/虚拟现实(virtual reality,VR),车载终端等,还可以是服务器或者云端设备等。

该目标模型/规则101在本申请实施例中可以是本申请中的目标神经网络,具体的,本申请实施例提供的目标神经网络可以CNN,深度卷积神经网络(deep convolutionalneural networks,DCNN),循环神经网络(recurrent neural network,RNN)等等。

参见附图3,本申请实施例还提供了一种系统架构300。执行设备210由一个或多个服务器实现,可选的,与其它计算设备配合,例如:数据存储、路由器、负载均衡器等设备;执行设备210可以布置在一个物理站点上,或者分布在多个物理站点上。执行设备210可以使用数据存储系统250中的数据,或者调用数据存储系统250中的程序代码实现本申请以下图6对应的用于计算设备的深度学习训练方法的步骤。

用户可以操作各自的用户设备(例如本地设备401和本地设备402)与执行设备210进行交互。每个本地设备可以表示任何计算设备,例如个人计算机、计算机工作站、智能手机、平板电脑、智能摄像头、智能汽车或其他类型蜂窝电话、媒体消费设备、可穿戴设备、机顶盒、游戏机等。

每个用户的本地设备可以通过任何通信机制/通信标准的通信网络与执行设备210进行交互,通信网络可以是广域网、局域网、点对点连接等方式,或它们的任意组合。具体地,该通信网络可以包括无线网络、有线网络或者无线网络与有线网络的组合等。该无线网络包括但不限于:第五代移动通信技术(5th-Generation,5G)系统,长期演进(long termevolution, LTE)系统、全球移动通信系统(global system for mobile communication,GSM)或码分多址(code division multiple access,CDMA)网络、宽带码分多址(widebandcode division multiple access,WCDMA)网络、无线保真(wireless fidelity,WiFi)、蓝牙(bluetooth)、紫蜂协议(Zigbee)、射频识别技术(radio frequency identification,RFID)、远程(Long Range,Lora)无线通信、近距离无线通信(near field communication,NFC)中的任意一种或多种的组合。该有线网络可以包括光纤通信网络或同轴电缆组成的网络等。

在另一种实现中,执行设备210的一个方面或多个方面可以由每个本地设备实现,例如,本地设备301可以为执行设备210提供本地数据或反馈计算结果。该本地设备也可以称为计算设备。

需要注意的,执行设备210的所有功能也可以由本地设备实现。例如,本地设备301实现执行设备210的功能并为自己的用户提供服务,或者为本地设备302的用户提供服务。

在现有的元学习场景中,以分类任务为例,假设目标小样本任务为——利用N类、每类K 个样本的支撑集进行学习,完成在相同的N类、每类m个样本的查询集上的预测任务。元学习方法为了模拟目标小样本分类任务,在含有B个类别的元训练集(meta-train set)中按如下方式采样大量小样本任务:首先在B个类别中随机选取N个类别,然后在该N个类别的元训练数据中分别随机抽取K+m个样本,得到大小为N*(k+m)的小样本任务数据集。其中N*K 个样本作为支撑集,N*m个样本作为查询集。元学习方法在训练时,利用支撑集的数据与元模型,得到适应该小样本任务的模型(常见方式包括:对元模型进行梯度更新;计算支撑集类中心等),然后用该任务模型预测查询集数据的标签并计算损失函数,更新元模型。由此得到的元模型,可以在各个小样本任务中,利用支撑集得到一个在平均意义下准确率似然估计最大的小样本任务模型。

然而,现有元学习算法的学习方式无法共享不同任务中的同类或相似类别样本的信息。在训练过程中,损失函数或距离度量的计算只基于当前小样本任务的支撑数据集,因此元学习模型的每次更新只基于当前小样本任务涉及的类别,所以分散在不同小样本任务中的同类别或相似类别样本无法信息共享;同样,这种任务独立的学习方式无法捕捉到任务与任务之间的区别与联系。无法共享不同任务中的同类或相似类别样本的信息例如,在训练过程中,可能无法捕捉“狗”与“蛋糕”相似的属性,和分散在不同任务中的“狗”的相似信息等。也无法捕捉到任务与任务之间的区别与联系,又例如,同样的红色靴子和红色拖鞋,在小样本分类任务中属于不同的两类——靴子和拖鞋,在小样本分类任务中属于同一类——红色,无法根据任务的不同——按鞋子形状或颜色分类,关注同一样本的特定信息。因此,在训练模型时,可能因无法共享不同任务中的同类或相似类别样本的信息,以及无法捕捉到任务与任务之间的区别与联系等,导致训练得到的模型的预测精度低。

因此,本申请提供一种机器学习方法,通过基于度量的元学习方法来训练得到预测精度更高的模型。下面对本申请提供的机器学习的方法进行详细说明。

参阅图4,本申请提供的一种机器学习方法的流程示意图,如下所述。

401、获取支撑集和查询集。

其中,支撑集和查询集中可以包括多个样本,该多个样本的实际标签中包括的标签取值和/或属性组成了多种类型的信息,该多种类型可以对应多个维度的概念空间,一个维度可以对应一种类型。

具体地,支撑集和查询集中可以包括多个支撑样本子集,每个样本具有对应的实际标签,该实际标签中可以包括每个样本对应的类型,例如,在分类学习的场景中,每个样本的实际标签中可以包括样本的类别,或者还可以包括样本中的对象的属性等。又例如,在回归任务学习场景中,每个样本的实际标签可以包括用户的打分。

在不同的场景中,样本的类型所表示的含义可能也不相同,例如,在分类场景中,该多种类型可以是样本的类别或者与样本的类别相关的属性等,又例如,在回归场景中,则该多个类型可以包括样本的取值。

下面对一些具体的应用场景进行示例性介绍。

在一些场景中,支撑集和查询集中包括的样本可以用于进行回归任务的学习。例如,支撑集和查询集中可以包括多个用户对多个电影或者音乐等不同维度的评价,如用户1对电影 1的评价为10分(其中导演5分,演员5分),用户2对电影1的评价为5分(其中导演3分,演员2分)等。

在一些场景中,支撑集和查询集中包括的样本可以用于分类学习。每个支撑样本子集中可以包括一种分类的样本。例如,如图5所示,支撑集中可以包括分类为“海豚”和“猫”的样本。

更具体地,在一些分类场景中,样本的标签中可以包括样本的类别,多个维度的概念空间可以包括基于多种类别构建的空间,每种类别对应一个维度的空间。例如,样本的类别可以包括:猫、狗、老虎、鸟等,则构建的空间包括了猫、狗、老虎、鸟等维度的空间。

在另一些分类场景中,多个维度的概念空间可以包括基于多种属性构建的空间。例如,支撑集中的样本可以包括多种类别的鞋,样本的多种属性可以包括:鞋跟高度、颜色、鞋头形状等,构建的多个维度的概念空间可以包括鞋跟高度、颜色、鞋头形状等维度的空间。

当然,在一些分类场景中,多个维度的概念空间可以包括基于多种类别和多种属性构建的空间,每个维度对应一种类别或者一种属性。

可以理解为,在分类场景中,前述提及的多种类型,可以包括多种类别或者多种属性。例如,当支撑集和查询集中样本的标签中包括类别和属性时,可以基于样本的属性来构建空间,每种属性对应一个维度,得到多个维度的概念空间。又例如,当支撑集和查询集中样本的标签中仅包括类别时,则可以基于类别来构建空间,每个类别对应一个维度的空间,得到多个维度的空间。

以分类任务为例,目标小样本任务可以包括:使用N类、每类包括了k个样本的支撑集 (support set)进行学习,完成在相同的N类且每类m个样本的查询集(query set)上的预测任务。具体例如,为了模拟目标小样本分类任务,在含有B个类别的元训练集(meta-train set)中按如下方式采样大量小样本任务:首先在B个类别中随机选取N个类别,然后在该N 个类别的元训练数据中分别随机抽取k+m个样本,得到大小为N*(k+m)的小样本任务数据集。其中N*k个样本作为支撑集,N*m个样本作为查询集。若每个样本的标签中包括了分类,则可以对应N个维度的概念空间,每个维度对应一种分类。该N个类别的样本对应的标签中包括了C种属性,则该C种属性可以对应C个维度的概念空间,每个维度对应一种属性。当然此场景下也可以构建N个类别对应的N个维度的空间,或者,C种属性和N个类别分别对应的C+N个维度的空间等。

以回归任务为例,假定输入为x,真实目标函数为y=f

在得到支撑集和查询集之后,即可使用该支撑集和查询集进行小样本学习,即对目标神经网络进行训练,得到训练后的目标神经网络。该目标神经网络可以包括元模型和概念空间映射模型,元模型用于提取特征,概念空间映射模型用于将输入的向量映射至多个维度的概念空间中,下面对训练神经网络的过程进行说明,参阅以下步骤402-409。

402、将支撑集中的至少一个支撑样本以及查询集中的至少一个查询样本作为元模型的输入,得到至少一组第一特征向量,以及至少一组第二特征向量。

其中,元模型可以是用于提取特征的模型,如卷积神经网络(convolutionalneuron network,CNN)、全连接网络(full connected network,FCN)、循环神经网络(recurrent neural networks,RNN)或者残差神经网络(ResNet)等。例如,元模型的输入可以是样本的向量或者矩阵,输出可以是长度为d的特征向量。

需要说明的是,本申请以下提及的支撑样本是支撑集中的样本,查询样本是查询集中的样本。

因此,将支撑集中的样本作为元模型的输入,即可提取到支撑样本的特征,输出支撑样本对应的第一个特征向量,以及将查询集中的样本作为元模型的输入,提取查询样本的特征,输出查询样本对应的第二特征向量。

例如,元模型的输入可以是样本的向量或者矩阵,输出是d维向量,支撑集中可以包括 N*k个样本,将该N*K个样本的向量作为元模型的输入,得到N*k个d维特征向量。

403、通过概念空间映射模型,将至少一组第一特征向量以及将至少一组第二特征向量映射至所述多个维度的概念空间中,得到至少一组第三特征向量以及至少一组第四特征向量。

其中,概念空间映射模型可以用于将输入的向量映射至多个维度的概念空间中。该多个维度的概念空间可以是前述由支撑集合查询集中包括的多个类型对应的多个维度的空间。其中,映射方式具体可以是线性映射或者非线性映射,例如,该概念空间映射模型可以包括一层或者多层全连接层(full connected layer,FC),用于进行线性映射或者非线性映射。

具体地,可以使用概念空间映射模型将将第一特征向量映射至多个维度的概念空间,得到第三特征向量,该第三特征向量可以用于表示第一特征向量映射至每个维度的概念空间后在每个空间中的位置。还使用概念空间映射模型将第二特征向量映射至多个维度的概念空间,得到第四特征向量,该第四特征向量可以用于表示将第二特征向量映射至多个维度的概念空间中之后在每个空间中的位置。

例如,概念空间映射模型的结构可以是全连接层(full connected layer,FC),通过线性映射将输入的特征向量映射至C个维度的概念空间中。具体例如,概念空间映射模型的输入可以是元模型输出的d维向量,输出为d’维特征向量。支撑集中可以包括N*k个样本,将该N*K个样本的向量作为元模型的输入,得到N*k个d维特征向量,然后将该N*k个d维特征向量作为概念空间映射模型的输入,即将该N*k个d维特征向量映射值C个维度的概念空间中,得到该N*k个d维特征向量在C个维度空间中映射的N*k个d’维向量。

404、根据至少一组第三特征向量和至少一组第四特征向量,得到在多个维度的概念空间中,至少一个查询样本和至少一个支撑样本之间的距离。

其中,在得到支撑样本和查询样本分别在多个维度的概念空间中的特征向量之后,计算每个查询样本和每个支撑样本在多个维度的概念空间中的距离。

可以理解为,将查询样本和支撑样本的特征向量映射至概念空间之后,即可获知查询样本和支撑样本的特征向量在每个维度的概念空间中的位置,从而可以计算得到每个维度的概念空间中查询样本和支撑样本之间的距离。

例如,可以计算第三特征向量和所有第四特征向量之间的欧式距离,即可得到在多个维度的概念空间中查询样本和所有的支撑样本之间的距离。

需要说明的是,本申请输出第三特征向量和第四特征向量的过程可以理解为两个通路,一种通路是将支撑样本输入至元模型,并将元模型输出的第一特征向量作为概念空间映射模型的输入,得到第三特征向量,另一通路是将查询样本输入至元模型,并将元模型输出的第二特征向量作为概念空间映射模型的输入,得到第四特征向量,这两个通路可以同时进行,也可以先后进行,本申请仅仅是以同时进行为例进行示例性说明,并不作为限定,具体可以根据实际应用场景调整。

405、根据至少一个查询样本和至少一个支撑样本之间的距离,得到至少一个查询样本得到预测标签。

在得到每个查询样本和每个支撑样本在每个维度的概念空间中的距离之后,即可基于该距离对查询样本的标签进行预测,得到预测标签。可以理解为,可以基于该距离,确定查询样本和各个支撑样本之间的关联度,通常距离越近,关联度也就越高,距离越远,关联度也就越低,从而可以得到查询样本的预测标签。

例如,每个维度可以代表一个类别,可以基于每个类别中查询样本和所有支撑样本的距离,来计算查询样本与哪一个类别的支撑样本的距离最近,从而将该距离最近的类别作为查询样本的预测标签。

又例如,每个维度可以代表一种属性,每种类别在每一种属性中具有对应的范围,可以基于每个类别中查询样本和所有支撑样本的距离,计算查询样本与每个空间中的支撑样本之间的关联度,然后根据计算出来的关联度,确定与查询样本的属性关联度最高的属性范围,与各个类别的属性范围进行对比,确定与查询样本最接近的类别,即预测标签。

更具体例如,可以对查询样本和所有支撑样本之间的距离进行加权,然后对加权后的值取自然指数并求和,将和作为分母,然后对查询样本和某类别的支撑样本之间的距离同样进行加权、取自然指数并求和,将和作为分子,即可得到查询样本的类别分别为该多个类别的概率,然后取概率值最大的类别作为查询样本的预测标签。

406、根据至少一个查询样本的预测标签获取至少一个查询样本的损失值。

其中,在得到查询样本的预测标签之后,即可计算查询样本的预测标签和查询标签之间的损失值。

具体地,损失值可以使用均方误差、交叉熵或者平均绝对误差等算法计算得到。例如,样本的标签中可以包括类别以及属性等信息,可以采用的损失函数为查询样本的预测类别与真实类别的交叉熵,以及查询样本预测概念标签的与真实概念标签之间的交叉熵的和。

407、根据至少一个查询样本的损失值更新元模型和概念空间映射模型,得到更新后的元模型和更新后的概念空间映射模型。

在得到查询样本的损失值之后,即可对目标神经网络进行更新,即更新元模型和概念空间映射模型,得到更新后的元模型和更新后的概念空间映射模型。

具体地,本申请提供的机器学习方法可以应用于分类模型或者回归模型等,元模型和概念空间映射模型可以是分类模型或者回归模型中的部分模型,该分类模型或者回归模型还可以包括其他模型或者网络层等,如输出层、全连接层等,具体可以根据实际应用场景进行调整。

更具体地,更新模型的方式可以包括多种,如计算得到的小样本分类任务在查询集上的损失函数求梯度,然后更新元模型、概念空间映射模型等的参数。例如,可以通过反向传播 (back propagation,BP)算法进行更新,在训练过程中修正初始的模型中参数的大小,使得模型的误差损失越来越小。进一步地,前向传递输入信号直至输出会产生误差损失,通过反向传播误差损失信息来更新初始的模型中参数,从而使误差损失收敛。反向传播算法是以误差损失为主导的反向传播运动,旨在得到最优的模型的参数,例如最优的权重矩阵。

408、判断是否终止迭代,若是,则执行步骤409,若否,则执行步骤402。

在对模型进行一次迭代更新之后,可以判断是否满足终止条件,若满足终止条件,则可以终止迭代,即执行步骤409,若不满足终止条件,则可以继续执行步骤402,即再次提取支撑样本和查询样本的特征,并作为当前次迭代得到的元模型的输入等。

具体地,该终止条件可以包括但不限于以下一项或者多项:迭代时长超过预设时长,损失值小于预设损失值,迭代次数超过预设次数,或者当前次迭代得到的模型的输出精度与上一次或者多次迭代得到的模型的输出精度的差值小于预设差值等。

409、终止迭代。

其中,在满足终止条件之后,即可终止迭代过程,输出当前次迭代得到的模型。

通常,本申请提供的机器学习方法可以应用于分类模型或者回归模型等,在对元模型和概念空间映射模型进行更新之后,即可输出最终的分类模型或者回归模型。

因此,在本申请实施方式中,可以基于查询集和支撑集的样本的多种类型的信息来构建多个维度的概念空间,然后提取查询样本和支撑样本的特征并映射至概念空间中,随后计算查询样本和支撑样本在各个维度的概念空间中的距离,并基于该距离来得到查询样本的预测标签。其中,查询样本和支撑样本在各个维度的概念空间中的距离可以用于表示查询样本和各个维度对应的类型之间的关联度,反应了样本之间的区别或者联系,从而即可基于查询样本和支撑样本之间的区别和联系,来生成查询样本的预测标签并进行机器学习,从而使最终得到的模型参考了样本之间的关联度,提高了模型的输出精度。

前述对本申请提供的机器学习方法的流程进行了说明,下面结合具体的进行分类学习的场景,对本申请提供的机器学习方法的流程进行更详细的说明。

参阅图6,本申请提供的另一种机器学习方法的流程示意图,如下所述。

601、获取支撑集和查询集。

602、将支撑集中的至少一个支撑样本以及查询集中的至少一个查询样本作为元模型的输入,得到至少一组第一特征向量,以及至少一组第二特征向量。

603、通过概念空间映射模型,将至少一组第一特征向量以及将至少一组第二特征向量映射至所述多个维度的概念空间中,得到至少一组第三特征向量以及至少一组第四特征向量。

604、根据至少一组第三特征向量和至少一组第四特征向量,得到在多个维度的概念空间中,至少一个查询样本和至少一个支撑样本之间的距离。

其中,步骤601-604与前述步骤401-404类似,此处不再赘述。

605、将至少一组第一特征向量以及至少一组第二特征向量作为概率预测模型的输入,输出至少一组第一概率向量以及至少一组第二概率向量。

其中,目标神经网络中还可以包括概率预测模型,用于计算输入的向量对应的样本与前述的多个维度之间的关联度。

在通过得到支撑样本对应的第三特征向量和查询样本对应的第四特征向量之后,分别将第三特征向量和第四向量输入至概率预测模型中,该概率预测模型用于预测输入的向量的对应的样本与多个维度之间的关联度,从而得到第一概率向量和第二概率向量,该第一概率向量用于表示支撑样本与各个维度之间的关联度,第二概率向量用于表示查询样本和各个维度之间的关联度。

具体地,在一种可能的场景中,前述的多个维度为样本的标签中携带的属性的维度,则第一概率向量可以用于表示支撑样本的类别与各个属性之间的关联度,第二概率向量可以用于表示查询样本与各个属性之间的关联度。例如,若支撑集和查询集中的样本中包括的类别包括猫、狗、鸟等分类,属性可以包括颜色、大小、体型等信息,则概率向量可以表示对应的样本的类别和颜色、大小或者体型之间的关联度。

在另一种可能的场景中,前述的多个维度可以是样本中的标签中携带的类别的维度,则第一概率向量可以表示支撑样本的类别和各个类别之间的关联度,第二概率向量可以用于表示查询样本的类别和各个类别之间的关联度。例如,若支撑集和查询集中样本的类别可以包括梅花、兰花、薰衣草等类别,概率向量则可以表示对应的样本的类别和梅花、兰花、薰衣草等类别之间的关联度。

在另一种可能的场景中,前述的多个维度可以是样本中携带的标签的类别和属性分别对应的维度,第一概率向量可以表示支撑样本的类别和各种类别以及各种属性之间的关系,第二概率向量则表示查询样本的类别和各种类别以及各种属性之间的关系。例如,支撑集和查询集中样本的类别可以包括梅花、兰花、向日葵等,以及样本中标签携带的属性可以包括花瓣大小、花瓣形状、颜色等属性,则第一概率向量可以包括样本的类别和梅花、兰花、向日葵等之间的关联度,以及样本的类别和花瓣大小、花瓣形状、颜色等属性之间的关联度。

需要说明的是,本申请对步骤604和步骤605的执行顺序不作限定,可以先执行步骤604,也可以先执行步骤605,还可以同时执行步骤604和步骤605,本申请仅以先执行步骤604为例进行示例性说明,并不作为限定,具体的执行顺序可以根据实际应用场景调整。

606、根据查询样本对应的第一概率向量以及至少一组第一概率向量,计算查询样本和每个支撑样本之间的距离分别对应的权重。

其中,在预测查询样本的标签时,可以参考查询样本和各种类别或者各种属性之间的关联度,然后根据该关联度确定查询样本和每个支撑样本之间的距离对应的权重,进而更准确地得到查询样本的预测标签。

可以理解为,可以参考样本的类别和各种类别或者各种属性之间的关联程度,来确定各个维度的概念空间中查询样本和每个支撑样本之间的距离对查询样本的类别的影响程度,以便后续可以得到更准确的预测标签。

通常,关联度越高,则相应维度中查询样本和每个支撑样本之间的距离对应的权重值也就越高,关联度越低,则相应维度中查询样本和每个支撑样本之间的距离对应的权重值也就越低。例如,可以将查询样本的概率向量,和所有的支撑样本的概率向量按元素相乘,将得到的值作为查询样本与所有支撑样本在多个维度的概念空间中距离的权重。

例如,查询样本和N*k个支撑样本中的每个支撑样本之间的距离可以表示为 [s1,s2,s3…sc],分别表示每个概念空间中查询样本和支撑样本之间的距离,查询样本的概率向量可以表示为[p1,p2,p3…pc],可以将该查询样本的概率向量[p1,p2,p3…pc]分别和N*k个距离[s1,s2,s3…sc]进行内积运算,得到在C个维度的概念空间中查询样本与N*k个支撑样本之间的距离的权重[q1,q2,q3…qc]。

607、从支撑样本集中抽取多组样本子集,每组样本子集包括至少三个样本,该三个样本中至少包括不同类别的两个样本。

其中,每组样本子集包括不少于3个样本,该3个样本中至少包括不同类别的两个样本。例如,一组样本子集中可以包括3个样本,其中包括了两个相同或者相似的样本,相似即属性接近的样本,还包括了两个不同类别的样本。具体例如,支撑集中包括了分类为猫、狗、猪、狐狸的样本,则可以从中选择两个分类为狗的样本以及一个分类为狐狸的样本,得到一组样本子集。

需要说明的是,本申请对步骤603和步骤607的执行顺序不作限定,可以先执行步骤603,也可以先执行步骤607,还可以同时执行步骤603和步骤607,本申请仅以先执行步骤603为例进行示例性说明,并不作为限定,具体的执行顺序可以根据实际应用场景进行调整。

608、将多组样本子集中每个样本的第一特征向量作为比较聚合模型的输入,得到聚合向量。

其中,目标神经网络还可以包括比较聚合模型,用于输出支撑集中的样本的属性和样本的类别之间的关联度,将至少包括不同类别的样本的每组样本子集作为比较聚合模型的输入,即可得到不同类别和属性之间的关系。

具体地,可以将多组样本子集的第一特征向量输入至第一全连接层,得到多组第五特征向量,对多组第五特征向量进行求和运算,得到特征向量和,将特征向量和作为第二全连接层的输入,得到聚合向量。

例如,从大小为N*k的支撑集中抽取多个三元组(一组至少三个样本),以每组三元组中包括三个样本(一号样本、二号样本和三号样本)为例,一号和二号样本为同类样本,一号与三号为不同类别的样本;或者,一号和二号样本为相似样本(如同一属性),一号与三号为不同属性的样本;或者,一号和二号样本为相似样本,一号与三号为不同类别的样本。该三元组的样本分别由元模型输出3个d维特征向量,将该3个d维特征向量组合成d*3的矩阵并输入至第一全连接层,得到一个d”维向量,对所有三元组的d”维向量求和,并输入至第二全连接层,该第二全连接层包括的神经元的数量通常与概念空间的维度数量相关,例如,若构建了C个维度的概念空间,第二全连接层通常具有C个神经元,将第二全连接层的输出进行soft-max操作,得到长度为C的向量,即聚合向量。该聚合向量表示样本的属性与类别之间的关联度,例如,该聚合向量可以表示为[j1,j2,…,jc],以[0.1,0.5,0.1…0.1] 为例,其长度为C,分别对应C个维度的概念空间,即C种属性,如0.1表示属性1影响类别的程度标识为0.1,0.5表示属性2影响类别的程度标识为0.5等,以此类推。

需要说明的是,当样本的标签中具有属性和类别时,聚合向量即表示支撑集中样本的属性和类别之间的关系,当样本的标签中仅具有类别时,则聚合向量可以表示支撑集中的样本的类别和类别之间的关系,为便于理解,本申请仅以该聚合向量表示支撑集中样本的属性和类别之间的关系为例进行示例性说明,以下的聚合向量也可以替换为支撑集中的样本的类别和类别之间的关系,以下不再赘述。

609、根据查询样本和至少一个支撑样本之间的距离,以及查询样本和至少一个支撑样本中每个支撑样本之间的距离分别对应的权重,以及聚合向量,计算查询样本的类别分别为多个类别的概率得到预测标签。

其中,在前述计算得到权重值之后,即可确定每个距离值对预测查询样本的类别的影响程度,结合聚合向量表示支撑集中的样本的类别和属性之间的关联关系,即可计算得到查询样本的类别分别为多个类别的概率,即预测标签。

具体地,可以基于查询样本和至少一个支撑样本中每个支撑样本之间的距离分别对应的权重,对查询样本和至少一个支撑样本之间的距离进行加权运算,得到第一距离和。从至少一个支撑样本中确定分类为任意类别(此处以第一类别为例)的支撑样本,根据权重对查询样本与分类为第一类别的支撑样本之间的距离进行加权运算,得到第二距离和,其中,计算第二距离和与计算第一距离和的不同之处在于,在计算第二距离和时的加权运算过程中,权重除了来自于前述步骤606中计算得到的权重,还结合了聚合向量中每种属性所占的权重,从而得到第二距离和。随后,将第一距离和作为分母,第二距离和作为分子,即可得到查询样本的类别为第一类别的概率值。

具体例如,对查询样本和N*k个支撑样本之间的距离[s1,s2,s3...sc]进行加权运算,权重表示为[q1,q2,q3...qc],得到第一距离和S1。对查询样本和每个类别的k个支撑样本之间的距离进行加权运算,得到N个第二距离和S2,不同之处在于,权重值除了[q1,q2,q3...qc],还增加了聚合向量[j1,j2,...,jc]作为权重,计算得到S2。然后将S1作为分母,N个S2作为分子,得到N个概率值,即查询样本分别为N个类别中每个类别的概率,从而得到查询样本的预测标签。或者,从N个类别中选择最大概率值对应的类别作为查询样本的预测标签。更具体例如,对样本的类别属于类别y的概率的计算方式可以表示为:

Θ={φ,L

其中,S表示支撑集,y表示其中一种类别,φ表示元模型的输出,L

因此,在本申请实施方式中,可以集合类别与类别之间的关联程度或者类别与属性之间的关联程度,预测样本的标签,相比于使用互相独立的样本来进行预测,本申请提供的方法可以提高得到的预测标签的准确率。

610、计算查询样本的预测标签和实际标签之间的损失。

其中,在得到聚合向量和查询样本的预测标签之后,可以结合聚合向量计算查询样本的预测标签和实际标签之间的损失值。

具体可以使用损失值可以使用均方误差、交叉熵或者平均绝对误差等算法计算得到。例如,样本的标签中可以包括类别以及属性等信息,可以采用的损失函数为查询样本的预测类别与真实类别的交叉熵,以及查询样本预测概念标签的与真实概念标签之间的KL散度的和,概念标签即包括了样本的属性的标签,例如,可以从查询样本对应的概率向量[p1,p2,p3...pc] 中选择最大值作为查询样本的预测概念标签。

需要说明的是,本申请实施例中的步骤610-步骤613与前述步骤407-步骤409类似,此处不再赘述。

611、更新元模型、概念空间映射模型、概率预测模型和比较聚合模型。

其中,除了更新元模型和概念空间映射模型之外,还可以更新概率预测模型和比较聚合模型,从而可以结合概率预测模型输出的属性和类别之间的关联度,以及影响类别的属性等信息,输出更准确的预测结果。

可以理解为,本申请提供的机器学习方法可以应用于分类网络,该分类网络可以包括元模型、概念空间映射模型、概率预测模型、比较聚合模型和输出模块,通常,元模型、概念空间映射模型、概率预测模型和比较聚合模型的参数与支撑集和查询集的样本类型相关,因此可以通过支撑集和查询集对元模型、概念空间映射模型、概率预测模型和比较聚合模型的参数进行更新,而输出模块的计算方式可以是预先设定的方式,可以无需更新参数。当然,在一些场景中,也可以对输出模块进行更新,具体可以根据实际应用场景进行调整。

612、判断是否终止迭代,若是,则执行步骤613,若否,则执行步骤602。

其中,步骤612可以参阅前述步骤408,此处不再赘述。

613、终止迭代。

在终止迭代之后,即可使用训练后的分类网络来进行正向推理,如预测输入样本的类别或者预测输入的样本的值等。该分类网络即包括了前述的元模型、概念空间映射模型、概率预测模型和比较聚合模型,还可以包括输出模块,该输出模块用于对元模型、概念空间映射模型、概率预测模型和比较聚合模型的输出结果进行整理,得到预测标签。将待分类的样本作为神经网络的输入,即可通过元模型提取特征,得到特征向量,通过概念空间映射模型将特征向量映射至多个维度的概念空间中,通过概率预测模型输出输入的样本对应的概念标签,然后通过输出模块,计算出待分类的样本分别为每个类别的概率,然后取概率最大的类别作为待分类的样本的预测标签。

因此,在本申请实施方式中,借助概念空间将属性与类别或属性与任务,或类别与任务之间建立了联系。样本的固有属性信息通过概念空间映射模型和概率预测模型建模,通过比较聚合模型对特定任务中属性和类别的关系通过比较聚合进行修正,从而结合了样本的属性和类别之间的区别与联系,使对样本的预测效果更好,输出精度更高。可以理解为,可以从建立样本的属性、类别或任务之间的联系,最大化利用小样本语义信息,从而提升了元学习算法在多语义小样本任务中的性能。通过样本的特征向量在概念空间的距离来表示样本之间的关联度,可以建立样本与样本之间的区别和联系,进一步提高元学习算法在多语义小样本任务中的性能。并且,在进行正向推理时,无需额外的内存、能耗或时间成本等,在不增加正向推理所需的成本的基础上,提高了正向推理输出的预测结果的准确度。

前述对本申请提供的机器学习方法的流程进行了详细介绍,本申请提供的机器学习方法可以应用于小样本学习中,下面以训练的目标神经网络为分类网络为例,对本申请提供的机器学习方法进行详细说明。

首先,参阅图7,本申请提供的一种分类网络的结构示意图。

本申请提供的分类网络70可以包括元模型701、概念空间映射模型702、概率预测模型 703、比较聚合模型704和输出模块705。

其中,元模型701,用于提取输入的样本的特征,输出特征向量。

概念空间映射模型702,用于将输入的向量映射至每个维度的概念空间中,输出映射至概念空间之后的特征向量。

概率预测模型703,用于计算输入的向量对应的样本与每个维度的关联度,输出概率向量。例如,若每个维度对应一种属性,则该概率预测模型703可以用于计算输入的向量对应的样本的类别和每种属性之间的关联度,若每个维度对应一种类别,则该概率预测模型703可以用于计算输入的向量对应的样本的类别和每种类别之间的关联度等。通常,概率预测模型703 可以用于将元模型701输出的特征向量映射为长度为C(即概念空间的维度数量),且和为1 的向量,通常可以取向量中的最大值作为样本的概念标签,如表示某个属性对与样本的类别之间的关联度最大。

比较聚合模型704,用于输出支撑集中的所有样本的属性和类别之间的关系,得到聚合向量。可以理解为,该聚合向量可以用于表示支撑集中的所有样本中,属性和类别之间的关联关系,因此,可以基于该聚合向量获知每一种属性对识别出样本类别的影响程度。

输出模块705,用于基于概念空间映射模型702、概率预测模型703和比较聚合模型704 的输出结果,输出样本的预测标签,如预测样本的分类结果或回归结果等。

为便于理解,本申请提供的分类网络,其正向推理的过程可以包括以下过程:

首先,给定了小样本给定小样本目标任务数据(支撑集含有N个新类别,每类k个样本;查询集含有同样的N个类别,每类m个样本),按照与前述步骤601-608的训练过程相同的方式处理支撑集数据,可以得到N*k*C个d’维特征向量和N*k个C维的概率向量以及长度为C的聚合向量。然后向分类网络输入样本,通过前述步骤609所提及的方式,得到输入样本的预测标签。

示例性地,下面以一个更具体的分类任务的应用场景为例,对本申请提供的机器学习方法的一次迭代过程进行详细介绍。其中,本申请提供的机器学习方法中的一次迭代可以包括多个阶段,如图9所示,下面分别进行介绍。

阶段1:数据准备。

多语义小样本分类任务:示例性地,如图8所示,支撑集和查询集来自于UTZappos50K 鞋子数据集,每张图片都可以从6个属性进行衡量:如鞋口形状、鞋跟高度、鞋垫、材质、子类、鞋尖风格。按照不同的属性,图片会有不同的分类,平均每个属性含有16个子类别。目标小样本任务为——随机抽取某一个属性,利用该属性下的5类、每类1或5个样本的支撑集进行学习,完成在相同的5类、每类15个样本的查询集上的预测任务。其中,对于鞋子的分类方式可以有多种,本申请将多语义的样本按照特定概念区分开。图8为按照“类别”概念(左)和“鞋跟高度”概念(右)对多语义的鞋子样本进行聚类的结果,如“类别”概念空间中的休闲鞋、凉鞋、靴子,“鞋跟高度”空间中的平跟鞋、中跟鞋、高跟鞋。

为了模拟目标小样本分类任务,在元训练集(meta-train set)中按如下方式采样大量小样本任务数据:首先在6个属性中随机选取1个属性,然后在该属性的16个类别中随机选取N=5个类别,每类随机抽取k+m个样本,得到大小为N*(1+k)的小样本任务数据集。其中 N*k个样本作为支撑集,N*m个样本作为查询集。(其中k=1或5,m=15)。

阶段2:模型初始化。

初始化元模型、概念空间映射模型、概率预测模型、比较聚合模型以及输出模块等中的参数。

元模型的输入为一个样本向量/矩阵,输出是一个长度为d的特征向量;

概念空间映射模型的输入为元模型的d维输出,输出为d’维特征向量,结构为一个全连接层,概念空间映射模型中可以包括一种或者多种映射函数,用于将输入的向量映射至每个维度的概念空间中;

概率预测模型用于将元模型输出的d维特征向量映射为长度为C且求和为1的向量,取值最大的维度即对应样本的概念标签预测值,概率预测函数的结构可以为一个全连接层加 soft-max层;

比较聚合模型的输入是N类每类k个样本的支撑集,输出是一个长度为C且求和为1的向量,C个维度的取值大小对应不同概念在当前小样本任务中的重要性,比较聚合函数的结构含有两个全连接层和一个soft-max层。

阶段3:丰富语义。

然后,根据前述采样得到的小样本分类任务数据,计算支撑集和查询集的数据经过元模型得到的d维特征向量,将得到的N*k个d维特征向量分别输入概念空间映射函数和概率预测函数,则每个支撑集样本都能得到C个维度的概念空间中的d’维特征向量和1个C维的概率向量。

阶段4:比较聚合。

首先在从N*k的支撑集中抽取三元组,其中一号和二号样本为同类样本,一号与三号为不同类样本。

将三元组的样本分别输入元模型得到3个d维特征向量,将他们组合成d*3的矩阵输入第一个全连接层得到一个d”维向量,对d”维向量求和并输入另一个含有C个神经元的全连接层并求soft-max,得到一个长度为C的向量,即比较聚合模型的输出。

阶段5:损失计算。

计算在C个维度的概念空间中,该查询样本到支撑样本的距离(d’维特征向量之间的欧式距离);

将查询样本的概率向量和所有支撑样本的概率向量按元素相乘,得到该查询样本与各个支撑样本在C个维度的概念空间中距离的权重;

对上述该查询样本与各个支撑样本在C个维度的概念空间中距离加权后取自然指数再求和作为分母。对只属于类别y(前述的N个类别中的任意一个类别)的支撑集样本同样求距离并加权后取自然指数再求和,作为分子,与计算分母不同的是,在计算分子时,还结合比较聚合模型的输出作为权重进行加权运算。然后,即可得到查询样本属于类别y的概率,从而得到查询样本的类别属于N个类别中每个类别的概率。从N个类别中取概率值最大的类别作为查询样本的预测类别。

损失函数可以选择查询集样本预测类别与真实类别的交叉熵,以及查询集样本预测概念标签的与真实概念标签的KL散度的和,预测概念标签即概率预测模型输出概率向量中值最大的一个或多个概率值对应的一种或者多种属性。

阶段6:模型更新。

在计算得到损失函数的值之后,基于损失函数的值求梯度,更新元模型、概念空间映射函数、概率预测函数和比较聚合函数的参数。

在一次迭代完成之后,若不满足收敛条件,如迭代时长超过预设时长,损失值小于预设损失值,迭代次数超过预设次数,或者当前次迭代得到的模型的输出精度与上一次或者多次迭代得到的模型的输出精度的差值小于预设差值等,即可终止对分类网络的迭代训练。

为便于理解,参阅表1,下面对本申请提供的机器学习方法得到的模型精度,与一些现有的训练方法得到的模型的输出精度进行示例性说明。

表1

显然,本申请提供的机器学习方法得到的模型的输出精度更高,且给定的小样本任务数据越多,模型的输出结果也就越准确,识别精度也就越高。

前述对本申请提供的方法进行了详细介绍,下面对本申请提供的装置进行介绍。

首先,本申请提供一种机器学习装置,该机器学习装置可以用于执行本申请提供的机器学习方法,该机器学习装置具体可以包括:

获取模块1001,用于获取支撑集和查询集,支撑集和查询集中样本包括的实际标签包括多种类型的信息,多种类型的信息对应多个维度的概念空间;

训练模块1002,用于使用支撑集和查询集对目标神经网络进行至少一次迭代更新,得到更新后的目标神经网络,其中,目标神经网络中包括元模型和概念空间映射模型,至少一次迭代更新中的任意一次更新包括:将支撑集中的至少一个支撑样本作为元模型的输入,得到至少一组第一特征向量,以及将查询集中的至少一个查询样本作为元模型的输入,得到至少一组第二特征向量,元模型用于提取输入的样本的特征;通过概念空间映射模型,将至少一组第一特征向量映射至多个维度的概念空间中,得到至少一组第三特征向量,以及将至少一组第二特征向量映射至多个维度的概念空间中,得到至少一组第四特征向量;根据至少一组第三特征向量和至少一组第四特征向量,得到在多个维度的概念空间中,至少一个查询样本和至少一个支撑样本之间的距离;根据至少一个查询样本和至少一个支撑样本之间的距离,得到至少一个查询样本得到预测标签;根据至少一个查询样本的预测标签获取至少一个查询样本的损失值;根据至少一个查询样本的损失值更新目标神经网络,得到当前次迭代更新后的目标神经网络。

在一种可能的实施方式中,目标神经网络还包括概率预测模型,训练模块1002,还用于将至少一组第一特征向量作为概率预测模型的输入,输出至少一组第一概率向量,以及将至少一组第二特征向量作为概率预测模型的输入,输出至少一组第二概率向量,概率预测模型用于计算输入的向量对应的样本与多个维度的关联度,至少一组第一概率向量和至少一组第二概率向量用于得到至少一个查询样本得到预测标签。

在一种可能的实施方式中,多种类型的信息中包括支撑集和查询集中样本的多种分类的信息,训练模块1002,还用于:根据第一查询样本对应的第一概率向量以及至少一组第一概率向量,计算第一查询样本和至少一个支撑样本中每个支撑样本之间的距离分别对应的权重,第一查询样本是至少一个查询样本中的任意一个;根据第一查询样本和至少一个支撑样本之间的距离,以及第一查询样本和至少一个支撑样本中每个支撑样本之间的距离分别对应的权重,计算第一查询样本的类别分别为多个类别的概率,得到第一查询样本的预测标签。

在一种可能的实施方式中,训练模块1002,还用于:根据第一查询样本的第二概率向量和至少一个支撑样本的第一概率向量,得到第一查询样本和至少一个支撑样本之间的距离在多个维度中的每个维度概念空间中的权重;根据权重对第一查询样本和至少一个支撑样本之间的距离进行加权运算,得到第一距离和;从至少一个支撑样本中确定分类为第一类别的支撑样本,第一类别为多个类别中的任一类别;根据权重对第一查询样本与分类为第一类别的支撑样本之间的距离进行加权运算,得到第二距离和;根据第一距离和与第二距离和计算得到第一查询样本的分类为第一类别的预测概率,预测概率用于得到预测标签。

在一种可能的实施方式中,多种类型的信息中包括支撑集和查询集中样本的多种分类的信息,目标神经网络还包括比较聚合模型,比较聚合模型用于得到输入的向量对应的样本的属性和类别之间的关系;训练模块1002,还用于:从支撑集中抽取多组样本子集,每组样本子集包括至少三个样本,三个样本中至少包括不同类别的两个样本;将多组样本子集中每个样本的第一特征向量作为比较聚合模型的输入,得到聚合向量,聚合向量中包括支撑集中的样本的属性和类别之间的关联关系,聚合向量用于得到预测标签。

在一种可能的实施方式中,比较聚合模型包括第一全连接层和第二全连接层,训练模块 1002,还用于:将多组样本子集的第一特征向量输入至第一全连接层,得到多组第五特征向量;对多组第五特征向量进行求和运算,得到特征向量和;将特征向量和作为第二全连接层的输入,得到聚合向量。

在一种可能的实施方式中,支撑集和查询集中的样本的实际标签中包括多种类别和多种属性,多种类别与多种属性相关联,多个维度为与支撑集和查询集中的样本的每种属性对应的维度,或者,多个维度为与支撑集和查询集中的样本的每种类别对应的维度。

请参阅图11,本申请提供的另一种机器学习装置的结构示意图,如下所述。

该机器学习装置可以包括处理器1101和存储器1102。该处理器1101和存储器1102通过线路互联。其中,存储器1102中存储有程序指令和数据。

存储器1102中存储了前述图4-图9中的步骤对应的程序指令以及数据。

处理器1101用于执行前述图4-图9中任一实施例所示的机器学习装置执行的方法步骤。

可选地,该机器学习装置还可以包括收发器1103,用于接收或者发送数据。

本申请实施例中还提供一种计算机可读存储介质,该计算机可读存储介质中存储有用于生成车辆行驶速度的程序,当其在计算机上行驶时,使得计算机执行如前述图4-图9所示实施例描述的方法中的步骤。

可选地,前述的图11中所示的机器学习装置为芯片。

本申请实施例还提供了一种机器学习装置,该机器学习装置也可以称为数字处理芯片或者芯片,芯片包括处理单元和通信接口,处理单元通过通信接口获取程序指令,程序指令被处理单元执行,处理单元用于执行前述图4-图9中任一实施例所示的机器学习装置执行的方法步骤。

本申请实施例还提供一种数字处理芯片。该数字处理芯片中集成了用于实现上述处理器 1101,或者处理器1101的功能的电路和一个或者多个接口。当该数字处理芯片中集成了存储器时,该数字处理芯片可以完成前述实施例中的任一个或多个实施例的方法步骤。当该数字处理芯片中未集成存储器时,可以通过通信接口与外置的存储器连接。该数字处理芯片根据外置的存储器中存储的程序代码来实现上述实施例中机器学习装置执行的动作。

本申请实施例中还提供一种包括计算机程序产品,当其在计算机上行驶时,使得计算机执行如前述图4-图9所示实施例描述的方法中机器学习装置所执行的步骤。

本申请实施例提供的机器学习装置可以为芯片,芯片包括:处理单元和通信单元,所述处理单元例如可以是处理器,所述通信单元例如可以是输入/输出接口、管脚或电路等。该处理单元可执行存储单元存储的计算机执行指令,以使服务器内的芯片执行上述图4-图9所示实施例描述的机器学习方法。可选地,所述存储单元为所述芯片内的存储单元,如寄存器、缓存等,所述存储单元还可以是所述无线接入设备端内的位于所述芯片外部的存储单元,如只读存储器(read-only memory,ROM)或可存储静态信息和指令的其他类型的静态存储设备,随机存取存储器(random access memory,RAM)等。

具体地,前述的处理单元或者处理器可以是中央处理器(central processingunit,CPU)、网络处理器(neural-network processing unit,NPU)、图形处理器(graphicsprocessing unit,GPU)、数字信号处理器(digital signal processor,DSP)、专用集成电路(application specific integrated circuit,ASIC)或现场可编程逻辑门阵列(fieldprogrammable gate array,FPGA)或者其他可编程逻辑器件、分立门或者晶体管逻辑器件、分立硬件组件等。通用处理器可以是微处理器或者也可以是任何常规的处理器等。

示例性地,请参阅图12,图12为本申请实施例提供的芯片的一种结构示意图,所述芯片可以表现为神经网络处理器NPU 120,NPU 120作为协处理器挂载到主CPU(Host CPU)上,由Host CPU分配任务。NPU的核心部分为运算电路120,通过控制器1204控制运算电路1203 提取存储器中的矩阵数据并进行乘法运算。

在一些实现中,运算电路1203内部包括多个处理单元(process engine,PE)。在一些实现中,运算电路1203是二维脉动阵列。运算电路1203还可以是一维脉动阵列或者能够执行例如乘法和加法这样的数学运算的其它电子线路。在一些实现中,运算电路1203是通用的矩阵处理器。

举例来说,假设有输入矩阵A,权重矩阵B,输出矩阵C。运算电路从权重存储器1202中取矩阵B相应的数据,并缓存在运算电路中每一个PE上。运算电路从输入存储器1201中取矩阵A数据与矩阵B进行矩阵运算,得到的矩阵的部分结果或最终结果,保存在累加器(accumulator)1208中。

统一存储器1206用于存放输入数据以及输出数据。权重数据直接通过存储单元访问控制器(direct memory access controller,DMAC)1205,DMAC被搬运到权重存储器1202中。输入数据也通过DMAC被搬运到统一存储器1206中。

总线接口单元(bus interface unit,BIU)1210,用于AXI总线与DMAC和取指存储器 (instruction fetch buffer,IFB)1209的交互。

总线接口单元1210(bus interface unit,BIU),用于取指存储器1209从外部存储器获取指令,还用于存储单元访问控制器1205从外部存储器获取输入矩阵A或者权重矩阵B的原数据。

DMAC主要用于将外部存储器DDR中的输入数据搬运到统一存储器1206或将权重数据搬运到权重存储器1202中或将输入数据数据搬运到输入存储器1201中。

向量计算单元1207包括多个运算处理单元,在需要的情况下,对运算电路的输出做进一步处理,如向量乘,向量加,指数运算,对数运算,大小比较等等。主要用于神经网络中非卷积/全连接层网络计算,如批归一化(batch normalization),像素级求和,对特征平面进行上采样等。

在一些实现中,向量计算单元1207能将经处理的输出的向量存储到统一存储器1206。例如,向量计算单元1207可以将线性函数和/或非线性函数应用到运算电路1203的输出,例如对卷积层提取的特征平面进行线性插值,再例如累加值的向量,用以生成激活值。在一些实现中,向量计算单元1207生成归一化的值、像素级求和的值,或二者均有。在一些实现中,处理过的输出的向量能够用作到运算电路1203的激活输入,例如用于在神经网络中的后续层中的使用。

控制器1204连接的取指存储器(instruction fetch buffer)1209,用于存储控制器1204 使用的指令;

统一存储器1206,输入存储器1201,权重存储器1202以及取指存储器1209均为On-Chip 存储器。外部存储器私有于该NPU硬件架构。

其中,循环神经网络中各层的运算可以由运算电路1203或向量计算单元1207执行。

其中,上述任一处提到的处理器,可以是一个通用中央处理器,微处理器,ASIC,或一个或多个用于控制上述图4-图9的方法的程序执行的集成电路。

另外需说明的是,以上所描述的装置实施例仅仅是示意性的,其中所述作为分离部件说明的单元可以是或者也可以不是物理上分开的,作为单元显示的部件可以是或者也可以不是物理单元,即可以位于一个地方,或者也可以分布到多个网络单元上。可以根据实际的需要选择其中的部分或者全部模块来实现本实施例方案的目的。另外,本申请提供的装置实施例附图中,模块之间的连接关系表示它们之间具有通信连接,具体可以实现为一条或多条通信总线或信号线。

通过以上的实施方式的描述,所属领域的技术人员可以清楚地了解到本申请可借助软件加必需的通用硬件的方式来实现,当然也可以通过专用硬件包括专用集成电路、专用CPU、专用存储器、专用元器件等来实现。一般情况下,凡由计算机程序完成的功能都可以很容易地用相应的硬件来实现,而且,用来实现同一功能的具体硬件结构也可以是多种多样的,例如模拟电路、数字电路或专用电路等。但是,对本申请而言更多情况下软件程序实现是更佳的实施方式。基于这样的理解,本申请的技术方案本质上或者说对现有技术做出贡献的部分可以以软件产品的形式体现出来,该计算机软件产品存储在可读取的存储介质中,如计算机的软盘、U盘、移动硬盘、只读存储器(read only memory,ROM)、随机存取存储器(random access memory,RAM)、磁碟或者光盘等,包括若干指令用以使得一台计算机设备(可以是个人计算机,服务器,或者网络设备等)执行本申请各个实施例所述的方法。

在上述实施例中,可以全部或部分地通过软件、硬件、固件或者其任意组合来实现。当使用软件实现时,可以全部或部分地以计算机程序产品的形式实现。

所述计算机程序产品包括一个或多个计算机指令。在计算机上加载和执行所述计算机程序指令时,全部或部分地产生按照本申请实施例所述的流程或功能。所述计算机可以是通用计算机、专用计算机、计算机网络、或者其他可编程装置。所述计算机指令可以存储在计算机可读存储介质中,或者从一个计算机可读存储介质向另一计算机可读存储介质传输,例如,所述计算机指令可以从一个网站站点、计算机、服务器或数据中心通过有线(例如同轴电缆、光纤、数字用户线(DSL))或无线(例如红外、无线、微波等)方式向另一个网站站点、计算机、服务器或数据中心进行传输。所述计算机可读存储介质可以是计算机能够存储的任何可用介质或者是包含一个或多个可用介质集成的服务器、数据中心等数据存储设备。所述可用介质可以是磁性介质,(例如,软盘、硬盘、磁带)、光介质(例如,DVD)、或者半导体介质(例如固态硬盘(solid state disk,SSD))等。

本申请的说明书和权利要求书及上述附图中的术语“第一”、“第二”、“第三”、“第四”等(如果存在)是用于区别类似的对象,而不必用于描述特定的顺序或先后次序。应该理解这样使用的数据在适当情况下可以互换,以便这里描述的实施例能够以除了在这里图示或描述的内容以外的顺序实施。此外,术语“包括”和“具有”以及他们的任何变形,意图在于覆盖不排他的包含,例如,包含了一系列步骤或单元的过程、方法、系统、产品或设备不必限于清楚地列出的那些步骤或单元,而是可包括没有清楚地列出的或对于这些过程、方法、产品或设备固有的其它步骤或单元。

最后应说明的是:以上,仅为本申请的具体实施方式,但本申请的保护范围并不局限于此,任何熟悉本技术领域的技术人员在本申请揭露的技术范围内,可轻易想到变化或替换,都应涵盖在本申请的保护范围之内。因此,本申请的保护范围应以权利要求的保护范围为准。

相关技术
  • 机器人系统、机器人的控制方法、机器学习装置及机器学习方法
  • 机器人的控制装置、机器学习装置以及机器学习方法
技术分类

06120112757414