首页 / 票据分类模型的训练方法、票据分类方法及相关装置

票据分类模型的训练方法、票据分类方法及相关装置实质审查 发明

技术领域

[0001] 本申请涉及图像处理技术领域,特别涉及一种票据分类模型的训练方法、票据分类方法及相关装置、电子设备、计算机可读存储介质。

相关背景技术

[0002] 长尾分布是指少量类别的样本量占据了总样本量的大部分,而剩下的大部分类别占据了剩下的少量样本。发票等各类票据数据的数量通常符合长尾分布的规律。针对票据数据进行分类时,由于不同样本类别的样本数差异较大,因此,可能使得“头部”类别(即样本数量较多的类别)数据呈现过拟合现象,而“尾部”类别(即样本数量少的类别)呈现欠拟合现象,从而导致分类效果较差。
[0003] 相关技术中,基于多专家架构的票据分类模型虽然可以在一定程度上缓解由于长尾分布导致票据分类不准确的问题,但是,由于多个专家“学习”到的知识之间可能存在较多重复内容,从而导致整体学习范围较小,或者缺乏对某些知识的学习,因此,在利用该多专家架构模型进行票据分类时,仍然无法保证获得较高的分类准确性。

具体实施方式

[0023] 为使本领域的技术人员更好地理解本申请的技术方案,以下结合附图对本申请的示范性实施例做出说明,其中包括本申请实施例的各种细节以助于理解,应当将它们认为仅仅是示范性的。因此,本领域普通技术人员应当认识到,可以对这里描述的实施例做出各种改变和修改,而不会背离本申请的范围和精神。同样,为了清楚和简明,以下的描述中省略了对公知功能和结构的描述。
[0024] 在不冲突的情况下,本申请各实施例及实施例中的各特征可相互组合。
[0025] 如本文所使用的,术语“和/或”包括一个或多个相关列举条目的任何和所有组合。
[0026] 本文所使用的术语仅用于描述特定实施例,且不意欲限制本申请。如本文所使用的,单数形式“一个”和“该”也意欲包括复数形式,除非上下文另外清楚指出。还将理解的是,当本说明书中使用术语“包括”和/或“由……制成”时,指定存在所述特征、整体、步骤、操作、元件和/或组件,但不排除存在或添加一个或多个其它特征、整体、步骤、操作、元件、组件和/或其群组。“连接”或者“相连”等类似的词语并非限定于物理的或者机械的连接,而是可以包括电性的连接,不管是直接的还是间接的。
[0027] 除非另外限定,否则本文所用的所有术语(包括技术和科学术语)的含义与本领域普通技术人员通常理解的含义相同。还将理解,诸如那些在常用字典中限定的那些术语应当被解释为具有与其在相关技术以及本申请的背景下的含义一致的含义,且将不解释为具有理想化或过度形式上的含义,除非本文明确如此限定。
[0028] 长尾分布是指数据中小部分类别占据了大部分样本量,而剩下的大部分类别则占据小部分样本量。其中,占据大部分样本量的小部分类别为头部类别,占据小部分样本量的大部分类别为尾部类别。
[0029] 随着人工智能等技术的发展,文本识别等技术已经应用在票据识别领域。在票据识别过程中,通常需要先对票据进行分类,以提高识别效果。票据数据通常呈现长尾分布,因此,可以利用多分类器架构进行票据分类。但是,在对这种多分类器架构进行训练时,并未充分考虑不同分类器的学习范围对分类结果的影响,可能使得多个专家“学习”到的知识之间可能存在较多重复内容,从而导致整体学习范围较小,或者缺乏对某些知识的学习,因此,无法保证获得较高的分类准确性。
[0030] 有鉴于此,本申请实施例提供一种票据分类模型的训练方法、票据分类方法及相关装置、电子设备、计算机可读存储介质。
[0031] 根据本申请实施例的票据分类模型的训练方法,首先,构建待训练票据分类模型,待训练票据分类模型包括多个分类器,且各个分类器之间存在至少部分分类参数不相同,一方面,由于票据数据通常呈现长尾分布,因此,这种多分类器的模型架构可以缓解长尾分布可能导致的过拟合和欠拟合问题,从而能够提高票据分类的准确性,另一方面,由于各个分类器之间可能存在一些分类参数不相同,因此,使得各个分类器具有学习不同票据分类知识的能力,为扩展票据分类模型的学习范围提供了基础;其次,将票据训练图像输入待训练票据分类模型进行票据分类预测,得到多个训练分类概率向量,训练分类概率向量包括多个概率值,每个概率值对应一个类别,且概率值用于表示所述票据训练图像属于对应类别的概率,类别用于表征待分类票据的票据类型,基于此可以明确票据训练图像属于每个类别的概率,而且各个训练分类概率向量与分类器之间具有对应关系,因而明确了各个分类器对该票据训练图像的分类结果;另外,基于多个训练分类概率向量,确定分类损失、多样化损失和差异化损失,差异化损失用于表征由各个分类器的学习范围的差异性所导致的损失,相较于相关技术的分类方法而言新增了差异化损失,考虑到差异化损失是由于各个分类器的学习范围的差异性所导致的损失,因此,基于差异化损失可以明确不同分类器的学习范围的差异性;最后,根据分类损失、多样化损失和差异化损失对待训练票据分类模型中的至少部分分类器的分类参数进行迭代更新,并在满足迭代停止条件的情况下,得到训练好的票据分类模型,由于在模型更新过程中使用了多种损失,因此,可以提高迭代后的模型的准确性,并且,通过差异化损失进行模型迭代可以尽量减少各个分类器的学习范围之间的重复部分,使得多个分类器可以覆盖更加广泛的学习范围,从而提高对票据分类知识的学习能力,因而能够提高票据分类结果的准确性。
[0032] 根据本申请实施例的票据分类模型的训练方法、票据分类方法可以由终端设备或服务器等电子设备执行,终端设备可以为用户设备(User Equipment,UE)、移动设备、用户终端、蜂窝电话、无绳电话、个人数字助理(Personal Digital Assistant,PDA)、手持设备、计算设备、车载设备、可穿戴设备等,该方法可以通过处理器调用存储器中存储的计算机可读程序指令的方式来实现。服务器可以是独立的物理服务器、由多个服务器组成的服务器集群或者能够进行云计算的云服务器。
[0033] 第一方面,本申请实施例提供一种票据分类模型的训练方法。
[0034] 图1为本申请实施例提供的一种票据分类模型的训练方法的流程图。参照图1,该训练方法包括:
[0035] 步骤S11,构建待训练票据分类模型。
[0036] 在一些可选的实现方式中,待训练票据分类模型包括多个分类器,且各个分类器之间存在至少部分分类参数不相同。其中,分类参数包括分类器中会对分类结果产生影响的参数,例如,具有多个卷积层结构的分类器中,其分类参数可以包括卷积层的网络参数(卷积核尺寸、卷积步长等)。
[0037] 在一些可选的实现方式中,分类器具备一定的特征提取能力,可以从票据图像中提取出相应的分类特征,并基于分类特征判断该票据图像属于各个类别的概率,其中,分类特征包括可以反映票据所属类别的特征(例如,纹理特征、色彩特征、尺寸特征、字符特征等),类别可用于表征票据所属的票据类型(例如,出租车发票等)。
[0038] 进一步地,由于各个分类器之间存在至少部分分类参数不相同,因此,使得各个分类器可以提取不同的分类特征,且对不同分类特征的提取能力可能也相应不同,因此,在该票据分类模型中,每个分类器就相当于一个“分类专家”,可以学习到各自相应的分类知识,并基于这些分类知识进行票据分类。在进行票据分类时,无论针对何种类别的票据图像,每个分类专家都会给出自己的分类结果,并通过参考多个分类专家的分类结果共同确定最终的票据类别,即便少数分类专家的分类结果不准确,最终得到的票据类别仍然大概率是准确的,因而可以提高票据分类结果的准确性。
[0039] 在一些可选的实现方式中,多个分类器共用至少一个第一卷积层,且每个分类器各自设置有至少一个第二卷积层,其中,第一卷积层和第二卷积层均是用于提取票据训练图像的训练分类特征的网络层,且第一卷积层的网络层级低于第二卷积层的网络层级,训练分类特征用于确定对应分类器的训练分类概率向量,分类参数包括第一卷积层的网络参数和第二卷积层的网络参数。
[0040] 图2为本申请实施例提供的一种分类器的结构示意图。参照图2,其示出了N个分类器,对应两类卷积层,分别是第一卷积层和第二卷积层。其中,第一卷积层由多个分类器共用,第二卷积层不属于共用网络层,而是针对各个分类器独立设置并由各个分类器自行使用。
[0041] 需要说明的是,针对各个分类器之间,两者的第二卷积层的尺寸、网络层数量等网络参数可以相同,也可以不同。例如,第1个分类器的第二卷积层共包括3个网络层,而第i个分类器的第二卷积层包括2个网络层。例如,第1个分类器的第二卷积层的尺寸与第N个分类器的第二卷积层的尺寸不相同。
[0042] 另外,针对同一分类器,其第二卷积层包括的多个网络层的尺寸等网络参数可以相同,也可以不同(包括部分相同、部分不同的情况)。例如,第i个分类器的第二卷积层中,两个网络层的尺寸相同。例如,第1个分类器的第二卷积层中,三个网络层的尺寸均不相同。
[0043] 需要说明的是,在本申请实施例中,票据分类模型具有多分类器架构,每个分类器相当于一个“分类专家”,基于这种多专家架构的模型构建方式,可以有效缓解票据数据由于长尾分布导致的过拟合和欠拟合问题;其次,在该多专家架构中,各个分类器在初始阶段时,就存在部分分类参数不同,由于不同分类参数可能导致分类器的学习侧重点不同,因此,这种分类参数设置方式为不同分类器具备学习不同分类知识的能力提供了基础;另外,初始阶段设置的分类参数通常并非最优参数,虽然不同分类器可能学习到相应的知识,但是这些知识之间可能存在较大的重复范围,或者某些分类知识未被任意一个分类器学习到,因此,还需通过模型训练进一步优化分类参数的取值,使得不同分类器可以学习到不同范围的分类知识,缩小分类知识之间的重复性,从而增加整个模型的学习范围,使得该票据分类模型可以覆盖更为广泛的分类知识范围,提高对票据的分类准确性。
[0044] 步骤S12,将票据训练图像输入待训练票据分类模型进行票据分类预测,得到多个训练分类概率向量,各个训练分类概率向量与分类器之间具有对应关系。
[0045] 在一些可选的实现方式中,训练分类概率向量包括多个概率值,每个概率值对应一个类别,且概率值用于表示票据训练图像属于对应类别的概率,类别用于表征待分类票据的票据类型。也就是说,待分类票据可能具有N个类别(N≥2),待训练票据分类模型中包括M个分类器(M≥2),通过待训练票据分类模型进行票据分类预测之后,输出M个训练分类概率向量(分别对应M个分类器),而且,上述M个训练分类概率向量中的任意一个训练分类概率向量均包括N个概率值,N个概率值与N个类别具有一一对应关系,概率值表示相应分类器判断该票据训练图像属于对应类别的概率。
[0046] 在一些可选的实现方式中,票据训练图像属于某一特定类别,将其输入到待训练票据分类模型之后,模型中的多个分类器分别针对该票据训练图像进行票据分类处理,并输出多个训练分类概率向量,该训练分类概率向量中包括与各个类别对应的概率值,表示该票据训练图像属于各个类别的概率。
[0047] 示例性地,待训练票据分类模型包括3个分类器(分类器1、分类器2和分类器3),将票据训练图像输入待训练票据分类模型之后,输出三个训练分类概率向量p1、p2和p3,其中,p1对应分类器1(即p1是分类器1的输出结果),p2对应分类器2,p3对应分类器3。
[0048] 若票据图像的类别包括类别a、类别b、类别c、类别d和类别e共五个类别,则训练分类概率向量是一个五维的向量,其中,p1={p1a,p1b,p1c,p1d,p1e},p1a表示分类器1提供的票据训练图像属于类别a的概率,p1b表示分类器1提供的票据训练图像属于类别b的概率,p1c表示分类器1提供的票据训练图像属于类别c的概率,p1d表示分类器1提供的票据训练图像属于类别d的概率,p1e表示分类器1提供的票据训练图像属于类别e的概率,而且p1a+p1b+p1c+p1d+p1e=1。p2={p2a,p2b,p2c,p2d,p2e},p,3={p3a,p3b,p3c,p3d,p3e},且p2、p3中的各个概率值的含义与p1中各个概率值的含义类似,在此不再展开描述。
[0049] 需要说明的是,票据训练图像的数量可以是多个,针对每个票据训练图像的处理过程均是类似的,在此不再展开描述。
[0050] 步骤S13,基于多个训练分类概率向量,确定分类损失、多样化损失和差异化损失。
[0051] 在模型训练过程中,通常可以预先设置一个或多个损失函数,以通过损失函数对应的损失值衡量模型预测结果与真实结果之间的差距,进而基于该差距对模型参数进行调整。
[0052] 在一些可选的实现方式中,分类损失(LClassify)是基于分类损失函数得到的损失值,主要用于平衡正负样本的不均衡性。
[0053] 示例性地,可以通过交叉熵损失函数确定分类损失。
[0054] 在一些可选的实现方式中,多样化损失(LDiversity)是基于多样化损失函数得到的损失值,主要用于反映多个分类器的整体预测差异程度。
[0055] 在一些可选的实现方式中,差异化损失用于表征由各个分类器的学习范围的差异性所导致的损失。而且,当各个分类器的学习范围的差异性较大时,表示各个分类器能学习到不同的分类知识,因此,针对不同类别的票据,均能给出较为准确的票据分类结果。由此可知,通过差异化损失可以反映各个分类器的学习范围的差异性,并基于差异化损失对模型中的分类参数进行迭代更新,使得更新后的模型较更新前而言,各个分类器的学习范围之间的重复性得到降低,且多个分类器对应的整体学习范围得到扩展。
[0056] 在一些可选的实现方式中,基于多个训练分类概率向量,确定差异化损失,包括:根据多个训练分类概率向量进行均值计算,得到训练分类中心概率向量;基于训练分类中心概率向量和多个训练分类概率向量,确定至少部分训练分类概率向量之间的夹角和距离,夹角包括相邻两个训练分类概率向量与训练分类中心概率向量所形成的夹角,距离用于表征对应的两个训练分类概率向量之间所相隔的长度;从至少部分训练分类概率向量之间的夹角中选取至少一个夹角,得到至少一个目标夹角;根据至少一个目标夹角对应的训练分类概率向量进行散度计算,得到角度差异损失;从至少部分训练分类概率向量之间的距离中选取至少一个距离,得到至少一个目标距离;根据至少一个目标距离对应的训练分类概率向量进行散度计算,得到距离差异损失;根据角度差异损失和距离差异损失,确定差异化损失。
[0057] 由此可知,差异化损失是根据角度差异损失和距离差异损失两者共同确定的,基于这种方式,兼顾了各个分类器的学习范围之间的角度和距离,可以尽量拉开各个分类器的学习范围的角度和距离,使得各个分类器的学习范围尽量不重复或少重复,且同时多个分类器可以共同覆盖较大的学习范围。
[0058] 在一些可选的实现方式中,基于训练分类中心概率向量和多个训练分类概率向量,确定至少部分训练分类概率向量之间的夹角和距离,包括:将各个训练分类概率向量和训练分类中心概率向量映射到预设空间维度,得到各个训练分类概率向量在预设空间维度的第一空间位置和训练分类中心概率向量在预设空间维度的第二空间位置;以第二空间位置为起点,以各个第一空间位置为终点,得到与各个训练分类概率向量对应的分类矢量;根据相邻两个分类矢量之间的夹角,得到与相邻两个分类矢量对应的两个训练分类概率向量与训练分类中心概率向量之间的夹角;根据相邻两个分类矢量之间的距离,得到与相邻两个分类矢量对应的两个训练分类概率向量之间的距离。
[0059] 在一些可选的实现方式中,在得到与各个训练分类概率向量对应的分类矢量之后,确定夹角和距离时也可以采用如下方式:根据间隔q个分类矢量的两个分类矢量之间的夹角(q≥1),得到与这两个分类矢量对应的两个训练分类概率向量与训练分类中心概率向量之间的夹角;类似的,根据这两个分类矢量之间的距离,可以得到与这两个分类矢量对应的两个训练分类概率向量之间的距离。
[0060] 或者,在一些可选的实现方式中,根据间隔q个分类矢量的两个分类矢量之间的夹角(q≥1),得到与这两个分类矢量对应的两个训练分类概率向量与训练分类中心概率向量之间的夹角;根据间隔s个分类矢量的两个分类矢量(s≥1,且s≠q),确定这两个分类矢量对应的两个训练分类概率向量之间的距离。
[0061] 由此可知,除了直接基于相邻的两个分类矢量确定对应的夹角和距离(相邻的两个分类矢量本质上属于q=0的特殊情况)之外,还可以通过具有间隔的两个分类矢量,确定对应的夹角和距离。在实际应用中,可根据实际需求选择任意一种方式确定夹角和距离,本申请实施例对此不作限制。
[0062] 也就是说,可以先将向量形式的训练分类概率向量和训练分类中心概率向量都映射到预设空间维度,在该预设空间维度中确定相应的夹角和距离,这种处理方式较为便捷直观。
[0063] 下面结合图3和图4对基于损失的模型训练过程进行展开说明。
[0064] 图3为本申请实施例提供的一种训练分类概率向量之间的距离和夹角的示意图,包括图3(a)和图3(b)。
[0065] 如图3(a)所示,假设训练分类概率向量包括概率向量p1、概率向量p2和概率向量p3,基于(p1+p2+p3)/3得到训练分类中心概率向量p0。将p1映射到二维空间维度(由第一维度和第二维度组成),确定其在该二维空间维度中位于第一空间位置1,类似的,将p2映射到二维空间维度,确定其在该二维空间维度中位于第一空间位置2,将p3映射到二维空间维度,确定其在该二维空间维度中位于第一空间位置3,将p0映射到二维空间维度,确定其在该二维空间维度中位于第二空间位置1。
[0066] 以第二空间位置1为起点,以第一空间位置1为终点,从而得到与p1对应的分类矢量1;以第二空间位置1为起点,以第一空间位置2为终点,从而得到与p2对应的分类矢量2;以第二空间位置1为起点,以第一空间位置3为终点,从而得到与p3对应的分类矢量3。
[0067] 以分类矢量1与分类矢量2为例进行说明。由于分类矢量1与分类矢量2为相邻的分类矢量,因此,两者之间的夹角即为p1、p2与p0之间的夹角12;进一步地,连接第一空间位置1与第二空间位置2,即可确定p1与p2之间的距离12。其他夹角和距离的确定方式与之类似,在此不再展开描述。
[0068] 在图3(a)中,根据相邻的两个分类矢量确定对应的两个训练分类概率向量的夹角和距离。在图3(b)中,示例性地示出根据具有间隔的两个分类矢量确定对应的两个训练分类概率向量的夹角和距离的方式。
[0069] 如图3(b)所示,第一空间位置1至第一空间位置5分别对应概率向量p1至p5,第二空间位置1为基于上述5个概率向量确定的训练分类中心概率向量。当间隔q=1时,分类矢量1与分类矢量3之间的夹角13即表示p1与p3之间的夹角,分类矢量1与分类矢量3之间的距离13即表示p1与p3之间的距离。其他夹角和距离的确定方式与之类似,在此不再展开描述。
[0070] 在确定差异化损失时,同时用到了角度和距离,这种方式使得各个专家在预设空间维度尽量分散且较为均匀地分布,一方面,使得各个专家的学习范围尽量少重叠,另一方面,还能尽量提高多个专家所共同覆盖的学习范围,从而提高票据分类的准确性。
[0071] 图4为本申请实施例提供的一种分类器在知识空间维度的分布示意图,其包括图4(a)、图4(b)和图4(c),分别示出了分类器1、分类器2、分类器3和分类器4在知识空间维度的分布情况,其中,映射位置1对应分类器1,映射位置2对应分类器2,映射位置3对应分类器3,映射位置4对应分类器4。
[0072] 如图4(a)所示,映射位置1与映射位置3之间的距离d1、映射位置2与映射位置3之间的距离d2、映射位置3与映射位置4之间的距离d3均相同,且相对其他分类器的映射位置之间的距离而言最小。在仅基于距离进行损失计算并进行模型优化时,通常仅从上述三个距离中随机选取若干进行优化,从而可能导致部分距离未被优化,造成对应分类器的学习范围存在较多的重叠区域。换言之,其只能在一定程度上使各个分类器的映射位置之间的距离较为一致,但是无法保障其角度也是一致的,分类器的学习范围还是可能存在较多的重复部分。
[0073] 如图4(b)所示,映射位置2、映射位置3与映射位置1之间的夹角a1,映射位置2、映射位置3与映射位置4之间的夹角a2,两者相对其他夹角而言最小。在仅基于夹角进行损失计算并进行模型优化时,通常仅从上述两个夹角中随机选取部分进行优化,从而可能导致部分夹角未被优化,造成对应分类器的学习范围存在较多的重叠区域。换言之,图4(b)所示出的方式只能在一定程度上使各个分类器的映射位置之间的夹角较为一致,但是无法保障其距离也是一致的,分类器的学习范围还是可能存在较多的重复部分。
[0074] 如图4(c)所示,映射位置1、映射位置2、映射位置3和映射位置4是基于距离和角度同时进行优化调整的,在调整过程中,尽量拉开各个映射位置之间的夹角,同时调整相应距离,使得上述4个映射位置呈现较为均匀的分布状态。在这种情况下,各个分类器可以学习到相应的分类知识,分类知识之间也不存在较多的重复区域,且4个分类器所能覆盖的整体学习范围相对较大,可以得到较为丰富的学习能力。
[0075] 步骤S14,根据分类损失、多样化损失和差异化损失对待训练票据分类模型中的至少部分分类器的分类参数进行迭代更新,并在满足迭代停止条件的情况下,得到训练好的票据分类模型。
[0076] 在一些可选的实现方式中,训练过程可以包括:获取分类损失、多样化损失和差异化损失各自对应的损失权重;基于分类损失、多样化损失、差异化损失以及各自对应的损失权重进行加权计算,得到加权损失;在加权损失小于预设损失阈值的情况下,确定满足迭代停止条件,得到训练好的票据分类模型;在加权损失大于或等于预设损失阈值的情况下,确定不满足迭代停止条件,基于加权损失对待训练票据分类模型中的至少部分分类器的分类参数进行更新,并基于更新后的票据分类模型计算新的分类损失、新的多样化损失、新的差异化损失,并基于上述新的损失和各自对应的损失权重进行加权计算,得到新的加权损失,并在新的加权损失小于预设损失阈值的情况下,得到训练好的票据分类模型。
[0077] 示例性地,基于第i个分类损失、第i个多样化损失、第i个差异化损失以及预先获取的损失权重进行加权计算,得到第i个加权损失,其中,i≥1,第i个分类损失、第i个多样化损失和第i个差异化损失是在第i次训练中得到的损失值;在第i个加权损失小于预设损失阈值的情况下,得到训练好的票据分类模型;在第i个加权损失大于或等于预设损失阈值的情况下,基于第i个加权损失对待训练票据分类模型中的至少部分分类器的分类参数进行第i次更新,得到第i+1个待训练票据分类模型,并基于第i+1个待训练票据分类模型进行第i+1次训练。
[0078] 在本申请实施例中,首先,构建待训练票据分类模型,待训练票据分类模型包括多个分类器,且各个分类器之间存在至少部分分类参数不相同,一方面,由于票据数据通常呈现长尾分布,因此,这种多分类器的模型架构可以缓解长尾分布可能导致的过拟合和欠拟合问题,从而能够提高票据分类的准确性,另一方面,由于各个分类器之间可能存在一些分类参数不相同,因此,使得各个分类器具有学习不同票据分类知识的能力,为扩展票据分类模型的学习范围提供了基础;其次,将票据训练图像输入待训练票据分类模型进行票据分类预测,得到多个训练分类概率向量,训练分类概率向量包括多个概率值,每个概率值对应一个类别,且概率值用于表示票据训练图像属于对应类别的概率,类别用于表征待分类票据的票据类型,基于此可以明确票据训练图像属于每个类别的概率,而且各个训练分类概率向量与分类器之间具有对应关系,因而明确了各个分类器对该票据训练图像的分类结果;另外,基于多个训练分类概率向量,确定分类损失、多样化损失和差异化损失,差异化损失用于表征由各个分类器的学习范围的差异性所导致的损失,相较于相关技术的分类方法而言新增了差异化损失,考虑到差异化损失是由于各个分类器的学习范围的差异性所导致的损失,因此,基于差异化损失可以明确不同分类器的学习范围的差异性;最后,根据分类损失、多样化损失和差异化损失对待训练票据分类模型中的至少部分分类器的分类参数进行迭代更新,并在满足迭代停止条件的情况下,得到训练好的票据分类模型,由于在模型更新过程中使用了多种损失,因此,可以提高迭代后的模型的准确性,并且,通过差异化损失进行模型迭代可以尽量减少各个分类器的学习范围之间的重复部分,使得多个分类器可以覆盖更加广泛的学习范围,从而提高对票据分类知识的学习能力,因而能够提高票据分类结果的准确性。
[0079] 下面对本申请实施例中计算差异化损失的过程进行展开说明。
[0080] 在一些可选的实现方式中,在计算差异化损失时,可以只针对部分夹角进行计算。
[0081] 示例性地,从至少部分训练分类概率向量之间的夹角中选取至少一个夹角,得到至少一个目标夹角,包括:对至少一个目标夹角进行排序,得到夹角序列;从夹角序列中夹角取值最小的一端截取至少一个夹角,得到至少一个目标夹角,至少一个目标夹角的数量等于第一数量阈值,第一数量阈值是根据多个训练分类概率向量的总数量确定的阈值。
[0082] 例如,训练分类概率向量的数量为k个(k为大于1的整数),两两相邻的训练分类概率向量之间可以确定一个夹角,从而可以得到k个夹角,并基于k确定第一数量阈值为thr1,其中,thr1=[k/2](表示向上取整函数,thr1为大于1的整数)。对上述k个夹角进行排序之后,得到一个夹角序列,从取值最小的一端截取thr1个夹角作为目标夹角,以便进行后续的角度差异损失的计算。
[0083] 类似的,在计算差异化损失时,也可以只针对部分距离进行计算。
[0084] 示例性地,从至少部分训练分类概率向量之间的距离中选取至少一个距离,得到至少一个目标距离,包括:对至少一个目标距离进行排序,得到距离序列;从距离序列中距离取值最小的一端截取至少一个距离,得到至少一个目标距离,至少一个目标距离的数量等于第二数量阈值,第二数量阈值是根据多个训练分类概率向量的总数量确定的阈值。
[0085] 例如,训练分类概率向量的数量为k个(k为大于1的整数),任意两个训练分类概率向量之间可以确定一个距离,从而可以得到(k‑1)*k/2个距离,并可基于k确定第二数量阈值为thr2,其中,thr2=[(k‑1)*k/4](表示向上取整函数,thr2为大于1的整数)。对上述(k‑1)*k/2个距离进行排序之后,得到一个距离序列,从取值最小的一端截取thr2个距离作为目标距离,以便进行后续的距离差异损失的计算。
[0086] 在一些可选的实现方式中,根据至少一个目标夹角对应的训练分类概率向量进行散度计算,得到角度差异损失,包括:根据各个目标夹角对应的两个训练分类概率向量,确定各个目标夹角对应的两个训练分类概率向量针对各个类别的概率值的第一比值;对各个目标夹角的各个类别的概率值的第一比值进行第一预设变换,得到各个目标夹角的各个类别的第一变换值;基于各个目标夹角的各个类别的第一变换值与类别的概率值,得到各个目标夹角的各个类别的第一类别散度分量;根据多个目标夹角的各个类别的第一类别散度分量,确定角度差异损失。
[0087] 示例性地,以目标夹角α为例进行展开说明。若目标夹角α对应的两个训练分类概率向量为p1={p1a,p1b,p1c,p1d,p1e}和p2={p2a,p2b,p2c,p2d,p2e},其中,pia表示分类器i对类别a的预测概率,pib表示分类器i对类别b的预测概率,……,pie表示分类器i对类别e的预测概率,i的取值为1或2。
[0088] 由此可知,对应类别a的第一比值ratio(a)=p1a/p2a,对应类别b的第一比值ratio(b)=p1b/p2b,对应类别c的第一比值ratio(c)=p1c/p2c,对应类别d的第一比值ratio(d)=p1d/p2d,对应类别e的第一比值ratio(e)=p1e/p2e。
[0089] 分别对上述各个第一比值进行第一预设变换,可以得到类别a的第一变换值为log(p1a/p2a),类别b的第一变换值为log(p1b/p2b),类别c的第一变换值为log(p1c/p2c),类别d的第一变换值为log(p1d/p2d),类别e的第一变换值为log(p1e/p2e)。
[0090] 分别将各个类别的第一变换值与概率值相乘,可以得到各个类别的第一类别散度分量,其中,类别a的第一类别散度分量为p1a*log(p1a/p2a),类别b的第一类别散度分量为p1b*log(p1b/p2b),类别c的第一类别散度分量为p1c*log(p1c/p2c),类别d的第一类别散度分量为p1d*log(p1d/p2d),类别e的第一类别散度分量为p1e*log(p1e/p2e)。然后将上述多个第一类别散度分量相加,即可得到目标夹角α对应的角度差异损失LSeparate_α=p1a*log(p1a/p2a)+p1b*log(p1b/p2b)+p1c*log(p1c/p2c)+p1d*log(p1d/p2d)+p1e*log(p1e/p2e)。
[0091] 采用类似的方式可以计算得到其他目标夹角的角度差异损失,将多个目标夹角的角度差异损失进行累加,即可得到角度差异损失。
[0092] 在一些可选的实现方式中,根据至少一个目标距离对应的训练分类概率向量进行散度计算,得到距离差异损失,包括:根据各个目标距离对应的两个训练分类概率向量,确定各个目标距离对应的两个训练分类概率向量针对各个类别的概率值的第二比值;对各个目标距离的各个类别的概率值的第二比值进行第二预设变换,得到各个目标距离的各个类别的第二变换值;基于各个目标距离的各个类别的第二变换值与类别的概率值,得到各个目标距离的各个类别的第二类别散度分量;根据多个目标距离的各个类别的第二类别散度分量,确定距离差异损失。
[0093] 需要说明的是,基于目标距离的距离差异损失计算过程与基于目标角度的角度差异损失的计算过程类似,两者仅是参与计算的对象不同,前者是针对目标距离的训练分类概率向量进行计算,后者是针对目标夹角的训练分类概率向量进行计算,实际的计算过程是较为类似的,可以参见角度差异损失的计算过程,在此不再展开描述。
[0094] 综上可知,对上述计算过程进行总结之后,可以得到:
[0095]
[0096] 其中,SortedAngle表示目标夹角的序列,αk表示第k个目标夹角,且其对应的训练分类概率向量分别由分类器u1和分类器v1确定,DKL(αk,u1,v1)表示αk的角度差异损失,Kthr1表示参与运算的目标角度的数量;SortedDistance表示目标距离的序列,lj表示第j个目标距离,且其对应的训练分类概率向量分别由分类器u2和分类器v2确定,DKL(lj,u2,v2)表示lj的距离差异损失,jthr2表示参与运算的目标距离的数量;Lseparate(u,v)表示差异化损失。
[0097] 图5为本申请实施例提供的一种票据分类模型的训练方法的流程示意图。
[0098] 步骤S501,构建待训练票据分类模型。
[0099] 其中,待训练票据分类模型包括多个分类器,且各个分类器之间存在至少部分分类参数不相同。
[0100] 步骤S502,将票据训练图像输入待训练票据分类模型,得到多个训练分类概率向量。
[0101] 步骤S503,基于多个训练分类概率向量,确定分类损失和多样化损失。
[0102] 步骤S504,根据多个训练分类概率向量进行均值计算,得到训练分类中心概率向量。
[0103] 步骤S505,将各个训练分类概率向量和训练分类中心概率向量映射到预设空间维度,得到各个训练分类概率向量在预设空间维度的第一空间位置和训练分类中心概率向量在预设空间维度的第二空间位置。
[0104] 步骤S506,以第二空间位置为起点,以各个第一空间位置为终点,得到与各个训练分类概率向量对应的分类矢量。
[0105] 步骤S507,根据相邻两个分类矢量之间的夹角,得到与相邻两个分类矢量对应的两个训练分类概率向量与训练分类中心概率向量之间的夹角。
[0106] 步骤S508,从至少部分训练分类概率向量之间的夹角中选取至少一个夹角,得到至少一个目标夹角。
[0107] 步骤S509,根据至少一个目标夹角对应的训练分类概率向量进行散度计算,得到角度差异损失。
[0108] 步骤S510,根据相邻两个分类矢量之间的距离,得到与相邻两个分类矢量对应的两个训练分类概率向量之间的距离。
[0109] 步骤S511,从至少部分训练分类概率向量之间的距离中选取至少一个距离,得到至少一个目标距离。
[0110] 步骤S512,根据至少一个目标距离对应的训练分类概率向量进行散度计算,得到距离差异损失。
[0111] 步骤S513,根据角度差异损失和距离差异损失,确定差异化损失。
[0112] 步骤S514,根据分类损失、多样化损失和差异化损失对待训练票据分类模型中的至少部分分类器的分类参数进行迭代更新,并在满足迭代停止条件的情况下,得到训练好的票据分类模型。
[0113] 在一些可选的实现方式中,可以确定分类损失的损失权重为1,多样化损失的损失权重为λ,差异化损失的损失权重为λS,基于此,可以确定加权损失如下所示:
[0114] Ltotal=Lclassify+λLDiversify+λSLseparate
[0115] 其中,Ltotal为加权损失,Lclassify表示分类损失,LSiversify表示多样化损失,Lseparate表示差异化损失。λ和λS可以根据经验、统计数据等进行设置,例如,λ=‑0.45,λs=‑0.05,本申请实施例对此不作限制。
[0116] 第二方面,本申请实施例提供一种票据分类方法。
[0117] 图6为本申请实施例提供的一种票据分类方法的流程图。参照图6,该票据分类方法包括:
[0118] 步骤S61,将待分类票据图像输入票据分类模型中进行票据分类预测,得到各个分类器的预测分类概率向量。
[0119] 步骤S62,根据多个分类器的预测分类概率向量,得到预测分类结果,预测分类结果是用于表征待分类票据所属类别的分类结果。
[0120] 其中,票据分类模型是通过本申请实施例任一项的票据分类模型的训练方法获得的模型。
[0121] 在一些可选的实现方式中,票据分类模型中包括N个分类器,每个分类器具有各自的学习能力,多个分类器共同进行分类处理,从而得到预测分类结果。
[0122] 例如,票据图像的类别包括类别a、类别b、类别c、类别d和类别e,第i个分类器给出的预测分类概率向量为pi={pia,pib,pic,pid,pie},其中,1≤i≤N,pia表示分类器i判断待分类票据图像属于类别a的概率,pib表示分类器i判断待分类票据图像属于类别b的概率,……,pie表示分类器i判断待分类票据图像属于类别e的概率。通过对N个分类器各自的pi进行均值计算,可以得到平均预设分类概率向量为p0={p0a,p0b,p0c,p0d,p0e},其中,p0a=(Σpia)/N,p0b=(Σpib)/N,……,p0e=(Σpie)/N(i的取值范围为1至N)。然后比较p0a、p0b、p0c、p0d、p0e的大小,确定其中的最大值,将最大值所对应的类别确定为该待分类票据图像的类别。
[0123] 例如,针对上述N个分类器给出的预测分类概率向量,也可以对其进行投票处理,选择出一个分类器作为目标分类器v(1≤v≤N),并从该目标分类器的预测分类概率向量pv={pva,pvb,pvc,pvd,pve}中,筛选出取值最大的概率值,将该概率值所对应的类别确定为该待分类票据图像的类别。
[0124] 在本申请实施例中,将待分类票据图像输入票据分类模型中,得到预测分类结果,预测分类结果是根据多个分类器的预测分类概率向量确定的、用于表征待分类票据所属类别的结果,由于票据分类模型包括多个分类器,且每个分类器具备不同的分类能力,且多个分类器可以涵盖较大范围的分类能力,因此,基于多个分类器的分类能力,可以得到较为准确的票据分类结果。
[0125] 第三方面,本申请实施例提供一种票据分类模型的训练装置。
[0126] 图7为本申请实施例提供的一种票据分类模型的训练装置的框图。
[0127] 参照图7,本申请实施例提供了一种票据分类模型的训练装置,该训练装置700包括:
[0128] 构建模块701,用于构建待训练票据分类模型,待训练票据分类模型包括多个分类器,且各个分类器之间存在至少部分分类参数不相同;
[0129] 输入模块702,用于将票据训练图像输入待训练票据分类模型进行票据分类预测,得到多个训练分类概率向量,训练分类概率向量包括多个概率值,每个概率值对应一个类别,且概率值用于表示票据训练图像属于对应类别的概率,类别用于表征待分类票据的票据类型,各个训练分类概率向量与分类器之间具有对应关系;
[0130] 确定模块703,用于基于多个训练分类概率向量,确定分类损失、多样化损失和差异化损失,差异化损失用于表征由各个分类器的学习范围的差异性所导致的损失;
[0131] 更新模块704,用于根据分类损失、多样化损失和差异化损失对待训练票据分类模型中的至少部分分类器的分类参数进行迭代更新,并在满足迭代停止条件的情况下,得到训练好的票据分类模型。
[0132] 在一些可选的实现方式中,确定模块703在基于多个训练分类概率向量,确定差异化损失时,执行以下步骤:
[0133] 根据多个训练分类概率向量进行均值计算,得到训练分类中心概率向量;
[0134] 基于训练分类中心概率向量和多个训练分类概率向量,确定至少部分训练分类概率向量之间的夹角和距离,夹角包括相邻两个训练分类概率向量与训练分类中心概率向量所形成的夹角,距离用于表征对应的两个训练分类概率向量之间所相隔的长度;
[0135] 从至少部分训练分类概率向量之间的夹角中选取至少一个夹角,得到至少一个目标夹角;
[0136] 根据至少一个目标夹角对应的训练分类概率向量进行散度计算,得到角度差异损失;
[0137] 从至少部分训练分类概率向量之间的距离中选取至少一个距离,得到至少一个目标距离;
[0138] 根据至少一个目标距离对应的训练分类概率向量进行散度计算,得到距离差异损失;
[0139] 根据角度差异损失和距离差异损失,确定差异化损失。
[0140] 在一些可选的实现方式中,基于训练分类中心概率向量和多个训练分类概率向量,确定至少部分训练分类概率向量之间的夹角和距离,包括:
[0141] 将各个训练分类概率向量和训练分类中心概率向量映射到预设空间维度,得到各个训练分类概率向量在预设空间维度的第一空间位置和训练分类中心概率向量在预设空间维度的第二空间位置;
[0142] 以第二空间位置为起点,以各个第一空间位置为终点,得到与各个训练分类概率向量对应的分类矢量;
[0143] 根据相邻两个分类矢量之间的夹角,得到与相邻两个分类矢量对应的两个训练分类概率向量与训练分类中心概率向量之间的夹角;
[0144] 根据相邻两个分类矢量之间的距离,得到与相邻两个分类矢量对应的两个训练分类概率向量之间的距离。
[0145] 在一些可选的实现方式中,从至少部分训练分类概率向量之间的夹角中选取至少一个夹角,得到至少一个目标夹角,包括:
[0146] 对至少一个目标夹角进行排序,得到夹角序列;
[0147] 从夹角序列中夹角取值最小的一端截取至少一个夹角,得到至少一个目标夹角,至少一个目标夹角的数量等于第一数量阈值,第一数量阈值是根据多个训练分类概率向量的总数量确定的阈值。
[0148] 在一些可选的实现方式中,训练分类概率向量包括与各个类别对应的概率值,类别用于表征待分类票据所属的票据类型;相应的,根据至少一个目标夹角对应的训练分类概率向量进行散度计算,得到角度差异损失,包括:
[0149] 根据各个目标夹角对应的两个训练分类概率向量,确定各个目标夹角对应的两个训练分类概率向量针对各个类别的概率值的第一比值;
[0150] 对各个目标夹角的各个类别的概率值的第一比值进行第一预设变换,得到各个目标夹角的各个类别的第一变换值;
[0151] 基于各个目标夹角的各个类别的第一变换值与类别的概率值,得到各个目标夹角的各个类别的第一类别散度分量;
[0152] 根据多个目标夹角的各个类别的第一类别散度分量,确定角度差异损失。
[0153] 在一些可选的实现方式中,从至少部分训练分类概率向量之间的距离中选取至少一个距离,得到至少一个目标距离,包括:
[0154] 对至少一个目标距离进行排序,得到距离序列;
[0155] 从距离序列中距离取值最小的一端截取至少一个距离,得到至少一个目标距离,至少一个目标距离的数量等于第二数量阈值,第二数量阈值是根据多个训练分类概率向量的总数量确定的阈值。
[0156] 在一些可选的实现方式中,根据至少一个目标距离对应的训练分类概率向量进行散度计算,得到距离差异损失,包括:
[0157] 根据各个目标距离对应的两个训练分类概率向量,确定各个目标距离对应的两个训练分类概率向量针对各个类别的概率值的第二比值;
[0158] 对各个目标距离的各个类别的概率值的第二比值进行第二预设变换,得到各个目标距离的各个类别的第二变换值;
[0159] 基于各个目标距离的各个类别的第二变换值与类别的概率值,得到各个目标距离的各个类别的第二类别散度分量;
[0160] 根据多个目标距离的各个类别的第二类别散度分量,确定距离差异损失。
[0161] 在一些可选的实现方式中,根据分类损失、多样化损失和差异化损失对待训练票据分类模型中的至少部分分类器的分类参数进行迭代更新,并在满足迭代停止条件的情况下,得到训练好的票据分类模型,包括:
[0162] 基于第i个分类损失、第i个多样化损失、第i个差异化损失以及预先获取的损失权重进行加权计算,得到第i个加权损失,其中,第i个分类损失、第i个多样化损失和第i个差异化损失是在第i次训练中得到的损失值;
[0163] 在第i个加权损失小于预设损失阈值的情况下,得到训练好的票据分类模型;
[0164] 在第i个加权损失大于或等于预设损失阈值的情况下,基于第i个加权损失对待训练票据分类模型中的至少部分分类器的分类参数进行第i次更新,得到第i+1个待训练票据分类模型,并基于第i+1个待训练票据分类模型进行第i+1次训练。
[0165] 在一些可选的实现方式中,多个分类器共用至少一个第一卷积层,且每个分类器各自设置有至少一个第二卷积层,其中,第一卷积层和第二卷积层均是用于提取票据训练图像的训练分类特征的网络层,且第一卷积层的网络层级低于第二卷积层的网络层级,训练分类特征用于确定对应分类器的训练分类概率向量,分类参数包括第一卷积层的网络参数和第二卷积层的网络参数。
[0166] 在本申请实施例中,首先,通过构建模块701构建待训练票据分类模型,待训练票据分类模型包括多个分类器,且各个分类器之间存在至少部分分类参数不相同,一方面,由于票据数据通常呈现长尾分布,因此,这种多分类器的模型架构可以缓解长尾分布可能导致的过拟合和欠拟合问题,从而能够提高票据分类的准确性,另一方面,由于各个分类器之间可能存在一些分类参数不相同,因此,使得各个分类器具有学习不同票据分类知识的能力,为扩展票据分类模型的学习范围提供了基础;其次,通过输入模块702将票据训练图像输入待训练票据分类模型进行票据分类预测,得到多个训练分类概率向量,训练分类概率向量包括多个概率值,每个概率值对应一个类别,且概率值用于表示票据训练图像属于对应类别的概率,类别用于表征待分类票据的票据类型,基于此可以明确票据训练图像属于每个类别的概率,而且各个训练分类概率向量与分类器之间具有对应关系,因而明确了各个分类器对该票据训练图像的分类结果;另外,通过确定模块703基于多个训练分类概率向量,确定分类损失、多样化损失和差异化损失,差异化损失用于表征由各个分类器的学习范围的差异性所导致的损失,相较于相关技术的分类方法而言新增了差异化损失,考虑到差异化损失是由于各个分类器的学习范围的差异性所导致的损失,因此,基于差异化损失可以明确不同分类器的学习范围的差异性;最后,通过更新模块704根据分类损失、多样化损失和差异化损失对待训练票据分类模型中的至少部分分类器的分类参数进行迭代更新,并在满足迭代停止条件的情况下,得到训练好的票据分类模型,由于在模型更新过程中使用了多种损失,因此,可以提高迭代后的模型的准确性,并且,通过差异化损失进行模型迭代可以尽量减少各个分类器的学习范围之间的重复部分,使得多个分类器可以覆盖更加广泛的学习范围,从而提高对票据分类知识的学习能力,因而能够提高票据分类结果的准确性。
[0167] 第四方面,本申请实施例提供一种票据分类装置。
[0168] 图8为本申请实施例提供的一种票据分类装置的框图。
[0169] 参照图8,本申请实施例提供了一种票据分类装置,该票据分类装置800包括:
[0170] 输入模块801,用于将待分类票据图像输入票据分类模型中进行票据分类预测,得到各个分类器的预测分类概率向量,票据分类模型是通过本申请实施例任一项的票据分类模型的训练方法获得的;
[0171] 分类模块802,用于根据多个分类器的预测分类概率向量,得到预测分类结果,预测分类结果是用于表征待分类票据所属类别的分类结果。
[0172] 在本申请实施例中,通过输入模块801将待分类票据图像输入票据分类模型中进行票据分类预测,得到各个分类器的预测分类概率向量,然后通过分类模块802根据多个分类器的预测分类概率向量,得到预测分类结果,预测分类结果是用于表征待分类票据所属类别的分类结果,由于票据分类模型包括多个分类器,且每个分类器具备不同的分类能力,且多个分类器可以涵盖较大范围的分类能力,因此,基于多个分类器的分类能力,可以得到较为准确的票据分类结果。
[0173] 可以理解,本申请提及的上述各个实施例,在不违背原理逻辑的情况下,均可以彼此相互结合形成结合后的实施例,限于篇幅,本申请不再赘述。本领域技术人员可以理解,在具体实施方式的上述方法中,各步骤的具体执行顺序应当以其功能和可能的内在逻辑确定。
[0174] 此外,本申请还提供了电子设备、计算机可读存储介质,上述均可用来实现本申请提供的任一种票据分类模型的训练方法或者票据分类方法,相应技术方案和描述和参见方法部分的相应记载,不再赘述。
[0175] 图9为本申请实施例提供的一种电子设备的框图。
[0176] 参照图9,本申请实施例提供了一种电子设备,该电子设备包括:至少一个处理器901;至少一个存储器902,以及一个或多个I/O接口903,连接在处理器901与存储器902之间;其中,存储器902存储有可被至少一个处理器901执行的一个或多个计算机程序,一个或多个计算机程序被至少一个处理器901执行,以使至少一个处理器901能够执行上述的票据分类模型的训练方法或者票据分类方法。
[0177] 本申请实施例还提供了一种计算机可读存储介质,其上存储有计算机程序,其中,所述计算机程序在被处理器/处理核执行时实现上述的票据分类模型的训练方法或者票据分类方法。计算机可读存储介质可以是易失性或非易失性计算机可读存储介质。
[0178] 本申请实施例还提供了一种计算机程序产品,包括计算机可读代码,或者承载有计算机可读代码的非易失性计算机可读存储介质,当所述计算机可读代码在电子设备的处理器中运行时,所述电子设备中的处理器执行上述票据分类模型的训练方法或者票据分类方法。
[0179] 本领域普通技术人员可以理解,上文中所公开方法中的全部或某些步骤、系统、装置中的功能模块/单元可以被实施为软件、固件、硬件及其适当的组合。在硬件实施方式中,在以上描述中提及的功能模块/单元之间的划分不一定对应于物理组件的划分;例如,一个物理组件可以具有多个功能,或者一个功能或步骤可以由若干物理组件合作执行。某些物理组件或所有物理组件可以被实施为由处理器,如中央处理器、数字信号处理器或微处理器执行的软件,或者被实施为硬件,或者被实施为集成电路,如专用集成电路。这样的软件可以分布在计算机可读存储介质上,计算机可读存储介质可以包括计算机存储介质(或非暂时性介质)和通信介质(或暂时性介质)。
[0180] 如本领域普通技术人员公知的,术语计算机存储介质包括在用于存储信息(诸如计算机可读程序指令、数据结构、程序模块或其他数据)的任何方法或技术中实施的易失性和非易失性、可移除和不可移除介质。计算机存储介质包括但不限于随机存取存储器(RAM)、只读存储器(ROM)、可擦式可编程只读存储器(EPROM)、静态随机存取存储器(SRAM)、闪存或其他存储器技术、便携式压缩盘只读存储器(CD‑ROM)、数字多功能盘(DVD)或其他光盘存储、磁盒、磁带、磁盘存储或其他磁存储装置、或者可以用于存储期望的信息并且可以被计算机访问的任何其他的介质。此外,本领域普通技术人员公知的是,通信介质通常包含计算机可读程序指令、数据结构、程序模块或者诸如载波或其他传输机制之类的调制数据信号中的其他数据,并且可包括任何信息递送介质。
[0181] 这里所描述的计算机可读程序指令可以从计算机可读存储介质下载到各个计算/处理设备,或者通过网络、例如因特网、局域网、广域网和/或无线网下载到外部计算机或外部存储设备。网络可以包括铜传输电缆、光纤传输、无线传输、路由器、防火墙、交换机、网关计算机和/或边缘服务器。每个计算/处理设备中的网络适配卡或者网络接口从网络接收计算机可读程序指令,并转发该计算机可读程序指令,以供存储在各个计算/处理设备中的计算机可读存储介质中。
[0182] 用于执行本申请操作的计算机程序指令可以是汇编指令、指令集架构(ISA)指令、机器指令、机器相关指令、微代码、固件指令、状态设置数据、或者以一种或多种编程语言的任意组合编写的源代码或目标代码,所述编程语言包括面向对象的编程语言—诸如Smalltalk、C++等,以及常规的过程式编程语言—诸如“C”语言或类似的编程语言。计算机可读程序指令可以完全地在用户计算机上执行、部分地在用户计算机上执行、作为一个独立的软件包执行、部分在用户计算机上部分在远程计算机上执行、或者完全在远程计算机或服务器上执行。在涉及远程计算机的情形中,远程计算机可以通过任意种类的网络—包括局域网(LAN)或广域网(WAN)—连接到用户计算机,或者,可以连接到外部计算机(例如利用因特网服务提供商来通过因特网连接)。在一些实施例中,通过利用计算机可读程序指令的状态信息来个性化定制电子电路,例如可编程逻辑电路、现场可编程门阵列(FPGA)或可编程逻辑阵列(PLA),该电子电路可以执行计算机可读程序指令,从而实现本申请的各个方面。
[0183] 这里所描述的计算机程序产品可以具体通过硬件、软件或其结合的方式实现。在一个可选实施例中,所述计算机程序产品具体体现为计算机存储介质,在另一个可选实施例中,计算机程序产品具体体现为软件产品,例如软件开发包(Software Development Kit,SDK)等等。
[0184] 这里参照根据本申请实施例的方法、装置(系统)和计算机程序产品的流程图和/或框图描述了本申请的各个方面。应当理解,流程图和/或框图的每个方框以及流程图和/或框图中各方框的组合,都可以由计算机可读程序指令实现。
[0185] 这些计算机可读程序指令可以提供给通用计算机、专用计算机或其它可编程数据处理装置的处理器,从而生产出一种机器,使得这些指令在通过计算机或其它可编程数据处理装置的处理器执行时,产生了实现流程图和/或框图中的一个或多个方框中规定的功能/动作的装置。也可以把这些计算机可读程序指令存储在计算机可读存储介质中,这些指令使得计算机、可编程数据处理装置和/或其他设备以特定方式工作,从而,存储有指令的计算机可读介质则包括一个制造品,其包括实现流程图和/或框图中的一个或多个方框中规定的功能/动作的各个方面的指令。
[0186] 也可以把计算机可读程序指令加载到计算机、其它可编程数据处理装置、或其它设备上,使得在计算机、其它可编程数据处理装置或其它设备上执行一系列操作步骤,以产生计算机实现的过程,从而使得在计算机、其它可编程数据处理装置、或其它设备上执行的指令实现流程图和/或框图中的一个或多个方框中规定的功能/动作。
[0187] 附图中的流程图和框图显示了根据本申请的多个实施例的系统、方法和计算机程序产品的可能实现的体系架构、功能和操作。在这点上,流程图或框图中的每个方框可以代表一个模块、程序段或指令的一部分,所述模块、程序段或指令的一部分包含一个或多个用于实现规定的逻辑功能的可执行指令。在有些作为替换的实现中,方框中所标注的功能也可以以不同于附图中所标注的顺序发生。例如,两个连续的方框实际上可以基本并行地执行,它们有时也可以按相反的顺序执行,这依所涉及的功能而定。也要注意的是,框图和/或流程图中的每个方框、以及框图和/或流程图中的方框的组合,可以用执行规定的功能或动作的专用的基于硬件的系统来实现,或者可以用专用硬件与计算机指令的组合来实现。
[0188] 本文已经公开了示例实施例,并且虽然采用了具体术语,但它们仅用于并仅应当被解释为一般说明性含义,并且不用于限制的目的。在一些实例中,对本领域技术人员显而易见的是,除非另外明确指出,否则可单独使用与特定实施例相结合描述的特征、特性和/或元素,或可与其他实施例相结合描述的特征、特性和/或元件组合使用。因此,本领域技术人员将理解,在不脱离由所附的权利要求阐明的本申请的范围的情况下,可进行各种形式和细节上的改变。

当前第1页 第1页 第2页 第3页
相关技术
分类模型相关技术
方法相关相关技术
范峻植发明人的其他相关专利技术