Certains contenus de cette application ne sont pas disponibles pour le moment.
Si cette situation persiste, veuillez nous contacter àObservations et contact
1. (WO2018227800) PROCÉDÉ ET DISPOSITIF D'APPRENTISSAGE DE RÉSEAU NEURONAL
Document

说明书

发明名称 0001   0002   0003   0004   0005   0006   0007   0008   0009   0010   0011   0012   0013   0014   0015   0016   0017   0018   0019   0020   0021   0022   0023   0024   0025   0026   0027   0028   0029   0030   0031   0032   0033   0034   0035   0036   0037   0038   0039   0040   0041   0042   0043   0044   0045   0046   0047   0048   0049   0050   0051   0052   0053   0054   0055   0056   0057   0058   0059   0060   0061   0062   0063   0064   0065   0066   0067   0068   0069   0070   0071   0072   0073   0074   0075   0076   0077   0078   0079   0080   0081   0082   0083   0084   0085   0086   0087   0088   0089   0090   0091   0092   0093   0094   0095   0096   0097   0098   0099   0100   0101   0102   0103   0104   0105   0106   0107   0108   0109   0110   0111   0112   0113   0114   0115   0116   0117   0118   0119   0120   0121   0122   0123   0124   0125   0126   0127   0128   0129   0130   0131   0132   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   0163   0164   0165  

权利要求书

1   2   3   4   5   6   7   8   9   10   11   12   13   14   15   16   17   18   19   20   21   22   23   24   25   26   27   28   29   30   31   32   33  

附图

0001   0002   0003   0004   0005  

说明书

发明名称 : 一种神经网络训练方法及装置

[0001]
本申请要求在2017年6月15日提交中国专利局、申请号为201710450211.9、发明名称为“一种神经网络训练方法及装置”的中国专利申请的优先权,其全部内容通过引用结合在本申请中。

技术领域

[0002]
本发明涉及计算机视觉领域,特别涉及一种神经网络训练方法及装置。

背景技术

[0003]
近几年来,深度神经网络在计算机视觉领域的各类应用中取得了巨大的成功,如图像分类、目标检测、图像分割等。但深度神经网络的模型往往包含大量的模型参数,计算量大、处理速度慢,无法在一些低功耗、低计算能力的设备(如嵌入式设备、集成设备等)上进行实时计算。
[0004]
目前,为解决该问题,提出一些解决方案,例如,通过知识迁移方式将教师网络的知识(即教师网络,教师网络一般具有复杂的网络结构、准确性高、计算速度慢)迁移到学生网络中(即学生网络,学生网络的网络结构相对简单、准确性低、速度快),以提高学生网络性能。此时的学生网络可应用到低功耗、地计算能力的设备中。
[0005]
知识迁移是一种通用的对深度神经网络模型进行压缩以及加速的技术。目前知识迁移的方法主要包括三种,分别是2014年Hinton等人发表的论文“Distilling the knowledge in a neural network”中提出的Knowledge Distill(简称KD)方法,2015年Romero等人发表的论文“Fitnets:Hints for thin deep nets”提出的FitNets,以及2016年Sergey发表的论文“Paying more attention to attention:Improving the performance of convolutional neural networks via attention transfer”提出的Attention Transfer(简称AT)方法。
[0006]
现有的知识迁移方式,利用教师网络中输出数据中的单个数据的信息来训练学生网络,训练得到的学生网络虽然在性能上有一定的提高,但仍然还有很大的提升空间。
[0007]
相关术语解释:
[0008]
知识迁移(Knowledge Transfer):在深度神经网络中,知识迁移是指利用训练样本数据在教师网络的中间网络层或最终网络层的输出数据,辅助训练速度较快但性能较差的学生网络,从而将性能优良的教师网络迁移到学生网络上。
[0009]
知识提取(Knowledge Distill):在深度神经网络中,知识提取是指在分类问题中利用教师网络输出的平滑类别后验概率训练学生网络的技术。
[0010]
教师网络(Teacher Network):知识迁移过程中用以为学生网络提供更加准确的监督信息的高性能神经网络。
[0011]
学生网络(Student Network):计算速度快但性能较差的适合部署到对实时性要求较高的实际应用场景中的单个神经网络,学生网络相比于教师网络,具有更大的运算吞吐量和更少的模型参数。
[0012]
发明内容
[0013]
鉴于上述问题,本发明提供一种神经网络训练方法及装置,以更进一步提升学生网络的性能和准确性。
[0014]
本发明实施例,一方面提供一种神经网络训练方法,该方法包括:
[0015]
选取一个与学生网络实现相同功能的教师网络;
[0016]
基于匹配同一训练样本数据对应的第一输出数据的数据间相似性与第二输出数据的数据间相似性来迭代训练所述学生网络得到目标网络,以实现将所述教师网络的输出数据间相似性迁移到所述学生网络;
[0017]
其中:所述第一输出数据为所述训练样本数据输入教师网络后从教师网络的第一特定网络层输出的数据,所述第二输出数据为所述训练样本数据输入学生网络后从学生网络的第二特定网络层输出的数据。
[0018]
本发明实施例另一方面提供一种神经网络训练装置,该装置包括:
[0019]
选取单元,用于选取一个与学生网络实现相同功能的教师网络;
[0020]
训练单元,用于基于匹配同一训练样本数据对应的第一输出数据的数据间相似性与第二输出数据的数据间相似性来迭代训练所述学生网络得到目标网络,以实现将所述教师网络的输出数据间相似性迁移到所述学生网络;
[0021]
其中:所述第一输出数据为所述训练样本数据输入教师网络后从教师网络的第一特定网络层输出的数据,所述第二输出数据为所述训练样本数据输入学生网络后从学生网络的第二特定网络层输出的数据。
[0022]
本发明实施例另一方面提供一种神经网络训练装置,该装置包括:一个处理器和至少一个存储器,所述至少一个存储器用于存储至少一条机器可执行指令,所述处理器执行所述至少一条指令以实现:
[0023]
选取一个与学生网络实现相同功能的教师网络;
[0024]
基于匹配同一训练样本数据对应的第一输出数据的数据间相似性与第二输出数据的数据间相似性来迭代训练所述学生网络得到目标网络,以实现将所述教师网络的输出数据间相似性迁移到所述学生网络;
[0025]
其中:所述第一输出数据为所述训练样本数据输入教师网络后从教师网络的第一特定网络层输出的数据,所述第二输出数据为所述训练样本数据输入学生网络后从学生网络的第二特定网络层输出的数据。
[0026]
本发明实施例中,能够将样本训练数据在教师网络输出的输出数据的各数据间相似信息全面迁移到学生网络中,从而实现训练样本数据通过教师网络输出的结果与通过目标网络输出的结果基本一致。根据神经网络良好的泛化性能,训练得到的目标网络的输出与教师网络的输出在测试集上也基本相同,从而提高了学生网络的准确性。
[0027]
本发明的其它特征和优点将在随后的说明书中阐述,并且,部分地从说明书中变得显而易见,或者通过实施本发明而了解。本发明的目的和其他优点可通过在所写的说明书、权利要求书、以及附图中所特别指出的结构来实现和获得。
[0028]
下面通过附图和实施例,对本发明的技术方案做进一步的详细描述。

附图说明

[0029]
附图用来提供对本发明的进一步理解,并且构成说明书的一部分,与本发明的实施例一起用于解释本发明,并不构成对本发明的限制。显而易见地,下面描述中的附图仅仅是本发明一些实施例,对于本领域普通技术人员而言,在不付出创造性劳动的前提下,还可以根据这些附图获得其他的附图。在附图中:
[0030]
图1为本发明实施例中神经网络训练方法的流程图;
[0031]
图2为本发明实施例中训练学生网络的流程图;
[0032]
图3为本发明实施例中神经网络训练装置的结构示意图;
[0033]
图4为本发明实施例中训练单元的结构示意图;
[0034]
图5为本发明实施例中神经网络训练装置的结构示意图。

具体实施方式

[0035]
为了使本技术领域的人员更好地理解本发明中的技术方案,下面将结合本发明实施例中的附图,对本发明实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例仅仅是本发明一部分实施例,而不是全部的实施例。基于本发明中的实施例,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其他实施例,都应当属于本发明保护的范围。
[0036]
以上是本发明的核心思想,为了使本技术领域的人员更好地理解本发明实施例中的技术方案,并使本发明实施例的上述目的、特征和优点能够更加明显易懂,下面结合附图对本发明实施例中技术方案作进一步详细的说明。
[0037]
实施例一
[0038]
参见图1,为本发明实施例中神经网络训练方法的流程图,该方法包括:
[0039]
步骤101、选取一个与学生网络实现相同功能的教师网络。
[0040]
实现的功能如图像分类、目标检测、图像分割等。教师网络性能优良、准确率高,但是相对学生网络其结构复杂、参数权重较多、计算速度较慢。学生网络计算速度快、性能一般或者较差、网络结构简单。可以在预先设置的神经网络模型的集合中选取一个与学生网络实现的功能相同且性能优良的网络作为教师网络。
[0041]
步骤102、基于匹配同一训练样本数据对应的第一输出数据的数据间相似性与第二输出数据的数据间相似性来迭代训练所述学生网络得到目标网络,以实现将所述教师网络的输出数据间相似性迁移到所述学生网络。
[0042]
其中,所述第一输出数据为所述训练样本数据输入教师网络后从教师网络的第一特定网络层输出的数据,所述第二输出数据为所述训练样本数据输入学生网络后从学生网络的第二特定网络层输出的数据。
[0043]
本发明实施例中,将训练样本数据输入教师网络后,从教师网络的第一特定网络层输出的数据统称为第一输出数据;将训练样本数据输入学生网络后,从学生网络的第二特定网络层输出的数据统称为第二输出数据。
[0044]
优选地,本发明实施例中,所述第一特定网络层为教师网络中的一个中间网络层或最后一层网络层。
[0045]
优选地,本发明实施例中,所述第二特定网络层为学生网络的一个中间网络层或最后一层网络层。
[0046]
优选地,前述步骤102具体实现可如图2所示的方法流程,具体包括:
[0047]
步骤102A、构建所述学生网络的目标函数,所述目标函数包含训练样本数据对应的第一输出数据的数据间相似性与第二输出数据的数据间相似性的匹配函数。
[0048]
步骤102B、采用所述训练样本数据对所述学生网络进行迭代训练。
[0049]
步骤102C、当迭代训练次数达到阈值或者所述目标函数满足预置的收敛条件时,得到所述目标网络。
[0050]
优选地,前述步骤102B,具体实现可如下:
[0051]
对所述学生网络进行多次以下迭代训练(以下称为本次迭代训练,将用于本次迭代训练的训练样本数据称为当前训练样本数据,本次迭代训练包括以下步骤A、步骤B、步骤C、步骤D、步骤E和步骤F):
[0052]
步骤A、将用于本次迭代训练的当前训练样本数据分别输入所述教师网络和学生网络,得到对应的第一输出数据和第二输出数据;
[0053]
步骤B、计算第一输出数据中各数据间的相似度以及计算第二输出数据中各数据间的相 似度;
[0054]
步骤C、根据第一输出数据中各数据间的相似度计算第一输出数据中各数据的所有排列顺序的概率,并从所述第一输出数据中各数据的所有排列顺序中选取目标排列顺序;
[0055]
步骤D、根据第二输出数据中各数据间的相似度计算第二输出数据中各数据的目标排列顺序的概率;
[0056]
步骤E、根据第一输出数据中各数据的目标排列顺序的概率和第二输出数据中各数据的目标排列顺序的概率计算所述目标函数的取值,并根据所述目标函数的取值调整所述学生网络的权重;
[0057]
步骤F、基于调整权重后的学生网络进行下一次迭代训练。
[0058]
优选地,本发明实施例中,前述步骤C中从第一输出数据中各数据的所有排列顺序中选取目标排列顺序,实现方式包括但不仅限于以下两种:
[0059]
方式1、从第一输出数据中各数据的所有排列顺序中选取概率取值大于预置阈值的排列顺序作为目标排列顺序。
[0060]
方式2、从第一输出数据中各数据的所有排列顺序中选取概率取值排在前面的预置数量的排列顺序作为目标排列顺序。
[0061]
本发明实施例中,选取的目标排列顺序可以是一个也可以是多个,本申请不作严格限定。
[0062]
优选地,步骤B中,计算第一输出数据(第二输出数据)中各数据间的相似度,具体包括:计算第一输出数据(第二输出数据)中两两数据之间的空间距离,根据所述空间距离得到所述两两数据间的相似度。
[0063]
本发明实施例中,所述空间距离可以是欧式距离、余弦距离、街区距离或马氏距离等,本申请不做严格限定。以计算两两数据之间的欧氏距离和余弦距离为例。
[0064]
通过以下公式(1)计算第任意两个数据x i和x j之间的欧式距离:
[0065]
[0066]
式(1)中,α为预置的尺度变换因子,β为预置的对比伸缩因子,γ为偏移量,|·| 2代表向量的l 2范数。
[0067]
通过以下公式(2)计算任意两个数据x i和x j之间的余弦距离:
[0068]
S ij=α(x i·x j) β+γ 式(2)
[0069]
式(2)中,α为预置的尺度变换因子,β为预置的对比伸缩因子,γ为偏移量,·代表向量间的点乘操作。
[0070]
优选地,步骤C中,根据第一输出数据中各数据间的相似度计算第一输出数据中各数据 的所有排列顺序的概率,具体实现下:针对每个排列顺序,将所述排列顺序的顺序信息以及第一输出数据的该排列顺序中所有相邻两个数据间的相似度输入预置的概率计算模型中,得到所述排列顺序的概率。
[0071]
以一个训练样本数据y={y 1,y 2,y 3}为例进行描述。将y输入教师网络得到对应的第一输出数据x={x 1,x 2,x 3};计算x中两两数据之间的相似度为s 12(x 1与x 2的相似度)、s 13(x 1与x 3的相似度)、s 23(x 2与x 3的相似度)。x 1、x 2、x 3的所有排列顺序的数量为3!=6个,排列顺序分别为π 1=x 1→x 2→x 3、π 2=x 1→x 3→x 2、π 3=x 2→x 1→x 3、π 4=x 2→x 3→x 1、π 5=x 3→x 1→x 2、π 6=x 3→x 2→x 1;根据各数据间的相似度计算得到前述六种排列顺序的概率分别为
[0072]
各训练样本数据对应的各第一输出数据选取的对应的目标排列顺序可以相同也可以不相同,以前述x为例,假设第一样本训练数据对应的第一输出数据对应的目标排列顺序为π 1=x 1→x 2→x 3、π 2=x 1→x 3→x 2、π 3=x 2→x 1→x 3,第二样本训练数据对应的第一输出数据对应的目标排列顺序为π 3=x 2→x 1→x 3、π 4=x 2→x 3→x 1、π 5=x 3→x 1→x 2
[0073]
优选地,所述步骤D中根据第二输出数据中各数据间的相似度计算第二输出数据中各数据的目标排列顺序的概率,具体实现如下:针对每一个目标排列顺序,将所述目标排列顺序的顺序信息以及第二输出数据的该目标排列顺序中所有相邻两个数据间的相似度输入所述概率计算模型中,得到所述目标排列顺序的概率。
[0074]
本发明实施例中,所述概率计算模型可以为一阶Plackett概率模型,也可以为高阶Plackett概率模型,还可以是其他能够计算概率的模型,本申请不做严格限定。
[0075]
下面以采用一阶Plackett概率模型计算排列顺序的概率为例进行描述。
[0076]
假设某一训练样本数据对应的第一输出数据为x={x 1,x 2,x 3,x 4},以计算排列顺序π 1和π 2的概率为例,假设π 1=x 1→x 2→x 3→x 4、π 2=x 1→x 3→x 4→x 2,通过一阶Plackett概率模型得到以下结果:
[0077]
[数0001]


[0078]
[数0002]


[0079]
其中,f(·)为任意一种线性或非线性的映射函数,且所有排列顺序的概率的和值为1
[0080]
本发明实施例中,所述目标排列顺序可以为一个,也可以为多个。
[0081]
本发明实施例中,学生网络的目标函数可以仅包含一个匹配函数,该目标函数还可以是一个匹配函数与任务损失函数的和值,该任务损失函数的表达式与学生网络所要实现的任务相关,例如该任务损失函数可以与教师网络的目标函数相同。匹配函数的表达式可以但不仅限于以下的公式(3)和公式(4)。
[0082]
实例1、当目标顺序为一个时,所述学生网络的目标函数可设置为如以下公式(3)所示:
[0083]
L=-log P(π t|X s) 式(3)
[0084]
式(3)中,π t为当前训练样本数据对应的第一输出数据中各数据的目标排列顺序,X s为当前训练样本数据对应的第二输出数据,P(π t|X s)为第二输出数据中各数据的目标排列顺序的概率。
[0085]
优选地,前述目标排列顺序π t为当前训练样本数据的第一输出数据中各数据所有排列顺序中概率取值最大的排列顺序。
[0086]
当目标顺序为多个时,本发明实施例可以基于匹配多个目标排列顺序的概率分布的方式训练得到所述学生网络。本发明实施例中匹配多个目标排列顺序的概率分布的方法有多种,例如基于概率分布的全变分距离、Wesserstein距离、Jensen-Shannon散度或Kullback-Leibler散度等。
[0087]
以下以基于概率分布的Kullback-Leibler散度为例,所述学生网络的目标函数表达式可如以下如下式(4)所示:
[0088]
[0089]
式(4)中,π为一个目标排列顺序,X s为当前训练样本数据对应的第二输出数据,X t为当前训练样本数据对应的第一输出数据,P(π|X s)为当前训练样本数据的第二传输数据中各数据的π的概率,P(π|X t)为当前训练样本数据的第一传输数据中各数据的π的概率,Q为目标排列顺序的集合。
[0090]
优选地,前述步骤E中根据所述目标函数的取值调整学生网络的权重,具体包括:采用预置的梯度下降优化算法,根据所述目标函数的取值调整所述学生网络的权重。
[0091]
优选地,前述步骤A与步骤B之间还包括以下步骤:通过下采样算法与插值算法对所述第一输出数据和第二输出数据进行处理,使得所述第一输出数据的空间维度与第二输出数据的空间维度一致,且第一输出数据的数量和第二输出数据的数量均与所述当前训练样本数据的数量一致。当然,如果步骤A得到的第一输出数据与第二输出数据的空间维度相同,且第一输出数据与第二输出数据的数量均与所述当前训练样本数据的数量一致,则无需在步骤A与步骤B之间增加该步骤,即在步骤A之后直接执行步骤B。前述空间维度一般是指输入数 据的数量、频道数、特征图的高度和宽度。
[0092]
需要说明的是,前述步骤A~步骤F没有严格的先后顺序,也可以用以下的步骤A’~步骤B’替代前述步骤A~步骤B。
[0093]
步骤A’、将用于本次迭代训练的当前训练样本数据输入教师网络,得到对应的第一输出数据,并计算第一输出数据中各数据间的相似度;
[0094]
步骤B’、将所述当前训练样本数据输入学生网络,得到对应的第二输出数据,并计算第二输出数据中各数据间的相似度。
[0095]
假设用于训练学生网络(用S表示)的三个训练样本数据分别为y 1={y 11,y 12,y 13},y 2={y 21,y 22,y 23},y 3={y 31,y 32,y 33};该三个训练样本数据输入到教师网络(用T表示)输出的第一输出数据依次为 该三个训练样本数据输入到学生网络输出的第二输出数据依次为
[0096]
[数0003]


[0097]
本发明实施例以第一输出数据中各数据的所有排列顺序作为目标排列顺序。第i个训练样本数据对应的第一输出数据的目标排列顺序的集合 其中 计算得到第i个训练数据对应的第一输出数据的目标排列顺序的概率为
[0098]
[数0004]


[0099]
第i个训练数据对应的第二输出数据的目标排列顺序的集合 其中 计算得到第i个训练样本数据对应的第二输出数据的目标排列顺序的概率为
[0100]
[数0005]


[0101]
由于同一个训练样本数据对应的第一输出数据和第二输出数据的数量一致,则将第一输出数据与第二输出数据中数据排列顺序相同的排列顺序作为同一个目标排列顺序。例如将第i 个训练样本数据的第二输出数据的 与其第一输出数据的 作为同一个目标排列顺序,用π i1表示,则得到第i个训练样本数据的第一输出数据和第二输出数据的目标排列顺序集合Q i表示为Q i={π i1i2i3i4i5i6}
[0102]
执行以下多次迭代训练:
[0103]
第一次迭代训练:将y 1输入教师网络和学生网络,得到对应的第一输出数据为 和第二输出数据为 计算 中各数据之间的相似度以及计算 中各数据之间的相似度;根据 中各数据间的相似度计算 中各数据的所有排列顺序的概率,将该所有排列顺序作为目标排列顺序;根据 中各数据间的相似度计算得到 中各数据的目标排列顺序的概率;将y 1对应的第一输出数据中各数据的目标排列顺序的概率和第二输出数据中各数据的目标排列顺序的概率输入至目标函数中,计算得到目标函数的取值为L 1,根据该L 1调整学生网络当前权重W 0,得到调整后的权重W 1
[0104]
第二次迭代训练:将y 2输入教师网络和学生网络,得到对应的第一输出数据为 和第二输出数据为 计算 中各数据之间的相似度以及计算 中各数据之间的相似度;根据 中各数据间的相似度计算 中各数据的所有排列顺序的概率,将该所有排列顺序作为目标排列顺序;根据 中各数据间的相似度计算得到 中各数据的目标排列顺序的概率;将y 2对应的第一输出数据中各数据的目标排列顺序的概率和第二输出数据中各数据的目标排列顺序的概率输入至目标函数中,计算得到目标函数的取值为L 2,根据该L 2调整学生网络当前权重W 1,得到调整后的权重为W 2
[0105]
第三次迭代训练:将y 3输入教师网络和学生网络,得到对应的第一输出数据为 和第二输出数据为 计算 中各数据之间的相似度以及计算 中各数据之间的相似度;根据 中各数据间的相似度计算 中各数据的所有排列顺序的概率,将该所有排列顺序作为目标排列顺序;根据 中各数据间的相似度计算得到 中各数据的目标排列顺序的概率;将y 3对应的第一输出数据中各数据的目标排列顺序的概率和第二输出数据中各数据的目标排列顺序的概率输入至目标函数中,计算得到目标函数的取值为L 3,根据该L 3调整学生网络当前权重W 2,得到调整后的权重为W 3
[0106]
实施例二
[0107]
基于与前述实施例一提供的神经网络训练方法的相同构思,本发明实施例二提供一种神经网络训练装置,该装置的结构如图3所示,包括:
[0108]
选取单元31,用于选取一个与学生网络实现相同功能的教师网络;
[0109]
训练单元32,用于基于匹配同一训练样本数据对应的第一输出数据的数据间相似性与第二输出数据的数据间相似性来迭代训练所述学生网络得到目标网络,以实现将所述教师网络的输出数据间相似性迁移到所述学生网络;
[0110]
其中:所述第一输出数据为所述训练样本数据输入教师网络后从教师网络的第一特定网络层输出的数据,所述第二输出数据为所述训练样本数据输入学生网络后从学生网络的第二特定网络层输出的数据。
[0111]
本发明实施例中,教师网络和学生网络所实现的功能如图像分类、目标检测、图像分割等。教师网络性能优良、准确率高,但是相对学生网络其结构复杂、参数权重较多、计算速度较慢。学生网络计算速度快、性能一般或者较差、网络结构简单。选取单元31可以在预先设置的神经网络模型的集合中选取一个与学生网络实现的功能相同且性能优良的网络作为教师网络。
[0112]
本发明实施例中,所述第一特定网络层为教师网络中的一个中间网络层或最后一层网络层;和/或,所述第二特定网络层为学生网络的一个中间网络层或最后一层网络层。
[0113]
优选地,训练单元32的结构如图4所示,具体包括构建模块321、训练模块322和确定模块323,其中:
[0114]
构建模块321,用于构建所述学生网络的目标函数,所述目标函数包含训练样本数据对应的第一输出数据的数据间相似性与第二输出数据的数据间相似性的匹配函数;
[0115]
训练模块322,用于采用所述训练样本数据对所述学生网络进行迭代训练;
[0116]
确定模块323,用于当训练模块322迭代训练次数达到阈值或者所述目标函数满足预置的收敛条件时,得到所述目标网络。
[0117]
优选地,训练模块322,具体用于:
[0118]
对所述学生网络进行多次以下迭代训练(以下称为本次迭代训练,将用于本次迭代训练的训练样本数据称为当前训练样本数据,本次迭代训练包括以下步骤A、步骤B、步骤C、步骤D、步骤E和步骤F):
[0119]
步骤A、将用于本次迭代训练的当前训练样本数据分别输入所述教师网络和学生网络,得到对应的第一输出数据和第二输出数据;
[0120]
步骤B、计算第一输出数据中各数据间的相似度以及计算第二输出数据中各数据间的相似度;
[0121]
步骤C、根据第一输出数据中各数据间的相似度计算第一输出数据中各数据的所有排列 顺序的概率,并从所述第一输出数据中各数据的所有排列顺序中选取目标排列顺序;
[0122]
步骤D、根据第二输出数据中各数据间的相似度计算第二输出数据中各数据的目标排列顺序的概率;
[0123]
步骤E、根据第一输出数据中各数据的目标排列顺序的概率和第二输出数据中各数据的目标排列顺序的概率计算所述目标函数的取值,并根据所述目标函数的取值调整所述学生网络的权重;
[0124]
步骤F、基于调整权重后的学生网络进行下一次迭代训练。
[0125]
优选地,训练模块322从第一输出数据中各数据的所有排列顺序中选取目标排列顺序,具体包括:从第一输出数据中各数据的所有排列顺序中选取概率取值大于预置阈值的排列顺序作为目标排列顺序;或者,从第一输出数据中各数据的所有排列顺序中选取概率取值排在前面的预置数量的排列顺序作为目标排列顺序。
[0126]
优选地,所述训练模块322计算第一输出数据中各数据间的相似度,具体包括:计算第一输出数据中两两数据之间的空间距离,根据所述空间距离得到所述两两数据间的相似度;
[0127]
所述训练模块322计算第二输出数据中各数据间的相似度,具体包括:计算第二输出数据中两两数据之间的空间距离,根据所述空间距离得到所述两两数据间的相似度。
[0128]
本发明实施例中,所述空间距离可以是欧式距离、余弦距离、街区距离或马氏距离等,本申请不做严格限定。以计算两两数据之间的欧氏距离和余弦距离为例。
[0129]
优选地,所述训练模块322根据第一输出数据中各数据间的相似度计算第一输出数据中各数据的所有排列顺序的概率,具体包括:针对每个排列顺序,将所述排列顺序的顺序信息以及第一输出数据的该排列顺序中所有相邻两个数据间的相似度输入预置的概率计算模型中,得到所述排列顺序的概率;
[0130]
所述训练模块322根据第二输出数据中各数据间的相似度计算第二输出数据中各数据的目标排列顺序概率,具体包括:针对每一个目标排列顺序,将所述目标排列顺序的顺序信息以及第二输出数据的该目标排列顺序中所有相邻两个数据间的相似度输入所述概率计算模型中,得到所述目标排列顺序的概率。
[0131]
本发明实施例中,所述概率计算模型可以为一阶Plackett概率模型,也可以为高阶Plackett概率模型,还可以是其他能够计算概率的模型,本申请不做严格限定。
[0132]
本发明实施例中,所述目标排列顺序可以为一个,也可以为多个。当目标顺序为多个时,本发明实施例可以基于匹配多个目标排列顺序的概率分布的方式训练得到所述学生网络。本发明实施例中匹配多个目标排列顺序的概率分布的方法有多种,例如基于概率分布的全变分距离、Wesserstein距离、Jensen-Shannon散度或Kullback-Leibler散度等。
[0133]
本发明实施例中,学生网络的目标函数可以仅包含一个匹配函数,该目标函数还可以是 一个匹配函数与任务损失函数的和值,该任务损失函数的表达式与学生网络所要实现的任务相关,例如该任务损失函数可以与教师网络的目标函数相同。
[0134]
优选地,所述训练模块322根据所述目标函数的取值调整所述学生网络的权重,具体包括:采用预置的梯度下降优化算法,根据所述目标函数的取值调整所述学生网络的权重。
[0135]
优选地,所述训练模块322进一步用于:在计算第一输出数据中各数据间的相似度以及计算第二输出数据中各数据间的相似度之前,通过下采样算法与插值算法对所述第一输出数据和第二输出数据进行处理,使得所述第一输出数据的空间维度与第二输出数据的空间维度一致,且第一输出数据的数量和第二输出数据的数量均与所述当前训练样本数据的数量一致。
[0136]
需要说明的是,前述步骤A~步骤F没有严格的先后顺序,也可以用以下的步骤A’~步骤B’替代前述步骤A~步骤B。
[0137]
步骤A’、将用于本次迭代训练的当前训练样本数据输入教师网络,得到对应的第一输出数据,并计算第一输出数据中各数据间的相似度;
[0138]
步骤B’、将所述当前训练样本数据输入学生网络,得到对应的第二输出数据,并计算第二输出数据中各数据间的相似度。
[0139]
实施例三
[0140]
基于与前述实施例一提供的神经网络训练方法的相同构思,本发明实施例三提供一种神经网络训练装置,该装置的结构如图5所示,包括:一个处理器501和至少一个存储器502,所述至少一个存储器502用于存储至少一条机器可执行指令,所述处理器501执行所述至少一条指令以实现:选取一个与学生网络实现相同功能的教师网络;基于匹配同一训练样本数据对应的第一输出数据的数据间相似性与第二输出数据的数据间相似性来迭代训练所述学生网络得到目标网络,以实现将所述教师网络的输出数据间相似性迁移到所述学生网络;其中:所述第一输出数据为所述训练样本数据输入教师网络后从教师网络的第一特定网络层输出的数据,所述第二输出数据为所述训练样本数据输入学生网络后从学生网络的第二特定网络层输出的数据。
[0141]
其中,所述处理器501执行所述至少一条指令实现基于匹配同一训练样本数据对应的第一输出数据的样本间相似性与第二输出数据的样本间相似性来迭代训练所述学生网络得到目标网络,具体包括:构建所述学生网络的目标函数,所述目标函数包含训练样本数据对应的第一输出数据的数据间相似性与第二输出数据的数据间相似性的匹配函数;采用所述训练样本数据对所述学生网络进行迭代训练;当迭代训练次数达到阈值或者所述目标函数满足预置的收敛条件时,得到所述目标网络。
[0142]
其中,所述处理器501执行所述至少一条指令实现采用所述训练样本数据对所述学生网 络进行迭代训练,具体包括:对所述学生网络进行多次以下迭代训练:将用于本次迭代训练的当前训练样本数据分别输入所述教师网络和学生网络,得到对应的第一输出数据和第二输出数据;计算第一输出数据中各数据间的相似度以及计算第二输出数据中各数据间的相似度;根据第一输出数据中各数据间的相似度计算第一输出数据中各数据的所有排列顺序的概率,并从所述第一输出数据中各数据的所有排列顺序中选取目标排列顺序;根据第二输出数据中各数据间的相似度计算第二输出数据中各数据的目标排列顺序的概率;根据第一输出数据中各数据的目标排列顺序的概率和第二输出数据中各数据的目标排列顺序的概率计算所述目标函数的取值,并根据所述目标函数的取值调整所述学生网络的权重;基于调整权重后的学生网络进行下一次迭代训练。
[0143]
其中,所述处理器501执行所述至少一条指令实现从第一输出数据中各数据的所有排列顺序中选取目标排列顺序,具体包括:从第一输出数据中各数据的所有排列顺序中选取概率取值大于预置阈值的排列顺序作为目标排列顺序;或者,从第一输出数据中各数据的所有排列顺序中选取概率取值排在前面的预置数量的排列顺序作为目标排列顺序。
[0144]
其中,所述处理器501执行所述至少一条指令实现计算第一输出数据中各数据间的相似度,具体包括:计算第一输出数据中两两数据之间的空间距离,根据所述空间距离得到所述两两数据间的相似度;计算第二输出数据中各数据间的相似度,具体包括:计算第二输出数据中两两数据之间的空间距离,根据所述空间距离得到所述两两数据间的相似度。
[0145]
其中,所述处理器501执行所述至少一条指令实现根据第一输出数据中各数据间的相似度计算第一输出数据中各数据的所有排列顺序的概率,具体包括:针对每个排列顺序,将所述排列顺序的顺序信息以及第一输出数据的该排列顺序中所有相邻两个数据间的相似度输入预置的概率计算模型中,得到所述排列顺序的概率;根据第二输出数据中各数据间的相似度计算第二输出数据中各数据的目标排列顺序的概率,具体包括:针对每一个目标排列顺序,将所述目标排列顺序的顺序信息以及第二输出数据的该目标排列顺序中所有相邻两个数据间的相似度输入所述概率计算模型中,得到所述目标排列顺序的概率。
[0146]
其中,当所述目标排列顺序为一个时,所述学生网络的目标函数如下:
[0147]
L=-log P(π t|X s)
[0148]
式中,π t为当前训练样本数据对应的第一输出数据中各数据的目标排列顺序,X s为当前训练样本数据对应的第二输出数据,P(π t|X s)为第二输出数据中各数据的目标排列顺序的概率。
[0149]
其中,当所述目标排列顺序为多个时,所述学生网络的目标函数如下:
[0150]
[数0006]


[0151]
式中,π为一个目标排列顺序,X s为当前训练样本数据对应的第二输出数据,X t为当前训练样本数据对应的第一输出数据,P(π|X s)为当前训练样本数据的第二传输数据中各数据的排列顺序为π的概率,P(π|X t)为当前训练样本数据的第一传输数据中各数据的排列顺序为π的概率,Q为目标排列顺序的集合。
[0152]
其中,所述处理器501执行所述至少一条指令实现,根据所述目标函数的取值调整所述学生网络的权重,具体包括:采用预置的梯度下降优化算法,根据所述目标函数的取值调整所述学生网络的权重。
[0153]
其中,在所述处理器501执行所述至少一条指令实现计算第一输出数据中各数据间的相似度以及计算第二输出数据中各数据间的相似度之前,所述处理器还执行所述至少一条指令以实现:通过下采样算法与插值算法对所述第一输出数据和第二输出数据进行处理,使得所述第一输出数据的空间维度与第二输出数据的空间维度一致,且第一输出数据的数量和第二输出数据的数量均与所述当前训练样本数据的数量一致。
[0154]
其中,所述第一特定网络层为教师网络中的一个中间网络层或最后一层网络层;所述第二特定网络层为学生网络的一个中间网络层或最后一层网络层。
[0155]
基于与前述方法相同的构思,本发明实施例还提供一种存储介质(该存储介质可以是非易失性机器可读存储介质),该存储介质中存储有用于神经网络训练的计算机程序,该计算机程序具有被配置用于执行以下步骤的代码段:选取一个与学生网络实现相同功能的教师网络;基于匹配同一训练样本数据对应的第一输出数据的数据间相似性与第二输出数据的数据间相似性来迭代训练所述学生网络得到目标网络,以实现将所述教师网络的输出数据间相似性迁移到所述学生网络;其中:所述第一输出数据为所述训练样本数据输入教师网络后从教师网络的第一特定网络层输出的数据,所述第二输出数据为所述训练样本数据输入学生网络后从学生网络的第二特定网络层输出的数据。
[0156]
基于与前述方法相同的构思,本发明实施例还提供一种计算机程序,该计算机程序具有被配置用于执行以下神经网络训练的代码段:选取一个与学生网络实现相同功能的教师网络;基于匹配同一训练样本数据对应的第一输出数据的数据间相似性与第二输出数据的数据间相似性来迭代训练所述学生网络得到目标网络,以实现将所述教师网络的输出数据间相似性迁移到所述学生网络;其中:所述第一输出数据为所述训练样本数据输入教师网络后从教师网络的第一特定网络层输出的数据,所述第二输出数据为所述训练样本数据输入学生网络后从学生网络的第二特定网络层输出的数据。
[0157]
综上所述,本发明实施例中,能够将样本训练数据在教师网络输出的输出数据的各数据间相似信息全面迁移到学生网络中,从而实现训练样本数据通过教师网络输出的结果与通过 目标网络输出的结果基本一致。根据神经网络良好的泛化性能,训练得到的目标网络的输出与教师网络的输出在测试集上也基本相同,从而提高了学生网络的准确性。以上结合具体实施例描述了本发明的基本原理,但是,需要指出的是,对本领域普通技术人员而言,能够理解本发明的方法和装置的全部或者任何步骤或者部件可以在任何计算装置(包括处理器、存储介质等)或者计算装置的网络中,以硬件固件、软件或者他们的组合加以实现,这是本领域普通技术人员在阅读了本发明的说明的情况下运用它们的基本编程技能就能实现的。
[0158]
本领域普通技术人员可以理解实现上述实施例方法携带的全部或部分步骤是可以通过程序来指令相关的硬件完成,所述的程序可以存储于一种计算机可读存储介质中,该程序在执行时,包括方法实施例的步骤之一或其组合。
[0159]
另外,在本发明各个实施例中的各功能单元可以集成在一个处理模块中,也可以是各个单元单独物理存在,也可以两个或两个以上单元集成在一个模块中。上述集成的模块既可以采用硬件的形式实现,也可以采用软件功能模块的形式实现。所述集成的模块如果以软件功能模块的形式实现并作为独立的产品销售或使用时,也可以存储在一个计算机可读取存储介质中。
[0160]
本领域内的技术人员应明白,本发明的实施例可提供为方法、系统、或计算机程序产品。因此,本发明可采用完全硬件实施例、完全软件实施例、或结合软件和硬件方面的实施例的形式。而且,本发明可采用在一个或多个其中包含有计算机可用程序代码的计算机可用存储介质(包括但不限于磁盘存储器和光学存储器等)上实施的计算机程序产品的形式。
[0161]
本发明是参照根据本发明实施例的方法、设备(系统)、和计算机程序产品的流程图和/或方框图来描述的。应理解可由计算机程序指令实现流程图和/或方框图中的每一流程和/或方框、以及流程图和/或方框图中的流程和/或方框的结合。可提供这些计算机程序指令到通用计算机、专用计算机、嵌入式处理机或其他可编程数据处理设备的处理器以产生一个机器,使得通过计算机或其他可编程数据处理设备的处理器执行的指令产生用于实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能的装置。
[0162]
这些计算机程序指令也可存储在能引导计算机或其他可编程数据处理设备以特定方式工作的计算机可读存储器中,使得存储在该计算机可读存储器中的指令产生包括指令装置的制造品,该指令装置实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能。
[0163]
这些计算机程序指令也可装载到计算机或其他可编程数据处理设备上,使得在计算机或其他可编程设备上执行一系列操作步骤以产生计算机实现的处理,从而在计算机或其他可编程设备上执行的指令提供用于实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能的步骤。
[0164]
尽管已描述了本发明的上述实施例,但本领域内的技术人员一旦得知了基本创造性概念,则可对这些实施例做出另外的变更和修改。所以,所附权利要求意欲解释为包括上述实施例以及落入本发明范围的所有变更和修改。
[0165]
显然,本领域的技术人员可以对本发明进行各种改动和变型而不脱离本发明的精神和范围。这样,倘若本发明的这些修改和变型属于本发明权利要求及其等同技术的范围之内,则本发明也意图包含这些改动和变型在内。

权利要求书

[权利要求 1]
一种神经网络训练方法,其特征在于,包括: 选取一个与学生网络实现相同功能的教师网络; 基于匹配同一训练样本数据对应的第一输出数据的数据间相似性与第二输出数据的数据间相似性来迭代训练所述学生网络得到目标网络,以实现将所述教师网络的输出数据间相似性迁移到所述学生网络; 其中:所述第一输出数据为所述训练样本数据输入教师网络后从教师网络的第一特定网络层输出的数据,所述第二输出数据为所述训练样本数据输入学生网络后从学生网络的第二特定网络层输出的数据。
[权利要求 2]
根据权利要求1所述的方法,其特征在于,基于匹配同一训练样本数据对应的第一输出数据的样本间相似性与第二输出数据的样本间相似性来迭代训练所述学生网络得到目标网络,具体包括: 构建所述学生网络的目标函数,所述目标函数包含训练样本数据对应的第一输出数据的数据间相似性与第二输出数据的数据间相似性的匹配函数; 采用所述训练样本数据对所述学生网络进行迭代训练; 当迭代训练次数达到阈值或者所述目标函数满足预置的收敛条件时,得到所述目标网络。
[权利要求 3]
根据权利要求2所述的方法,其特征在于,采用所述训练样本数据对所述学生网络进行迭代训练,具体包括: 对所述学生网络进行多次以下迭代训练: 将用于本次迭代训练的当前训练样本数据分别输入所述教师网络和学生网络,得到对应的第一输出数据和第二输出数据; 计算第一输出数据中各数据间的相似度以及计算第二输出数据中各数据间的相似度; 根据第一输出数据中各数据间的相似度计算第一输出数据中各数据的所有排列顺序的概率,并从所述第一输出数据中各数据的所有排列顺序中选取目标排列顺序; 根据第二输出数据中各数据间的相似度计算第二输出数据中各数据的目标排列顺序的概率; 根据第一输出数据中各数据的目标排列顺序的概率和第二输出数据中各数据的目标排列顺序的概率计算所述目标函数的取值,并根据所述目标函数的取值调整所述学生网络的权重; 基于调整权重后的学生网络进行下一次迭代训练。
[权利要求 4]
根据权利要求3所述的方法,其特征在于,从第一输出数据中各数据的所有排列顺序中选取目标排列顺序,具体包括: 从第一输出数据中各数据的所有排列顺序中选取概率取值大于预置阈值的排列顺序作为 目标排列顺序; 或者,从第一输出数据中各数据的所有排列顺序中选取概率取值排在前面的预置数量的排列顺序作为目标排列顺序。
[权利要求 5]
根据权利要求3所述的方法,其特征在于,计算第一输出数据中各数据间的相似度,具体包括:计算第一输出数据中两两数据之间的空间距离,根据所述空间距离得到所述两两数据间的相似度; 计算第二输出数据中各数据间的相似度,具体包括:计算第二输出数据中两两数据之间的空间距离,根据所述空间距离得到所述两两数据间的相似度。
[权利要求 6]
根据权利要求3所述的方法,其特征在于,根据第一输出数据中各数据间的相似度计算第一输出数据中各数据的所有排列顺序的概率,具体包括: 针对每个排列顺序,将所述排列顺序的顺序信息以及第一输出数据的该排列顺序中所有相邻两个数据间的相似度输入预置的概率计算模型中,得到所述排列顺序的概率; 根据第二输出数据中各数据间的相似度计算第二输出数据中各数据的目标排列顺序的概率,具体包括:针对每一个目标排列顺序,将所述目标排列顺序的顺序信息以及第二输出数据的该目标排列顺序中所有相邻两个数据间的相似度输入所述概率计算模型中,得到所述目标排列顺序的概率。
[权利要求 7]
根据权利要求3所述的方法,其特征在于,当所述目标排列顺序为一个时,所述学生网络的目标函数如下: L=-log P(π t|X s) 式中,π t为当前训练样本数据对应的第一输出数据中各数据的目标排列顺序,X s为当前训练样本数据对应的第二输出数据,P(π t|X s)为第二输出数据中各数据的目标排列顺序的概率。
[权利要求 8]
根据权利要求3所述的方法,其特征在于,当所述目标排列顺序为多个时,所述学生网络的目标函数如下: [数0001]


式中,π为一个目标排列顺序,X s为当前训练样本数据对应的第二输出数据,X t为当前训练样本数据对应的第一输出数据,P(π|X s)为当前训练样本数据的第二传输数据中各数据的排列顺序为π的概率,P(π|X t)为当前训练样本数据的第一传输数据中各数据的排列顺序为π的概率,Q为目标排列顺序的集合。
[权利要求 9]
根据权利要求3所述的方法,其特征在于,根据所述目标函数的取值调整所述学生网络的权重,具体包括: 采用预置的梯度下降优化算法,根据所述目标函数的取值调整所述学生网络的权重。
[权利要求 10]
根据权利要求3所述的方法,其特征在于,在计算第一输出数据中各数据间的相似度以及计算第二输出数据中各数据间的相似度之前,还包括:通过下采样算法与插值算法对所述第一输出数据和第二输出数据进行处理,使得所述第一输出数据的空间维度与第二输出数据的空间维度一致,且第一输出数据的数量和第二输出数据的数量均与所述当前训练样本数据的数量一致。
[权利要求 11]
根据权利要求1所述的方法,其特征在于,所述第一特定网络层为教师网络中的一个中间网络层或最后一层网络层; 所述第二特定网络层为学生网络的一个中间网络层或最后一层网络层。
[权利要求 12]
一种神经网络训练装置,其特征在于,包括: 选取单元,用于选取一个与学生网络实现相同功能的教师网络; 训练单元,用于基于匹配同一训练样本数据对应的第一输出数据的数据间相似性与第二输出数据的数据间相似性来迭代训练所述学生网络得到目标网络,以实现将所述教师网络的输出数据间相似性迁移到所述学生网络; 其中:所述第一输出数据为所述训练样本数据输入教师网络后从教师网络的第一特定网络层输出的数据,所述第二输出数据为所述训练样本数据输入学生网络后从学生网络的第二特定网络层输出的数据。
[权利要求 13]
根据权利要求12所述的装置,其特征在于,所述训练单元,具体包括: 构建模块,用于构建所述学生网络的目标函数,所述目标函数包含训练样本数据对应的第一输出数据的数据间相似性与第二输出数据的数据间相似性的匹配函数; 训练模块,用于采用所述训练样本数据对所述学生网络进行迭代训练; 确定模块,用于当训练模块迭代训练次数达到阈值或者所述目标函数满足预置的收敛条件时,得到所述目标网络。
[权利要求 14]
根据权利要求13所述的装置,其特征在于,所述训练模块,具体用于: 对所述学生网络进行多次以下迭代训练: 将用于本次迭代训练的当前训练样本数据分别输入所述教师网络和学生网络,得到对应的第一输出数据和第二输出数据; 计算第一输出数据中各数据间的相似度以及计算第二输出数据中各数据间的相似度; 根据第一输出数据中各数据间的相似度计算第一输出数据中各数据的所有排列顺序的概率,并从所述第一输出数据中各数据的所有排列顺序中选取目标排列顺序; 根据第二输出数据中各数据间的相似度计算第二输出数据中各数据的目标排列顺序的概率; 根据第一输出数据中各数据的目标排列顺序的概率和第二输出数据中各数据的目标排列顺序的概率计算所述目标函数的取值,并根据所述目标函数的取值调整所述学生网络的权重; 基于调整权重后的学生网络进行下一次迭代训练。
[权利要求 15]
根据权利要求14所述的装置,其特征在于,所述训练模块从第一输出数据中各数据的所有排列顺序中选取目标排列顺序,具体包括: 从第一输出数据中各数据的所有排列顺序中选取概率取值大于预置阈值的排列顺序作为目标排列顺序; 或者,从第一输出数据中各数据的所有排列顺序中选取概率取值排在前面的预置数量的排列顺序作为目标排列顺序。
[权利要求 16]
根据权利要求14所述的装置,其特征在于,所述训练模块计算第一输出数据中各数据间的相似度,具体包括:计算第一输出数据中两两数据之间的空间距离,根据所述空间距离得到所述两两数据间的相似度; 所述训练模块计算第二输出数据中各数据间的相似度,具体包括:计算第二输出数据中两两数据之间的空间距离,根据所述空间距离得到所述两两数据间的相似度。
[权利要求 17]
根据权利要求14所述的装置,其特征在于,所述训练模块根据第一输出数据中各数据间的相似度计算第一输出数据中各数据的所有排列顺序的概率,具体包括:针对每个排列顺序,将所述排列顺序的顺序信息以及第一输出数据的该排列顺序中所有相邻两个数据间的相似度输入预置的概率计算模型中,得到所述排列顺序的概率; 所述训练模块根据第二输出数据中各数据间的相似度计算第二输出数据中各数据的目标排列顺序概率,具体包括:针对每一个目标排列顺序,将所述目标排列顺序的顺序信息以及第二输出数据的该目标排列顺序中所有相邻两个数据间的相似度输入所述概率计算模型中,得到所述目标排列顺序的概率。
[权利要求 18]
根据权利要求14所述的装置,其特征在于, 当所述目标排列顺序为一个时,所述学生网络的目标函数如下: L=-log P(π t|X s) 式中,π t为第二输出数据中各数据的目标排列顺序,X s为当前训练样本数据对应的第二输出数据,P(π t|X s)为π t的概率。
[权利要求 19]
根据权利要求14所述的装置,其特征在于, 当所述目标排列顺序为多个时,所述学生网络的目标函数如下: [数0002]


式中,π为一个目标排列顺序,X s为当前训练样本数据对应的第二输出数据,X t为当前训练样本数据对应的第一输出数据,P(π|X s)为当前训练样本数据的第二传输数据中各数据的排列顺序为π的概率,P(π|X t)为当前训练样本数据的第一传输数据中各数据的排列顺序为π的概率,Q为目标排列顺序的集合。
[权利要求 20]
根据权利要求14所述的装置,其特征在于,所述训练模块根据所述目标函数的取值调整所述学生网络的权重,具体包括: 采用预置的梯度下降优化算法,根据所述目标函数的取值调整所述学生网络的权重。
[权利要求 21]
根据权利要求14所述的装置,所述训练模块进一步用于: 在计算第一输出数据中各数据间的相似度以及计算第二输出数据中各数据间的相似度之前,通过下采样算法与插值算法对所述第一输出数据和第二输出数据进行处理,使得所述第一输出数据的空间维度与第二输出数据的空间维度一致,且第一输出数据的数量和第二输出数据的数量均与所述当前训练样本数据的数量一致。
[权利要求 22]
根据权利要求12所述的装置,其特征在于,所述第一特定网络层为教师网络中的一个中间网络层或最后一层网络层; 所述第二特定网络层为学生网络的一个中间网络层或最后一层网络层。
[权利要求 23]
一种神经网络训练装置,其特征在于,包括:一个处理器和至少一个存储器,所述至少一个存储器用于存储至少一条机器可执行指令,所述处理器执行所述至少一条指令以实现: 选取一个与学生网络实现相同功能的教师网络; 基于匹配同一训练样本数据对应的第一输出数据的数据间相似性与第二输出数据的数据间相似性来迭代训练所述学生网络得到目标网络,以实现将所述教师网络的输出数据间相似性迁移到所述学生网络; 其中:所述第一输出数据为所述训练样本数据输入教师网络后从教师网络的第一特定网络层输出的数据,所述第二输出数据为所述训练样本数据输入学生网络后从学生网络的第二特定网络层输出的数据。
[权利要求 24]
根据权利要求23所述的装置,其特征在于,所述处理器执行所述至少一条指令实现基于匹配同一训练样本数据对应的第一输出数据的样本间相似性与第二输出数据的样本间相似性来迭代训练所述学生网络得到目标网络,具体包括: 构建所述学生网络的目标函数,所述目标函数包含训练样本数据对应的第一输出数据的数据间相似性与第二输出数据的数据间相似性的匹配函数; 采用所述训练样本数据对所述学生网络进行迭代训练; 当迭代训练次数达到阈值或者所述目标函数满足预置的收敛条件时,得到所述目标网络。
[权利要求 25]
根据权利要求24所述的装置,其特征在于,所述处理器执行所述至少一条指令实现采用所述训练样本数据对所述学生网络进行迭代训练,具体包括: 对所述学生网络进行多次以下迭代训练: 将用于本次迭代训练的当前训练样本数据分别输入所述教师网络和学生网络,得到对应的第一输出数据和第二输出数据; 计算第一输出数据中各数据间的相似度以及计算第二输出数据中各数据间的相似度; 根据第一输出数据中各数据间的相似度计算第一输出数据中各数据的所有排列顺序的概率,并从所述第一输出数据中各数据的所有排列顺序中选取目标排列顺序; 根据第二输出数据中各数据间的相似度计算第二输出数据中各数据的目标排列顺序的概率; 根据第一输出数据中各数据的目标排列顺序的概率和第二输出数据中各数据的目标排列顺序的概率计算所述目标函数的取值,并根据所述目标函数的取值调整所述学生网络的权重; 基于调整权重后的学生网络进行下一次迭代训练。
[权利要求 26]
根据权利要求25所述的装置,其特征在于,所述处理器执行所述至少一条指令实现从第一输出数据中各数据的所有排列顺序中选取目标排列顺序,具体包括: 从第一输出数据中各数据的所有排列顺序中选取概率取值大于预置阈值的排列顺序作为目标排列顺序; 或者,从第一输出数据中各数据的所有排列顺序中选取概率取值排在前面的预置数量的排列顺序作为目标排列顺序。
[权利要求 27]
根据权利要求25所述的装置,其特征在于,所述处理器执行所述至少一条指令实现计算第一输出数据中各数据间的相似度,具体包括:计算第一输出数据中两两数据之间的空间距离,根据所述空间距离得到所述两两数据间的相似度; 计算第二输出数据中各数据间的相似度,具体包括:计算第二输出数据中两两数据之间的空间距离,根据所述空间距离得到所述两两数据间的相似度。
[权利要求 28]
根据权利要求25所述的装置,其特征在于,所述处理器执行所述至少一条指令实现根据第一输出数据中各数据间的相似度计算第一输出数据中各数据的所有排列顺序的概率,具体包括: 针对每个排列顺序,将所述排列顺序的顺序信息以及第一输出数据的该排列顺序中所有相邻两个数据间的相似度输入预置的概率计算模型中,得到所述排列顺序的概率; 根据第二输出数据中各数据间的相似度计算第二输出数据中各数据的目标排列顺序的概 率,具体包括:针对每一个目标排列顺序,将所述目标排列顺序的顺序信息以及第二输出数据的该目标排列顺序中所有相邻两个数据间的相似度输入所述概率计算模型中,得到所述目标排列顺序的概率。
[权利要求 29]
根据权利要求25所述的装置,其特征在于,当所述目标排列顺序为一个时,所述学生网络的目标函数如下: L=-log P(π t|X s) 式中,π t为当前训练样本数据对应的第一输出数据中各数据的目标排列顺序,X s为当前训练样本数据对应的第二输出数据,P(π t|X s)为第二输出数据中各数据的目标排列顺序的概率。
[权利要求 30]
根据权利要求25所述的装置,其特征在于,当所述目标排列顺序为多个时,所述学生网络的目标函数如下: [数0003]


式中,π为一个目标排列顺序,X s为当前训练样本数据对应的第二输出数据,X t为当前训练样本数据对应的第一输出数据,P(π|X s)为当前训练样本数据的第二传输数据中各数据的排列顺序为π的概率,P(π|X t)为当前训练样本数据的第一传输数据中各数据的排列顺序为π的概率,Q为目标排列顺序的集合。
[权利要求 31]
根据权利要求25所述的装置,其特征在于,所述处理器执行所述至少一条指令实现,根据所述目标函数的取值调整所述学生网络的权重,具体包括: 采用预置的梯度下降优化算法,根据所述目标函数的取值调整所述学生网络的权重。
[权利要求 32]
根据权利要求25所述的装置,其特征在于,在所述处理器执行所述至少一条指令实现计算第一输出数据中各数据间的相似度以及计算第二输出数据中各数据间的相似度之前,所述处理器还执行所述至少一条指令以实现:通过下采样算法与插值算法对所述第一输出数据和第二输出数据进行处理,使得所述第一输出数据的空间维度与第二输出数据的空间维度一致,且第一输出数据的数量和第二输出数据的数量均与所述当前训练样本数据的数量一致。
[权利要求 33]
根据权利要求23所述的装置,其特征在于,所述第一特定网络层为教师网络中的一个中间网络层或最后一层网络层; 所述第二特定网络层为学生网络的一个中间网络层或最后一层网络层。

附图

[ 图 0001]  
[ 图 0002]  
[ 图 0003]  
[ 图 0004]  
[ 图 0005]