胶囊网络的训练方法、分类方法、系统、设备及存储介质与流程

文档序号:18257931发布日期:2019-07-24 10:26阅读:414来源:国知局
胶囊网络的训练方法、分类方法、系统、设备及存储介质与流程

本发明属于计算机技术领域,尤其涉及一种胶囊网络的训练方法、分类方法、系统、设备及存储介质。



背景技术:

多标签文本分类任务是指:将每个待处理文本分类到不同标签的子集中。目前,现有技术中可利用基于树的模型、标签嵌入方法等传统的机器学习算法,也可以利用卷积神经网络或胶囊网络来实现多标签文本的分类。

现有利用胶囊网络实现多标签文本的分类,主要是胶囊网络先对文本进行特征提取得到特征标量并构建特征标量组,再将特征标量组转换为初始向量,然后将初始向量经过仿射变换得到中间向量、将中间向量经路由处理得到次级向量,最后根据次级向量得到文本分类结果,其中,采用动态路由机制进行路由参数的更新。但是,动态路由机制中,通常是利用次级向量与中间向量的一致性标量积a来更新初始逻辑b,即b←b+a,而初始逻辑b的更新会导致路由参数C的更新,即其中,k为路由参数的固定更新迭代次数,例如:3次或5次。

由于该动态路由机制中并不提供显式迭代目标函数,且路由参数的更新迭代次数为预先设置的固定值,导致路由参数的更新极不灵活,且路由参数的更新效果无法达到期望,进一步对胶囊网络的训练效果以及利用该胶囊网络所进行的多标签文本分类效果产生不利影响。



技术实现要素:

本发明的目的在于提供一种胶囊网络的训练方法、分类方法、系统、设备及存储介质,旨在解决现有技术所存在的、因动态路由机制中不提供迭代目标函数且迭代次数固定而导致的胶囊网络训练效果以及多标签文本分类效果不佳的问题。

一方面,本发明提供了一种胶囊网络的训练方法,所述胶囊网络包括:用于对训练样本文本进行特征提取得到特征标量并构建特征标量组的卷积层,用于将所述特征标量组转换为初始向量的初级胶囊层,用于将所述初始向量经过仿射变换得到中间向量、将所述中间向量经路由处理得到次级向量的聚合胶囊层,以及,用于根据所述次级向量得到训练样本文本分类结果的类别胶囊层,其中,初始向量的方向表示所述训练样本文本的语义特征,所述训练方法包括:

在所述次级向量与各所述中间向量之间平均距离最短的条件下,基于自适应核密度估计的迭代路由机制,动态更新所述路由处理所对应的路由参数。

进一步的,所述训练方法还包括:

将各所述初始向量进行压缩处理,得到紧凑向量;

将所述紧凑向量经过所述仿射变换,得到所述中间向量。

进一步的,将各所述初始向量进行压缩处理,得到紧凑向量,具体为:

对各所述初始向量进行去噪处理,和/或,将相似的所述初始向量进行合并处理,得到所述紧凑向量。

进一步的,所述训练方法还包括:

在分类损失最小的条件下,迭代更新所述仿射变换处理所对应的变换参数以及所述胶囊网络处理所对应的卷积参数。

另一方面,本发明提供了一种多标签文本的分类方法,所述分类方法包括:

获得待处理文本;

基于如上述的训练方法所得胶囊网络,对所述待处理文本进行处理,得到待处理文本分类结果。

进一步的,所述分类方法基于一原始分类标签集合,所述分类方法还包括:

利用与所述胶囊网络不同的卷积神经网络,对所述待处理文本进行预分类处理,以从所述原始分类标签集合中,初步筛选出候选分类标签集合,

基于如上述的训练方法所得胶囊网络,对所述待处理文本进行处理,得到待处理文本分类结果,具体为:

基于如上述的训练方法所得胶囊网络以及所述候选分类标签集合,对所述待处理文本进行处理,得到所述待处理文本分类结果。

另一方面,本发明还提供了一种胶囊网络的训练系统,所述胶囊网络包括:用于对训练样本文本进行特征提取得到特征标量并构建特征标量组的卷积层,用于将所述特征标量组转换为初始向量的初级胶囊层,用于将所述初始向量经过仿射变换得到中间向量、将所述中间向量经路由处理得到次级向量的聚合胶囊层,以及,用于根据所述次级向量得到训练样本文本分类结果的类别胶囊层,其中,初始向量的方向表示所述训练样本文本的语义特征,所述训练系统包括:

更新单元,用于在所述次级向量与各所述中间向量之间平均距离最短的条件下,基于自适应核密度估计的迭代路由机制,动态更新所述路由处理所对应的路由参数。

另一方面,本发明还提供了一种多标签文本的分类系统,所述分类系统包括:

输入单元,用于获得待处理文本;以及,

分类单元,用于基于如上述的训练方法所得胶囊网络,对所述待处理文本进行处理,得到待处理文本分类结果。

另一方面,本发明还提供了一种计算设备,包括存储器及处理器,所述处理器执行所述存储器中存储的计算机程序时实现如上述方法中的步骤。

另一方面,本发明还提供了一种计算机可读存储介质,所述计算机可读存储介质存储有计算机程序,所述计算机程序被处理器执行时实现如上述方法中的步骤。

本发明中,由卷积层、初级胶囊层、聚合胶囊层及类别胶囊层构建胶囊网络,在聚合胶囊层中,利用仿射变换得到中间向量,利用路由处理得到次级向量,在次级向量与各中间向量之间平均距离最短的条件下,基于自适应核密度估计的迭代路由机制,动态更新路由处理所对应的路由参数。这样,可利用自适应核密度估计的迭代路由机制,提供显式迭代目标函数,并且迭代次数灵活确定,从而使得胶囊网络训练效果以及多标签文本分类效果更佳。

附图说明

图1是本发明实施例一提供的胶囊网络的结构示意图;

图2是本发明实施例二提供的胶囊网络的结构示意图;

图3是本发明实施例四提供的多标签文本的分类方法的流程示意图;

图4是本发明实施例五提供的胶囊网络的结构示意图;

图5是本发明实施例五提供的训练方法及分类方法的大致流程示意图;

图6是本发明实施例七提供的计算设备的结构示意图。

具体实施方式

为了使本发明的目的、技术方案及优点更加清楚明白,以下结合附图及实施例,对本发明进行进一步详细说明。应当理解,此处所描述的具体实施例仅仅用以解释本发明,并不用于限定本发明。

以下结合具体实施例对本发明的具体实现进行详细描述:

实施例一:

本实施例中,胶囊网络包括如图1所示的结构:

用于对训练样本文本进行特征提取得到特征标量并构建特征标量组的卷积层101。

具体的,训练样本文本可以是维基百科网页对应的文本、客户评论对应的文本,也可以是生物基因序列所对应的文本,还可以是疾病诊断书对应的文本等。那么,利用训练好的胶囊网络,最终可用于对应场景的标签分类,例如:维基百科网页的异构标签的分类、客户评论不同方面的评级、生物学中的基因功能预测、疾病预测或诊断等。尤其对于大规模多标签文本数据集,数据量庞大、标签数量成千上万,例如:欧盟法律法规数据库(EUR-Lex)数据集有3956个标签,维基百科(Wiki)30k数据集更是拥有29947个标签,大量标签遵循幂律分布,每个标签类别的训练实例数量少,平均80%的标签出现不到20次,而利用胶囊网络,可高效、准确地解决大规模多标签文本分类问题。

卷积层101可使用多尺度卷积核以逐列卷积方法来提取文档特征,得到若干特征标量。将该些特征标量拼接起来,即可得到特征标量组传递给初级胶囊层102。

用于将特征标量组转换为初始向量的初级胶囊层102。其中,初始向量的方向表示训练样本文本的语义特征。

具体的,初级胶囊层102对特征标量组进行相应的分组卷积操作,得到初始向量。分组卷积操作会保留文档特征的语义属性,所得到的初始向量(也可以称为初始胶囊)可替代传统卷积神经网络的标量输出特征检测器,以保留实例化参数,例如:词的本地顺序、词的语义表示等。所得到的初始向量的方向即表示相应的语义特征。

初级胶囊层102中存在若干向量神经元,用于进行相应的向量处理。

用于将初始向量经过仿射变换得到中间向量、将中间向量经路由处理得到次级向量的聚合胶囊层103。

具体的,聚合胶囊层103可利用变换矩阵对初始向量进行放射变换,得到中间向量,再利用本实施例的、基于自适应核密度估计的迭代路由机制所产生的动态的路由参数,将中间向量路由到可以捕获丰富语义信息的次级向量(也可以称为聚合高层次胶囊),并进一步传递到类别胶囊层104。

聚合胶囊层103中同样存在若干向量神经元,用于进行相应的向量处理。

用于根据次级向量得到训练样本文本分类结果的类别胶囊层104。

具体的,类别胶囊层104可根据次级向量模的大小来判断文本对应某一类别的概率。

类别胶囊层104中同样存在若干向量神经元,用于进行相应的向量处理。

在本实施例的训练方法中,主要包括:

在次级向量与各中间向量之间平均距离最短的条件下,基于自适应核密度估计的迭代路由机制,动态更新路由处理所对应的路由参数。

具体的,可预先建立聚合胶囊层103中、将中间向量到次级向量的路由处理所用到的路由参数更新机制,该更新机制具体为基于自适应核密度估计的迭代路由机制。

次级向量与各中间向量之间平均距离最短的条件,即相应在路由参数更新机制中,提供了显式迭代目标函数。

实施本实施例,在路由参数更新机制中,提供相应显式迭代目标函数,并且迭代次数灵活确定,相较于现有动态路由机制中设置固定的路由参数迭代次数并且仅利用次级向量与中间向量的一致性标量积来简单更新初始逻辑而言,胶囊网络训练效果以及多标签文本分类效果更佳。

实施例二:

本实施例在实施例一基础上,进一步提供了如下内容:

本实施例的训练方法还包括:

首先,将各初始向量进行压缩处理,得到紧凑向量;

其次,将紧凑向量经过仿射变换,得到中间向量。

换言之,如图2所示,在胶囊网络中,初级胶囊层102与聚合胶囊层103之间,还设置有相应的紧凑胶囊层201,该紧凑胶囊层201用于对从初级胶囊层102传递而来的初始向量进行压缩处理,得到紧凑向量,而紧凑向量到达聚合胶囊层103后,经聚合胶囊层103的仿射变换,得到中间向量。

压缩处理具体可包含如下内容:对各初始向量进行去噪处理,和/或,将相似的初始向量进行合并处理,得到紧凑向量等。而压缩处理通常是采用线性组合的方式进行。

实施本实施例,使用压缩处理,可将带有噪声的初始向量删除,并且将相似的初始向量进行合并,从而使得压缩处理所得紧凑向量数量远小于初始向量的数量,降低了训练难度,加速了训练过程,同时还能减少内存需求。

实施例三:

本实施例与实施例一或二基础上,进一步提供了如下内容:

本实施例的训练方法还包括:

在分类损失最小的条件下,迭代更新仿射变换处理所对应的变换参数以及胶囊网络处理所对应的卷积参数。

具体的,路由处理所用的路由参数通过上述迭代路由机制进行迭代更新,而胶囊网络中,其他参数,例如:仿射变换的变换矩阵、卷积参数等,均可基于预先设定的分类损失目标函数最小化的条件下,进行相应迭代更新,从而完成整个胶囊网络的训练。

实施例四:

如图3所示,本实施例提供一种多标签文本的分类方法,主要包括:

在步骤S301中,获得待处理文本;

在步骤S302中,基于如上述的训练方法所得胶囊网络,对待处理文本进行处理,得到待处理文本分类结果。

在一种优选方案中,分类方法基于一原始分类标签集合,那么,在进行步骤S302处理之前,可利用与胶囊网络不同的卷积神经网络,对待处理文本进行预分类处理,以从原始分类标签集合中,初步筛选出候选分类标签集合,然后,步骤S302即可基于上述训练好的胶囊网络以及候选分类标签集合,进行待处理文本分类。

实施本实施例,由于采用了预分类处理筛选候选分类标签集合,然后再在候选分类标签集合中,确定待处理文本对应的分类标签,从而可大大减少分类时间,高效、准确地完成大规模多标签的文本分类。

实施例五:

本实施例提供了胶囊网络的训练方法以及多标签文本的分类方法的具体应用示例。

如图4所示,本实施例的胶囊网络提供了相应的卷积层401、初级胶囊层402、紧凑胶囊层403、聚合胶囊层404以及类别胶囊层405,各层功能可与前述内容类同。

如图5所示,基于上述胶囊网络,对本实施例的训练方法以及分类方法进行详细说明。

在步骤S501中,利用卷积层401,使用逐列卷积层,来提取文档特征。

具体的,x∈RL×V表示文档,其中,L是文档长度,V是词嵌入(或称为词向量)维度大小,xi表示当前文档中第i个词的V维词嵌入,Wa∈RL×K表示卷积滤波器,其中,K是在整个文档嵌入表示上滑动式滤波器的宽度,以在不同位置提取特征。滤波器Wa应用于文档中局部区域xi:i+K-1∈RK×L(步长为2):

其中,为逐元素乘法,f为非线性激活函数ReLU。

组成一个所有mi的特征映射m∈R(V-K+1)/2。利用多个不同窗口大小(例如:卷积核尺寸2、4、8)的滤波器,来提取多个特征,再将这些特征拼接起来,将其传递给初级胶囊层402。

在步骤S502中,在初级胶囊层402中,使用分组卷积操作保留文档特征的语义属性,其中,用初级胶囊替代卷积神经网络的标量输出特征检测器,以保留实例化参数,例如:词的本地顺序和词的语义表示等。

使用1×1滤波器Wb={w1,...,wd}∈Rd,总共有d组滤波器用于产生一个胶囊pi,同时在特征表示中的每个元素mi上以步长1进行滑动。

胶囊pi定义为:

其中,是连接运算符,d是胶囊维数,g是非线性压缩函数,j是滤波器组数。每个胶囊pi的长度除以其范数||pi||表示与具体标签相关的概率。因此,胶囊的长度必须通过非线性压缩函数g以限制在[0,1]的范围内:

其中,uj是一个正则化的胶囊,并被传递到聚合胶囊层404中。

在步骤S503中,在聚合层中,初级胶囊被路由到可以捕获丰富语义信息的聚合高层次胶囊中,并传递到下一层。

池化是聚合信息最简单的方法,它具有很高的计算效率,但几乎会去除所有相关的信息,特别是位置信息。胶囊网络通过迭代路由过程在下一层生成聚合高层次胶囊来解决信息丢失问题。

迭代路由过程如下:

在两个连续层l层和l+1层之间,通过将ui(也就是上一步骤中的uj)与变换矩阵相乘,将l层中的胶囊ui∈Rd投影到l+1层中的一个预测胶囊中,如下:

l+1层中的一个聚合高层次胶囊vj由所有具有权重cij∈R的预测胶囊线性组合而成:

其中,cij是迭代路由过程中更新的耦合系数。

针对现有路由过程中的缺点,本实施例提出自适应核密度估计的迭代路由过程,可以更加准确地完成大规模多标签分类任务。

动态路由的基本思想是以迭代方式构造非线性映射,以在后续层中输出聚合高层次胶囊:

其中,H、N分别为l层和l+1层中的胶囊数。

然而,原始路由过程很少提及计算本质并且不提供显式迭代目标函数,给训练过程带来很大难度。其次,对于所有实例,原始路由过程使用固定不变的迭代次数来更新表示连接强度的耦合系数cij,很不灵活。

因此,本实施例引入了具有自适应核密度估计的迭代路由过程,并提供了显式的核密度估计损失函数:

其中,z是归一化常数,cij是测量预测胶囊与聚合高层次胶囊vj之间连接强度的耦合系数,d是具有L2范数的距离度量方式,k是Epanech-nikov核函数:

因此,f(v,c)反映了聚合高层次胶囊vj与周围预测胶囊之间的平均距离。

为了迭代地最小化f(v,c),采用均值平移法:

首先,可以用固定的更新:

然后,用标准梯度更新:

其中,τ为迭代次数,α为学习率,α取值为0-1。

在步骤S504中,最顶层是类别胶囊层,由多标签类别胶囊组成,可判别每个文档对应标签类别。

类别胶囊层是由多种标签类别胶囊组成的最顶层,每个vj∈Rd编码一个文档的高层次表示。每个类别胶囊aj的范数表示该文档对该类别j的概率。

使用二元交叉熵目标函数进行优化:

其中,N是实例集合,C是类别集合,y是正确分类的概率。

在具体技术方案中,针对训练和验证过程,本实施例都提出了优化解决方案。在训练过程中,本实施例提出胶囊压缩和分批路由的快速训练方法,大大降低了训练难度,加速了训练过程,同时减少了内存需求;在验证过程中,本实施例提出重新排序的优化策略,大大缩短了验证时间。

在训练过程中,提出紧凑胶囊层403的胶囊压缩和分批路由的快速训练方法,大大降低了训练难度,加速了训练过程,同时减少了内存需求。不同于标准胶囊网络将所有初级胶囊都路由到每个类别胶囊,本实施例提出添加胶囊压缩操作,对所有初级胶囊使用线性组合以生成更紧凑的胶囊:

其中bi∈R是压缩参数,压缩过后紧凑胶囊的数量远小于初级胶囊的数量。这样做有两个主要原因。首先,一些初级胶囊可能是带有噪声的或者彼此相似的,使用线性组合可以将带有噪声的胶囊删除,将彼此相似的胶囊合并。其次,当一个文档很长时,初级胶囊的数量会非常大,参数会非常多,导致内存不足,无法训练。

此外,当数据集中的标签数量非常庞大时,胶囊网络将难以训练。因此,本实施例提出一种分批路由方法,其中紧凑胶囊在一个批次中仅被路由到少量标签中,大大降低了胶囊网络的训练难度,同时减少了内存需要。

在验证过程中,本实施例提出重新排序的优化策略,大大缩短了在大规模多标签文本数据集上的验证时间。

EUR-Lex数据集有3956个标签,Wiki30k数据集更是拥有29947个标签,大量标签遵循幂律分布且每个类别的训练实例数量少,平均80%的标签出现不到20次。如果验证所有文档的标签将会非常耗时,效率十分低下。因此,本实施例提出一种重新排序的优化策略,首先使用卷积神经网络模型生成一些候选标签,然后使用本实施例提出的胶囊网络模型对这些候选标签进行重新排序,这样可以大大减少验证时间,能够高效准确地应对大规模多标签文本分类问题。

实施例六:

本实施例提供了一种胶囊网络的训练系统,胶囊网络的结构如上述实施例中所示,而训练系统包括:

更新单元,用于在次级向量与各中间向量之间平均距离最短的条件下,基于自适应核密度估计的迭代路由机制,动态更新路由处理所对应的路由参数。

本实施例还提供了相应的多标签文本的分类系统,分类系统包括:

输入单元,用于获得待处理文本;以及,

分类单元,用于基于如上述的训练方法所得胶囊网络,对待处理文本进行处理,得到待处理文本分类结果。

在本发明实施例中,各单元可由相应的硬件或软件单元实现,各单元可以为独立的软、硬件单元,也可以集成为一个软、硬件单元,在此不用以限制本发明。

实施例七:

图6示出了本发明实施例四提供的计算设备的结构,为了便于说明,仅示出了与本发明实施例相关的部分。

本发明实施例的计算设备包括处理器601及存储器602,处理器601执行存储器602中存储的计算机程序603时实现上述各个方法实施例中的步骤,例如图5所示的步骤S501至S504。或者,处理器601执行计算机程序603时实现上述各系统实施例中各单元的功能。

本发明实施例的计算设备可以为单独的计算机或计算机组网,也可以为单独的处理芯片或芯片组等。该计算设备中处理器601执行计算机程序603时实现各方法时实现的步骤,可参考前述方法实施例的描述,在此不再赘述。

实施例八:

在本发明实施例中,提供了一种计算机可读存储介质,该计算机可读存储介质存储有计算机程序,该计算机程序被处理器执行时实现上述各个方法实施例中的步骤,例如图5所示的步骤S501至S504。或者,该计算机程序被处理器执行时实现上述各系统实施例中各单元的功能。

本发明实施例的计算机可读存储介质可以包括能够携带计算机程序代码的任何实体或装置、记录介质,例如,ROM/RAM、磁盘、光盘、闪存等存储器。

以上所述仅为本发明的较佳实施例而已,并不用以限制本发明,凡在本发明的精神和原则之内所作的任何修改、等同替换和改进等,均应包含在本发明的保护范围之内。

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