相关申请的交叉引用
本申请要求于2018年11月29日提交的法国专利申请号1872036的优先权,由此该申请通过引用并入本文。
本发明的实现模式和实施例涉及用于对神经网络的参数集合进行分析的方法。
背景技术:
神经网络被大量用于解决各种统计学问题,尤其是数据分类问题。
在通常受到监督的自动学习阶段之后,即,在已分类的参考数据库上,神经网络“学习”并能够自己将相同的分类应用于未知数据。
可以引用卷积神经网络或cnn,它们表示其中神经元之间的连接模式受到动物视觉皮层的启发的神经网络类型。它们允许高效识别图像或视频中的对象或人物。
神经网络的架构通常包括一系列层,其中每个层在前一层的输出上取得其输入。
输出数据(“特征”)存储在具有先前限定尺寸的存储器区域中。
针对每一层,输入数据乘以给定值的至少一个权重。
“权重”是在神经网络领域中的含义为本领域技术人员所熟知的术语,“权重”是指可以配置来获得良好输出数据的神经元参数。
通过在训练数据库上训练神经网络,来确定该权重。更精确地,假设图像的类别先前已知,神经网络对例如从数据库中提取的图像进行处理,并在输出处神经网络做出预测,即,图像可以属于哪个类别。
根据该结果的真实性,神经网络的所有权重均根据被称为梯度反向传播的算法进行更新。
通常,每一层的输出数据和权重以例如32比特的浮点表示,从而可以使得神经网络在预测方面的性能更好。
每一层的输出数据和权重还可以以例如16比特或8比特的固定点表示。
“浮点”是指以符号、尾数和指数来表示数。
“固定点”是指利用在点之后的固定数目的数字来表示数。
因此,分配给固定点表示的存储器区域小于分配给浮点表示的存储器区域。
通常,由于计算的准确度降低,因此存储器尺寸越小,神经网络在关于预测的性能方面损失就越大。
如今,神经网络更加复杂,并需要大的计算能力。
每秒指令是测量系统(例如,微处理器)性能的单位。
对于给定的微处理器,神经网络的配置越复杂,进行推断(即,神经网络的所有层的执行)所需的时间就越多。
此外,存储神经网络的系统的微处理器通常针对以(例如,16比特或8比特的)固定点表示的数据进行优化。
技术实现要素:
本发明的实现模式和实施例涉及深度学习,并且更具体地涉及深度神经网络。
因此,在可能的范围内,需要能够提供在不降低性能或至少在可接受的范围内降低性能的情况下,在微处理器上实现复杂的神经网络。
因此,提出向神经网络的用户提供能够根据该用户优先选择的标准来决定是否可以修改或调整神经网络的某些参数(例如,权重和/或输出数据的尺寸)的能力,以例如在处理器级别获得存储器方面的增益或性能中的增益(例如,处理时间中的增益),同时保留如此修改的神经网络的良好性能。
还提出能够确定是否可以通过从浮点数据表示传递到固定点表示,来缩减例如微处理器对神经网络接收或创建的数据进行处理的计算负荷,同时保留有效的神经网络。
附图说明
图1示意性地图示了本发明的一个实现模式和实施例。
图2示意性地图示了本发明的一个实现模式和实施例。
图3a示意性地图示了本发明的一个实现模式和实施例。
图3b示意性地图示了本发明的一个实现模式和实施例。
图3c示意性地图示了本发明的一个实现模式和实施例。
图3d示意性地图示了本发明的一个实现模式和实施例。
图4a示意性地图示了本发明的一个实现模式和实施例。
图4b示意性地图示了本发明的一个实现模式和实施例。
具体实施方式
根据一个方面,方法包括对限定初始多层神经网络的初始参数集合进行分析。神经网络旨在由包括计算单元(例如,耦合到存储器组的处理器)的系统来实现。尤其是目的在于获得技术改进(技术改进包括例如计算单元的处理持续时间和/或存储器尺寸的增益中的至少一个改进),分析包括至少一个初始参数的初始存储器尺寸的缩减或尝试缩减,以获得经修改的参数集合,该经修改的参数集合限定相对于初始网络经修改的神经网络。
该缩减或尝试缩减有利地取决于满足或不满足(例如所选择的)标准。
根据一个实现模式,方法进一步包括:由系统通过使用测试输入数据集合,来实现初始神经网络和经修改的神经网络;通过至少使用测试输入数据集合,来制定针对初始神经网络的质量因子以及针对经修改的神经网络的质量因子;在两个质量因子之间进行比较;以及关于满足或不满足所选择的标准,根据比较结果,接受或拒绝对至少一个参数的初始存储器尺寸的缩减。
例如,该标准由神经网络的用户根据例如所设想的应用来选择。
技术改进的类型还可以例如由用户特别是根据所设想的应用、硬件约束和预算约束来有利地选择。
然后,该选择可以决定哪种类型的初始参数可以进行存储器尺寸的缩减。
术语“初始参数集合”是指与神经网络的配置有关的参数(例如,每一层的权重、其类型和要分配给每一层的输出数据的尺寸)。
每个参数具有限定的存储器尺寸,经修改的神经网络是其中一个或所有初始参数的存储器尺寸已通过例如缩减存储器尺寸的方式进行了修改的网络。
根据所寻求的技术改进(例如,存储器中的增益和/或处理器的性能中(特别是处理时间中)的增益),例如,将可以寻求缩减分配给神经网络的一个或多个层的初始存储器尺寸,和/或缩减层中的至少一些层的权重中的至少一些权重的初始存储器尺寸,从而修改数据表示(将浮点修改为固定点)。
为了验证对初始参数集合的修改是否满足所选择的标准,将测试输入数据集合输入到经修改的神经网络。该数据集合用于通过计算质量因子来评估神经网络的性能。
计算初始网络的质量因子和经修改的网络的质量因子,并对它们进行比较。
在这些示例不受限制的情况下,该质量因子例如可以是精度因子或噪声因子。
如果两个质量因子在用户选择的公差(例如,几个百分点)内相同,则认为满足标准,即,经修改的神经网络例如允许存储器中的增益,同时保持与初始神经网络基本相同的性能。
如果两个质量因子未在公差内相同,则认为不满足标准,即,例如使用经修改的神经网络获得的存储器中的增益不可以获得与使用初始神经网络获得的性能相同的性能。
如果新的经修改的神经网络不满足标准,则系统保持初始神经网络并删除新的神经网络。
如果新的经修改的神经网络满足标准,则新的神经网络可以例如替换初始神经网络。
根据一个实现模式,初始神经网络的每一层包括至少一个初始权重,该至少一个初始权重属于初始参数集合,并且具有初始存储器尺寸。
分析包括:针对所有层,进行对至少一个初始权重的初始存储器尺寸的第一缩减,以缩减为第一存储器尺寸;并且在对质量因子进行比较之后拒绝第一缩减的情况下,针对所有层,进行对至少一个权重的第二缩减,以缩减为第二存储器尺寸,第二尺寸大于第一尺寸;并且在对质量因子进行比较之后拒绝第二缩减的情况下,保持初始神经网络的初始权重的初始存储器尺寸。
至少一个权重的初始存储器尺寸被分配在非易失性存储器(例如,rom存储器(“只读存储器”))中。
至少一个权重的初始存储器尺寸例如是32比特。至少一个权重的初始存储器尺寸的第一缩减是例如缩减24比特。因此,至少一个权重具有8比特的经修改的存储器尺寸。
期望的技术改进是例如存储器中的增益。
鉴于至少一个权重在精度方面有所损失,因此验证经修改的神经网络是否满足标准是有利的。为此,进行质量因子的比较。
如果拒绝,则至少一个权重的初始存储器尺寸被较不严重地缩减,以具有16比特的存储器尺寸。再次,执行经修改的神经网络与初始神经网络之间的比较,在经修改的神经网络中,至少一个权重具有16比特的存储器尺寸,在初始神经网络中,至少一个权重具有其初始存储器尺寸(即,32比特)。
如果拒绝,则保留初始存储器尺寸(即,这里为32比特)。
还可以具有其中至少一个权重的初始尺寸为8比特的初始神经网络。在这种情况下,例如可以执行6比特的第一缩减,以具有2比特的存储器尺寸,并且执行质量因子的比较。如果拒绝,则可以进行第二较小的缩减(例如,缩减4比特),即,最终存储器尺寸为4比特,并进行质量因子的比较,并且如果拒绝,则保持8比特的初始存储器尺寸。
根据另一可能的实现模式,初始神经网络的每一层包括旨在存储输出数据的初始存储器区域,初始存储器区域属于初始参数集合并且具有初始存储器尺寸。
方法包括:如果已缩减了至少一个初始权重的存储器尺寸,则对所有初始存储器区域的初始存储器尺寸进行第一缩减,以缩减到第一尺寸;并且在对质量因子进行比较之后拒绝第一缩减的情况下,对所有初始存储器区域的初始存储器尺寸进行第二缩减,以缩减到第二尺寸;并且在比较之后拒绝第二缩减的情况下,保持网络的初始存储器区域的初始存储器尺寸。
存储器区域的初始存储器尺寸被分配在例如ram存储器(“随机存取存储器”)的易失性存储器中。
存储器区域的初始存储器尺寸例如是32比特。在这种情况下,如果已缩减了至少一个权重的存储器尺寸,则执行存储器区域的初始存储器尺寸的24比特的第一缩减。因此,存储器区域的存储器尺寸为8比特。
鉴于这样缩减的存储器区域在精度方面有所损失,验证经修改的神经网络是否满足标准是有利的。为此,进行质量因子的比较。
如果拒绝,则存储器区域的初始存储器尺寸被较不严重地缩减,以具有16比特。执行经修改的神经网络与初始神经网络之间的比较,在经修改的神经网络中,存储器区域具有16比特的存储器尺寸,在初始神经网络中,存储器区域具有初始存储器尺寸(即,32比特)。
如果拒绝,则保留初始存储器尺寸(即,这里为32比特)。
还可以具有其中存储器区域的初始尺寸为8比特的初始神经网络。在这种情况下,例如可以执行6比特的第一缩减,以具有2比特的存储器尺寸,并执行比较。如果拒绝,则可以执行4比特的第二缩减,即具有4比特的存储器尺寸,并执行比较,并且如果拒绝,则保持8比特的初始存储器尺寸。
根据一个实现模式,第二尺寸是第一尺寸的两倍。
例如,如果初始存储器尺寸是32比特,则第一缩减使得可以获得8比特的存储器尺寸和在第二缩减之后的16比特的存储器尺寸。
根据一个实现模式,在分析完成时,经修改的神经网络的经修改的参数集合可以包括具有缩减的存储器尺寸的至少一个权重和具有缩减的存储器尺寸的所有初始存储器区域。
例如,如果初始神经网络的初始参数集合包括具有32比特的初始存储器尺寸的至少一个权重和具有32比特的初始存储器尺寸的初始存储器区域,则经修改的神经网络的经修改的参数集合包括具有8或16比特的存储器尺寸的至少一个权重以及具有8或16比特的存储器尺寸的存储器区域。
根据另一可能性,经修改的神经网络的经修改的参数集合可以包括具有缩减的存储器尺寸的至少一个权重和具有其初始存储器尺寸的所有初始存储器区域。
换言之,在这种情况下,缩减至少一个权重的存储器尺寸已经是有利的,即,使得可以保持接近初始神经网络的性能,但只是在不缩减初始存储器区域的存储器尺寸的情况下。
根据一个实现模式,至少一个质量因子包括精度因子。
精度因子(例如,“均值平均精度”)是评估神经网络的度量。这使得可以获得针对每个类别计算的百分数的平均值。每个百分数对应于已正确预测的数据数量。
另一精度因子例如是“准确度”,它也是评估神经网络的度量。这需要正确分类的数量与执行分类的数量之比。存在几种变型,并且他们是本领域技术人员已知的。例如,可以针对给定类别来评估神经网络。
根据一个实现模式,至少一个质量因子包括噪声因子。
在神经网络的框架内,通过“噪声因子”,可以引用均方误差,这使得可以在神经网络的层的级别,对初始神经网络和经修改的神经网络的每一层的输出处的数据进行比较。另一变型是比较每一层输入处的数据。例如,可以通过使用在两个网络的输入处的随机数据的测试集合来测试两个神经网络,执行该比较。
根据另一变型,初始神经网络的每一层包括至少一个初始权重,至少一个初始权重属于初始参数集合,并且具有初始存储器尺寸。
分析包括:对层的至少一个权重的存储器尺寸进行第一缩减,以缩减到第一存储器尺寸;并且在比较质量因子后拒绝第一缩减的情况下,对层的至少一个初始权重的初始存储器尺寸进行第二缩减,以缩减到大于第一存储器尺寸的第二存储器尺寸;并且在比较之后拒绝第二缩减的情况下,保持层的至少一个权重的初始存储器尺寸。
初始神经网络的每一层包括具有初始存储器尺寸的初始存储器区域,初始存储器区域旨在存储输出数据,属于初始参数集合。
然后,分析还包括:对层的初始存储器区域的初始存储器尺寸进行第一缩减,以缩减到第一尺寸;并且在比较之后拒绝第一缩减的情况下,对层的初始存储器区域的初始存储器尺寸进行第二缩减,以缩减到第二尺寸;并且在比较之后拒绝第二缩减的情况下,保持初始存储器区域的初始存储器尺寸和层的至少一个初始权重的初始存储器尺寸。
这里,每一层仅执行第一缩减和第二缩减。
因此,经修改的神经网络可以例如包括仅针对单个层修改的参数集合。
根据又一变型,其中初始神经网络的每一层包括属于初始参数集合的至少一个初始权重和初始存储器区域,初始存储器区域旨在存储输出数据,至少一个权重具有等于初始存储器区域的初始存储器尺寸的初始存储器尺寸,分析包括:将层的至少一个初始权重的初始存储器尺寸缩减一半,并且在对质量因子进行比较后拒绝缩减的情况下,保持至少一个初始权重的初始存储器尺寸,并将初始存储器区域的初始存储器尺寸缩减一半,并且在比较质量因子之后拒绝缩减初始存储器区域的存储器尺寸的情况下,保持初始存储器区域的初始存储器尺寸。
根据又一变型,其中初始神经网络的每一层包括属于初始参数集合的至少一个初始权重和初始存储器区域,初始存储器区域旨在存储输出数据,至少一个权重具有大于初始存储器区域的初始存储器尺寸的初始存储器尺寸,分析包括:将至少一个初始权重的初始存储器尺寸缩减为初始存储器区域的初始存储器尺寸,并且在比较质量因子之后拒绝的情况下,保持至少一个权重的初始存储器尺寸。
根据又一变型,其中初始神经网络的每一层包括属于初始参数集合的至少一个初始权重和初始存储器区域,初始存储器区域旨在存储输出数据,至少一个初始权重具有小于初始存储器区域的初始存储器尺寸的初始存储器尺寸,分析包括:将初始存储器区域的初始存储器尺寸缩减到至少一个初始权重的初始存储器尺寸,并且在对质量因子进行比较之后拒绝缩减的情况下,保持初始存储器区域的初始存储器尺寸。
根据一个实现模式,至少一个质量因子包括精度因子。
根据一个实现模式,至少一个质量因子包括噪声因子。
根据一个实现模式,方法进一步包括:根据所寻求的技术改进来计算初始神经网络的每一层的得分,以及选择得分高于阈值的层。
缩减存储器区域的存储器尺寸和/或缩减层的权重的存储器尺寸可以潜在地导致所寻求的改进。
为了选择这些潜在的层,针对每个层计算得分。如果所计算的得分小于阈值(例如,0),这意味着在缩减其存储器区域的存储器尺寸和/或其权重的存储器尺寸后,该层不会导致所寻求的改进。在该层上进行缩减没有用。
还可以在层上执行缩减,但是该层相对于潜在层不具有优先权。
根据所获得的得分,对神经网络的层进行分类。
根据一个实现模式,初始神经网络的每个所选择的层包括具有初始存储器尺寸的至少一个初始权重和具有初始存储器尺寸的初始存储器区域,初始存储器区域旨在存储输出数据,分析包括:将所选择的层的初始存储器区域和/或至少一个权重的初始存储器尺寸缩减到所选择的尺寸,并且在比较之后拒绝缩减的情况下,保持至少一个初始权重和/或初始存储器区域的初始存储器尺寸,并且传递到所选择的下一层。
根据一个实现模式,所寻求的技术改进是存储器中的增益。
根据一个实现模式,系统的存储器组包括易失性存储器和非易失性存储器,易失性存储器旨在被分配给所选择的层的初始存储器区域,非易失性存储器旨在存储所选择的层的至少一个权重,并且根据加权因子,存储器中的增益包括易失性存储器中的增益、或非易失性存储器中的增益、或这两个存储器中的增益,非易失性存储器中的增益对应于缩减所选择的层的至少一个权重的初始存储器尺寸,易失性存储器中的增益对应于缩减所选择的层的初始存储器区域的初始存储器尺寸。
例如,如果在易失性存储器中寻求其增益,则缩减每个所选择的层的存储器区域的初始存储器尺寸将是有利的。
如果在非易失性存储器中寻求存储器中的增益,则缩减每一层的权重的初始存储器尺寸将是有利的。
如果将加权因子限定为例如0.5,则这赋予易失性存储器和非易失性存储器中的增益相同的重要性。
根据一个实现模式,所寻求的技术改进是处理持续时间中的增益。
“处理持续时间中的增益”是指计算单元级别的处理时间中的增益。
根据一个实现模式,至少一个质量因子包括精度因子。
根据一个实现模式,至少一个质量因子包括噪声因子。
根据另一方面,提出了包括计算单元的系统,计算单元例如为耦合到存储器组的处理器。计算单元包括分析单元,分析单元被配置为对限定初始多层神经网络的初始参数集合执行分析,初始多层神经网络旨在由系统来实现,尤其是为了获得技术改进(包括例如计算单元的处理持续时间和/或存储器尺寸增益中的至少一个改进)的目的,分析单元被配置为缩减或尝试缩减至少一个初始参数的初始存储器尺寸,以获得经修改的参数集合,经修改的参数集合限定相对于初始网络而言的经修改的神经网络。
在此上下文中,分析单元是具有电子组件(诸如晶体管)的电路或被编程为由计算单元执行的软件(或硬件和软件的组合)。
分析单元有利地被配置为基于满足或不满足标准,来决定对至少一个初始参数的初始存储器尺寸的缩减或尝试缩减。
根据一个实施例,计算单元还被配置为通过使用测试输入数据集合来实现初始神经网络和经修改的神经网络,并且分析单元被配置为:通过使用至少一个测试输入数据集合,制定针对初始神经网络的质量因子和针对经修改的神经网络的质量因子,在两个质量因子之间进行比较,并且关于满足或不满足所选择的标准,根据比较结果,递送关于缩减至少一个参数的初始存储器尺寸的接受或拒绝决定。
根据一个实施例,初始神经网络的每一层包括至少一个初始权重,至少一个初始权重属于初始参数集合,并且具有初始存储器尺寸,分析单元被配置为针对所有层,执行对至少一个初始权重的初始存储器尺寸的第一缩减,以缩减到第一存储器尺寸,并且在通过计算单元进行比较之后拒绝第一缩减的情况下,分析单元被配置为针对所有层,执行对至少一个权重的第二缩减,以缩减到第二存储器尺寸,第二存储器尺寸大于第一存储器尺寸,并且在计算单元进行比较之后拒绝第二缩减的情况下,分析单元被配置为保持初始神经网络的初始权重的初始存储器尺寸。
根据一个实施例,初始神经网络的每一层包括初始存储器区域,初始存储器区域旨在存储输出数据,属于初始参数集合,并具有初始存储器尺寸,分析单元被配置为:如果至少一个初始权重的初始存储器尺寸已被缩减,执行对所有初始存储器区域的初始存储器尺寸的第一缩减,以缩减到第一尺寸,并且在计算单元进行比较之后拒绝第一缩减的情况下,分析单元被配置为执行对所有初始存储器区域的初始存储器尺寸的第二缩减,以缩减至第二尺寸,并且在计算单元进行比较之后拒绝第二缩减的情况下,分析单元被配置为保持初始存储器区域的初始存储器尺寸。
根据一个实施例,第二尺寸可以是第一尺寸的两倍。
根据一个实施例,经修改的神经网络的经修改的参数集合包括具有缩减的存储器尺寸的至少一个权重和具有缩减的存储器尺寸的所有初始存储器区域。
根据一个实施例,经修改的神经网络的经修改的参数集合包括具有缩减的存储器尺寸的至少一个权重以及具有其初始存储器尺寸的所有初始存储器区域。
根据一个实施例,至少一个质量因子是精度。
根据一个实施例,至少一个质量因子是噪声。
根据一个实施例,初始神经网络的每一层包括至少一个初始权重,至少一个初始权重属于初始参数集合,并且具有初始存储器尺寸,分析单元被配置为执行第一缩减,以将层的至少一个权重的存储器尺寸缩减到第一存储器尺寸,并且在计算单元进行比较之后拒绝第一缩减的情况下,分析单元被配置为执行第二缩减,以将层的至少一个初始权重的初始存储器尺寸缩减到第二存储器尺寸,第二存储器尺寸大于第一存储器尺寸,并且在计算单元进行比较之后拒绝第二缩减的情况下,分析单元被配置为保持层的至少一个权重的初始存储器尺寸。
此外,初始神经网络的每一层包括初始存储器区域,初始存储器区域旨在存储输出数据,属于初始参数集合,并具有初始存储器尺寸,分析单元还被配置为执行第一缩减,以将层的初始存储器区域的初始存储器尺寸缩减到第一尺寸,并且在计算单元进行比较之后拒绝第一缩减的情况下,分析单元被配置为执行第二缩减,以将层的初始存储器区域的初始存储器尺寸缩减到第二尺寸,并且在计算单元比较之后拒绝第二缩减的情况下,分析单元被配置为保持初始存储器区域的初始存储器尺寸和层的至少一个初始权重的初始存储器尺寸。
根据一个实施例,初始神经网络的每一层包括属于初始参数集合的至少一个初始权重和初始存储器区域,初始存储器区域旨在存储输出数据,至少一个权重具有等于初始存储器区域的初始存储器尺寸的初始存储器尺寸,分析单元被配置为执行将层的至少一个初始权重的初始存储器尺寸缩减一半的缩减,并且在通过计算单元进行比较之后拒绝缩减的情况下,分析单元被配置为保持至少一个初始权重的初始存储器尺寸,并且执行将初始存储器区域的初始存储器尺寸缩减一半的缩减,并且在比较之后拒绝对初始存储器区域的初始存储器尺寸的缩减的情况下,分析单元被配置为保持初始存储器区域的初始存储器尺寸。
根据一个实施例,初始神经网络的每一层包括属于初始参数集合的至少一个初始权重和初始存储器区域,初始存储器区域旨在存储输出数据,至少一个权重的初始存储器尺寸大于初始存储器区域的初始存储器尺寸,分析单元被配置为执行缩减,以将至少一个初始权重的初始存储器尺寸缩减到初始存储器区域的初始存储器尺寸,并且在通过计算单元进行比较之后拒绝的情况下,分析单元被配置为保持至少一个权重的初始存储器尺寸。
根据一个实施例,初始神经网络的每一层包括属于初始参数集合的至少一个初始权重和初始存储器区域,初始存储器区域旨在存储输出数据,至少一个初始权重的初始存储器尺寸小于初始存储器区域的初始存储器尺寸,分析单元被配置为将初始存储器区域的初始存储器尺寸缩减到至少一个初始权重的初始存储器尺寸,并且在计算单元进行比较之后拒绝缩减的情况下,分析单元被配置为保持初始存储器区域的初始存储器尺寸。
根据一个实施例,分析单元被配置为从第一层到最后一层和/或从最后一层到第一层,对初始神经网络的层进行处理。
根据一个实施例,至少一个质量因子包括精度因子。
根据一个实施例,至少一个质量因子包括噪声因子。
根据一个实施例,计算单元被配置为根据所寻求的技术改进来计算初始神经网络的每一层的得分,并选择具有高于阈值的得分的层。
根据一个实施例,由分析单元选择的每一层包括具有初始存储器尺寸的至少一个权重、和旨在存储输出数据并具有初始存储器尺寸的初始存储器区域,分析单元被配置为执行缩减,以将所选择的层的初始存储器区域和/或至少一个权重的初始存储器尺寸缩减到所选择的尺寸,并且在计算单元进行比较之后拒绝缩减的情况下,分析单元被配置为保持至少一个初始权重和/或初始存储器区域的初始存储器尺寸,并传递到所选择的下一层。
根据一个实施例,所寻求的技术改进是在整个存储器组中的增益。
根据一个实施例,系统的存储器组包括易失性存储器和非易失性存储器,易失性存储器旨在被分配给所选择的层的初始存储器区域,非易失性存储器旨在存储所选择的层的至少一个权重,并且根据加权因子,存储器中的增益包括易失性存储器中的增益、或非易失性存储器中的增益、或这两个存储器中的增益,非易失性存储器中的增益对应于缩减由分析单元选择的层的至少一个权重的初始存储器尺寸,易失性存储器中的增益对应于缩减由分析单元选择的层的初始存储器区域的初始存储器尺寸。
根据一个实施例,所寻求的技术改进是处理时间中的增益。
根据一个实施例,至少一个质量因子包括精度因子。
根据一个实施例,至少一个质量因子包括噪声因子。
根据另一方面,还提出了包括诸如上文限定的系统的微控制器。
现在将参考附图。
在图1中,附图标记uc表示电子对象(例如,微控制器、代码生成器或可以包含硬件架构或嵌入式软件架构的任何其他对象)。
对象uc包括系统sys,系统sys例如为被配置为植入初始神经网络rn的模块,并且包括存储器组mem、计算单元(此处为处理器)proc和用户接口int。
存储器组mem耦合到处理器proc,并且包括非易失性存储器mnv(例如,rom存储器(“只读存储器”))。非易失性存储器被配置为存储神经网络rn的配置(例如,对其进行表征的各种层及其权重pw)。
存储器组mem还包括易失性存储器mv(例如,ram存储器(“随机存取存储器”))。易失性存储器mv被配置为存储初始存储器区域zm,初始存储器区域zm旨在包含初始神经网络rn的每一层的输出数据。
初始权重pw和存储器区域表示初始神经网络rn的初始参数集合。
存储器组mem还包括存储器mem3,存储器mem3被配置为存储与经修改的神经网络rnm的经修改的参数集合有关的数据。
一旦对经修改的神经网络rnm的配置的修改终止,则处理器proc被配置为存储经修改的神经网络rnm的经修改的参数集合。来代替初始神经网络rn的初始参数集合。
它包括存储器mem2(例如,非易失性存储器rom),存储器mem2被配置为存储测试输入数据集合dt。
测试输入数据集合被配置为通过计算质量因子,来评估初始神经网络rn的性能或经修改的神经网络rnm的性能。
处理器proc包括例如以软件形式体现的分析单元mt,分析单元mt被配置为对限定神经网络rn的初始参数集合进行分析,缩减神经网络rn的至少一个初始参数的初始存储器尺寸,并获得限定经修改的神经网络rnm的经修改的参数集合。
分析单元mt被配置为以获得技术改进为目的来执行缩减,技术改进例如为处理器proc的处理持续时间的改进和/或存储器组mem的存储器尺寸的增益。
就此而言,分析单元mt被配置为计算初始网络的质量因子和经修改的网络的质量因子,并对这两个质量因子进行比较。
拒绝或接受对初始网络的至少一个初始参数的存储器尺寸的缩减将取决于与满足或不满足标准有关的比较结果,该标准有利地由神经网络的用户来选择。
因此,如果例如两个质量因子在公差(例如,几个百分点)内相同,则认为满足标准,即,经修改的神经网络允许例如存储器增益,同时基本保持与初始神经网络相同的性能。
另一方面,如果两个质量因子未在公差内相同,则认为不满足标准,即,例如利用经修改的神经网络获得的存储器增益不可以获得与利用初始神经网络获得的性能相同的性能。
因此,还有利地由用户选择该公差,该公差干预对满足或不满足标准(由用户有利地选择)的确定。
处理器proc耦合到用户接口int,用户接口int被配置为允许用户选择标准,即,此处为将公差值递送给系统。
图2表示用于对限定神经网络rn的初始参数集合进行分析的算法。
在步骤s1中,处理器proc提取神经网络rn的初始参数集合(例如,所有层的权重pw)。
在步骤s2中,分析单元mt对神经网络rn的权重pw的初始存储器尺寸执行第一缩减。
例如,如果权重pw的初始存储器尺寸为32比特,则分析单元mt将初始尺寸缩减24比特。因此,权重pw各自具有8比特的新的第一存储器尺寸。通过修改神经网络的初始参数集合,从而对神经网络进行修改。
在步骤s3中,处理器proc通过使用测试输入数据集合dt来实现经修改的神经网络rnm,以制定质量因子(例如,精度(“均值平均精度”))。例如获得90%的精度。还可以制定另一质量因子(例如,本领域技术人员已知的“准确度”)。
在步骤s3中,处理器proc将所制定的质量因子与先前在初始神经网络rn的实现期间制定的另一质量因子(例如,95%)进行比较。因此,两个质量因子之间的差异为5%。
如果该差异位于用户经由接口int设定的公差内,则满足标准,并且算法传递到步骤s7,否则算法传递到步骤s4。
在步骤s4中,分析单元mt对权重pw的初始存储器尺寸执行第二缩减,以获得例如大于第一存储器尺寸的第二存储器尺寸(例如,16比特)。
在步骤s5中,处理器proc通过使用测试输入数据集合dt来实现经修改的神经网络,以制定例如精度的质量因子。例如获得92%的精度。
处理器proc将所制定的质量因子与先前在初始神经网络rn的实现期间制定的另一质量因子(例如,95%)进行比较。因此,存在3%的差异。
如果该差异位于用户经由接口int设定的公差(例如, /-3%)内,则满足标准,并且算法传递到步骤s7,否则处理器proc保持权重pw的初始存储器尺寸,并因此保持初始神经网络rn。
在步骤s7中,在权重pw缩减之后,分析单元mt对旨在存储神经网络rn的每一层的输出数据的存储器区域zm的存储器尺寸执行第一缩减。
例如,如果初始存储器区域zm的初始存储器尺寸为32比特,则分析单元mt将初始尺寸缩减24比特。因此,初始存储器区域zm各自具有8比特的新的第一存储器尺寸。通过修改神经网络rn的初始参数集合,神经网络因此被修改。
在步骤s8中,处理器proc通过使用测试输入数据集合dt来实现经修改的神经网络rnm,以制定质量因子(例如,精度)。例如获得90%的精度。
在步骤s8中,处理器proc将所制定的质量因子与先前在初始神经网络rn的实现期间制定的另一质量因子(例如,95%)进行比较。因此,存在5%的差异。
如果该差异位于用户经由接口int设定的公差内,则满足标准,并且处理器proc在步骤s13中用经修改的神经网络rnm替换神经网络rn,在经修改的神经网络rnm中,其权重pw的组和存储器区域zm的组具有它们的经修改的初始尺寸。否则,我们传递到步骤s9。
在步骤s9中,分析单元mt对初始存储器区域zm的初始存储器尺寸执行第二缩减,以获得例如大于第一存储器尺寸(8比特)的16比特的第二存储器尺寸。
在步骤s10中,处理器proc通过使用测试输入数据集合dt来实现经修改的神经网络,以制定质量因子(例如,精度)。例如获得92%的精度。
处理器proc将所制定的质量因子与先前在实现初始神经网络rn期间制定的另一质量因子(例如,95%)进行比较。因此,存在3%的差异。
如果该差异位于用户经由接口int设定的公差内(例如, /-3%),则满足标准,并且处理器proc在步骤s12中用新的经修改的参数集合替换初始参数集合。
否则,在步骤s11中,处理器proc保持初始存储器区域zm的初始存储器尺寸,并用尺寸缩减的新权重替换初始权重pw。
图3a表示用于对限定神经网络rn的初始参数集合进行分析的算法的备选方案。
在步骤s20中,处理器proc提取初始神经元网络rn的层。
在步骤s21中,处理器proc将变量i初始化为0,变量i表示层号。
在步骤s22中,分析单元mt对初始神经网络rn的第一层(i=0)的权重pw的初始存储器尺寸执行第一缩减,以获得例如8比特的第一存储器尺寸。
在步骤s23中,处理器proc使用测试输入数据集合dt来实现经修改的神经网络rnm,并制定质量因子(例如,80%的精度)。
此后,处理器proc将质量因子与先前在实现初始神经网络rn期间制定的另一质量因子(例如,95%的精度)进行比较。因此,存在15%的差异。
如果该差异位于用户经由接口int设定的公差(例如, /-15%)内,则满足标准,并且处理器proc传递到步骤s20,否则传递到步骤s24。
在步骤s24中,分析单元mt缩减层i的权重的初始尺寸,以获得大于第一存储器尺寸的第二存储器尺寸(例如,16比特)。因此,第二存储器尺寸在这里表示第一存储器尺寸的两倍。
在步骤s25中,处理器proc实现经修改的神经网络rnm,以制定质量因子(例如,90%的精度)。因此,存在5%的差异。
如果该差异位于用户经由接口int设定的公差(例如, /-6%)内,则满足标准,并且处理器proc传递到步骤s20,否则分析单元mt保持层i的权重pw的初始存储器尺寸,并在步骤s32中,通过递增i的值,传递到下一层。如果在步骤s33中,变量i的值大于表示最大层数的变量max,这意味着处理器proc已经遍历了所有层(s34)。
在步骤s20中,分析单元mt将旨在存储层i的输出数据的存储器区域zm的尺寸缩减至第一尺寸(例如,8比特)。
在步骤s28中,处理器proc实现经修改的神经网络rnm,以制定质量因子(例如,精度),并将该质量因子与先前在初始神经网络rn的实现期间制定的质量因子进行比较。
如果两个质量因子之间的差异位于用户经由接口int设定的公差内,则满足标准,并且处理器proc传递到步骤s32,否则传递到步骤s29。
在步骤s29中,分析单元mt缩减初始存储器区域zm的初始存储器尺寸,以获得例如16比特的第二存储器尺寸。第二存储器尺寸表示第一存储器尺寸的两倍。
在步骤s30中,处理器proc实现经修改的神经网络rnm,以制定例如精度的质量因子。
如果两个质量因子之间的差异位于用户经由接口设定的公差余裕内,则满足标准,并且处理器proc传递到步骤s32,否则分析单元mt在步骤s31中保持初始存储器区域zm的初始存储器尺寸和权重pw的初始存储器尺寸,并在步骤s32中,通过递增i的值,传递到下一层。
图3b表示用于对限定神经网络rn的初始参数集合进行分析的算法的备选方案。
在步骤s50中,处理器proc提取初始神经网络rn的层。
在步骤s51中,处理器proc将变量i初始化为0,变量i表示层号。
这里,层i的权重的初始存储器尺寸和层i的存储器区域的初始存储器尺寸相等(例如,16比特)。
在步骤s52中,分析单元mt对初始神经网络rn的第一层(i=0)的权重pw的初始存储器尺寸执行缩减,以获得例如8比特的存储器尺寸。
在步骤s53中,处理器proc实现经修改的神经网络rnm,以制定质量因子(例如,精度),并将其与先前通过实现初始神经网络rn制定的质量因子进行比较。
如果两个质量因子之间的差异位于用户经由接口int设定的公差内,则满足标准,并且处理器proc传递到步骤s55,否则分析单元mt在步骤s54中保持层i的权重pw的初始存储器尺寸,并传递到步骤s55。
在步骤s55中,分析单元mt对初始神经网络rn的第一层i的初始存储器区域zm的初始存储器尺寸执行缩减,以获得例如8比特的第一存储器尺寸。
在步骤s56中,处理器proc实现经修改的神经网络rnm,以制定例如精度的质量因子,并将其与先前通过实现初始神经网络rn而制定的质量因子进行比较。
如果两个质量因子之间的差异位于用户经由接口int设定的公差余裕内,则满足标准,并且处理器proc传递到步骤s58,否则分析单元mt在步骤s57中保持层i的初始存储器区域zm的初始存储器尺寸,并传递到步骤s58。
在步骤s58中,将变量i递增1,以传递到下一层,并且如果在步骤s59中,i的值大于表示最大层数的变量max的值,则处理器proc传递到标记算法结束的步骤s60,否则传递到步骤s52。
图3c表示用于对限定神经网络rn的初始参数集合进行分析的算法的另一备选方案。
在步骤s70中,处理器proc提取初始神经元网络rn的层。
在步骤s71中,处理器proc将变量i初始化为0,变量i表示层号。
这里,层i的权重的初始存储器尺寸大于同一层i的存储器区域zm的初始存储器尺寸。
在步骤s72中,分析单元mt对初始神经网络rn的第一层i的权重pw的初始存储器尺寸执行缩减,以获得例如等于初始存储器区域zm的初始存储器尺寸的8比特的存储器尺寸。
在步骤s73中,处理器proc实现经修改的神经网络rnm,以制定例如精度的质量因子,并将其与先前通过实现初始神经网络rn而制定的质量因子进行比较。
如果两个质量因子之间的差异位于用户经由接口设定的公差内,则满足标准,并且处理器proc传递到步骤s75,否则分析单元mt在步骤s74中保持层i的权重pw的初始存储器尺寸,然后传递到步骤s75。
在步骤s75中,处理器proc将i的值递增1,以传递到下一层,并且如果在步骤s76中,变量i的值大于上面限定的变量max的值,则处理器proc在步骤s77中终止算法。否则,针对下一层,从步骤s72重复算法的各种步骤。
图3d表示用于对限定神经网络rn的初始参数集合进行分析的算法的另一备选方案。
在步骤s80中,处理器proc提取初始神经元网络rn的层。
处理器proc在步骤s81中将变量i初始化为0,变量i表示层号。
这里,层i的权重的初始存储器尺寸小于同一层i的存储器区域zm的初始存储器尺寸。
在步骤s82中,分析单元mt对初始神经网络rn的第一层i的存储器区域zm的初始存储器尺寸执行缩减,以获得例如等于层i的权重pw的初始存储器尺寸的8比特的存储器尺寸。
在步骤s83中,处理器proc实现经修改的神经网络rnm,以制定质量因子(例如,精度),并将其与先前通过实现初始神经网络rn而制定的质量因子进行比较。
如果两个质量因子之间的差异位于用户经由接口int设定的公差内,则满足标准,并且处理器proc传递到步骤s85,否则分析单元mt在步骤s84中保持层i的初始存储器区域zm的初始存储器尺寸,然后传递到步骤s85。
在步骤s85中,处理器proc将i的值递增1,以传递到下一层,并且如果在步骤s86中,变量i的值大于上面限定的变量max的值,则处理器proc在步骤s87中终止算法。否则,针对下一层,从步骤s82重复算法的各种步骤。
应当注意,处理器proc可以从第一层到最后一层和/或从最后一层到第一层,来处理图3a至图3c所呈现的算法的层。
图4a表示用于对限定神经网络rn的初始参数集合进行分析的算法的另一备选方案。
在步骤s40中,处理器proc提取初始神经元网络rn的所有层。根据用户在用户接口int中建议的一个或多个标准,分析单元mt对层进行分类。
例如,如果用户希望得到易失性存储器mv中的增益,则缩减潜在层的存储器区域zm的初始存储器尺寸将是有利的。
如果用户希望得到非易失性存储器mnv中的增益,则缩减潜在层的权重pw的初始存储器尺寸将是有利的。
如果用户对易失性存储器和非易失性存储器中的增益赋予相同的重要性,则用户还可以在用户接口int中建议例如0.5的加权因子。
因此,如果用户选择处理器proc的处理时间的增益作为所寻求的技术改进,则缩减每个层的权重pw的初始存储器尺寸和/或缩减每个层的存储器区域zm的初始存储器尺寸是有利的。
根据所选择的技术改进的类型,分析单元mt对潜在层(候选者)进行排名。在图4b中解释了示例性排名。
处理器proc在步骤s41中将变量i初始化为0,变量i表示潜在层的层号。
在步骤s42中,根据用户选择的一个或多个增益类型(技术改进的类型),分析单元mt将潜在层的权重pw的初始存储器尺寸和/或存储器区域zm的初始存储器尺寸缩减到例如8比特。
在步骤s43中,处理器proc实现经修改的神经网络rnm,并制定质量因子(例如,精度),并将其与先前在初始神经网络rn的实现期间制定的质量因子进行比较。
如果该差异不位于用户经由接口int设定的公差内,则不满足标准,并且分析单元mt在步骤s44中保持潜在层i的权重的初始存储器尺寸和/或潜在层i的存储器区域zm的初始存储器尺寸。此后,处理器proc传递到步骤s45。如果不是,则处理器proc直接从步骤s43传递到步骤s45。
在步骤s46中,处理器proc将i的值递增1,以传递到下一潜在层。
如果在步骤s46中变量i的值大于变量max的值,这意味着处理器proc已分析并处理了所有潜在层,因此在步骤s47中终止算法。
如果否,则处理器proc传递到对下一潜在层的初始参数集合的分析,并从步骤s42重复算法的步骤。
图4b表示描述变量bt根据另一变量lo(作为百分数)演化的图。
变量lo表示根据层的类型计算的性能损失的百分数。
通过尝试缩减层的权重pw的初始存储器尺寸和/或存储器区域zm的初始存储器尺寸,以及通过利用测试数据集合来实现经修改的神经网络rnm,确定百分数lo。
变量bt的值有助于计算与每个层相关联的得分。得分使得可以选择导致存储器增益或处理时间增益的潜在层。潜在层将根据所计算的得分进行排名。
在用户选择存储器增益的情况下,为了计算每个层的得分,可以使用以下公式:
得分=btx(alph×ramg (1-alph)xromg)
变量alph对应于加权因子。
变量ramg对应于易失性存储器中以字节表示的增益。
变量romg对应于非易失性存储器中以字节表示的增益。
对于每一层,如果所计算的百分数lo小于0,这意味着缩减层的存储器区域zm和/或权重的初始存储器尺寸导致存储器增益,并潜在地导致性能增益。在这种情况下,变量bt等于1。
如果所计算的百分数lo大于0,这等效于性能损失。但是,如果百分数lo还大于用户指定的公差(在此示例中为2%),这意味着不满足标准。在这种情况下,变量bt等于0,因此得分将为0。
如果所计算的百分数lo大于0且小于用户指定的公差,则变量bt将根据以下公式作为变量lo的函数线性减小:
bt=1–(lo/mg)
得分按降序排名,并且未选择得分等于0的层。
可以使用本领域技术人员已知的、使得例如可以指数地减小变量bt的其他数学公式。
在用户选择处理时间增益的情况下,为了计算每个层的得分,可以使用以下公式:
得分=btxcyg
变量cyg对应于处理时间增益。
对于每一层,如果所计算的百分数lo小于0,这意味着缩减层的存储器区域zm和/或权重的初始存储器尺寸潜在地导致性能增益。在这种情况下,变量bt等于1。
如果所计算的百分数lo大于0,这等效于性能损失。但是,如果百分数lo还大于用户指定的公差,这意味着不满足标准。在这种情况下,变量bt等于0,因此得分将为0。
如果所计算的百分数lo大于0且小于用户指定的公差,则变量bt根据以下公式作为变量lo的函数线性减小:
bt=1–(lo/mg)
分数按降序排名,并且未选择得分等于0的层。
此外,本发明不限于这些实施例和实现模式,而是包括其所有变型,例如,只要满足用户限定的标准,存储器区域的存储器尺寸或权重的存储器尺寸可以尽可能地缩减很多倍。
1.一种与神经网络一起使用的方法,所述神经网络由具有耦合到存储器的组的计算单元的系统来实现,所述方法包括:
对限定多层的初始神经网络的初始参数集合进行分析,所述分析包括尝试缩减初始参数的初始存储器尺寸,以获得经修改的参数集合,所述经修改的参数集合限定相对于所述初始神经网络而言的经修改的神经网络。
2.根据权利要求1所述的方法,进一步包括:
由所述系统通过使用测试输入数据集合来实现所述初始神经网络和所述经修改的神经网络;
通过使用所述测试输入数据集合,制定针对所述初始神经网络的第一质量因子和针对所述经修改的神经网络的第二质量因子;
将所述第一质量因子和所述第二质量因子进行比较;以及
关于满足或不满足所选择的标准,基于所述比较,接受或拒绝对所述初始参数的所述初始存储器尺寸的所述缩减。
3.根据权利要求2所述的方法,其中所述初始神经网络的每一层包括初始权重,所述初始权重属于所述初始参数集合,并且具有初始存储器尺寸,所述分析包括:
针对所有的所述层,对所述初始权重的所述初始存储器尺寸进行第一缩减,以缩减为第一存储器尺寸;
当基于所述比较拒绝所述缩减时,针对所有的所述层,执行对所述初始权重的第二缩减,以缩减至第二存储器尺寸,所述第二存储器尺寸大于所述第一存储器尺寸;以及
当基于所述比较接受所述缩减时,保持(s6)所述初始神经网络的所述初始权重的所述初始存储器尺寸。
4.根据权利要求3所述的方法,其中所述初始神经网络的每一层包括初始存储器区域,所述初始存储器区域旨在存储输出数据,属于所述初始参数集合,并且具有初始存储器尺寸,所述方法包括:
当基于所述比较接受所述缩减时,将所有的所述初始存储器区域的所述初始存储器尺寸缩减到所述第一存储器尺寸;以及
当基于所述比较拒绝所述缩减时,执行对所有的所述初始存储器区域的所述初始存储器尺寸的所述第二缩减,以缩减到所述第二存储器尺寸,利用所述第二存储器尺寸重复所述制定步骤和所述比较步骤,如果所述第二缩减被拒绝,则保持所述初始神经网络的所述初始存储器区域的所述初始存储器尺寸。
5.根据权利要求3所述的方法,其中所述第二存储器尺寸是所述第一存储器尺寸的两倍。
6.根据权利要求3所述的方法,其中在完成所述分析时,所述经修改的神经网络的所述经修改的参数集合包括具有缩减的存储器尺寸的权重和具有缩减的存储器尺寸的所有初始存储器区域。
7.根据权利要求3所述的方法,其中所述经修改的神经网络的所述经修改的参数集合包括具有缩减的存储器尺寸的权重和具有其初始存储器尺寸的所有初始存储器区域。
8.根据权利要求2所述的方法,其中所述质量因子包括精度因子。
9.根据权利要求2所述的方法,其中所述质量因子包括噪声因子。
10.根据权利要求2所述的方法,其中所述初始神经网络的每一层包括初始权重,所述初始权重属于所述初始参数集合,并且具有初始存储器尺寸,并且所述初始神经网络的每一层包括初始存储器区域,所述初始存储器区域具有初始存储器尺寸,旨在存储输出数据,属于所述初始参数集合,所述分析包括:
执行对所述层的所述初始权重的所述初始存储器尺寸的第一缩减,以缩减到第一存储器尺寸;
当基于比较拒绝对所述初始权重的所述初始存储器尺寸的所述第一缩减时,执行对所述层的所述初始权重的所述初始存储器尺寸的第二缩减,以缩减到大于所述第一存储器尺寸的第二存储器尺寸;
当在第二比较之后拒绝对所述初始权重的所述初始存储器尺寸的所述第二缩减时,保持所述层的所述初始权重的所述初始存储器尺寸;
执行对所述层的所述初始存储器区域的所述初始存储器尺寸的第一缩减,以缩减到所述第一存储器尺寸;
当在比较之后拒绝对所述初始存储器区域的所述初始存储器尺寸的所述第一缩减时,执行对所述层的所述初始存储器区域的所述初始存储器尺寸的第二缩减,以缩减到所述第二存储器尺寸;
当在第二比较之后拒绝对所述初始存储器区域的所述初始存储器尺寸的所述第二缩减时,保持所述层的所述初始存储器区域的所述初始存储器尺寸和所述初始权重的所述初始存储器尺寸。
11.根据权利要求2所述的方法,其中所述初始神经网络的每一层包括属于所述初始参数集合的初始权重和初始存储器区域,所述初始存储器区域旨在存储输出数据,所述初始权重具有与所述初始存储器区域的所述初始存储器尺寸相等的初始存储器尺寸,所述分析包括:
将所述层的所述初始权重的所述初始存储器尺寸缩减一半;
当在所述质量因子的所述比较之后拒绝所述缩减时,保持所述初始权重的所述初始存储器尺寸,并且将所述初始存储器区域的所述初始存储器尺寸缩减一半,并且,在质量因子的比较之后拒绝对所述初始存储器区域的存储器尺寸的所述缩减时,保持所述初始存储器区域的所述初始存储器尺寸。
12.根据权利要求2所述的方法,其中所述初始神经网络的每一层包括属于所述初始参数集合的初始权重和初始存储器区域,所述初始存储器区域旨在存储输出数据,所述初始权重具有大于所述初始存储器区域的所述初始存储器尺寸的初始存储器尺寸,所述分析包括将所述初始权重的所述初始存储器尺寸缩减为所述初始存储器区域的所述初始存储器尺寸,并且当在所述质量因子的所述比较之后拒绝所述缩减时,保持所述初始权重的所述初始存储器尺寸。
13.根据权利要求2所述的方法,其中所述初始神经网络的每一层包括属于所述初始参数集合的初始权重和初始存储器区域,所述初始存储器区域旨在存储输出数据,所述初始权重具有小于所述初始存储器区域的所述初始存储器尺寸的初始存储器尺寸,所述分析包括将所述初始存储器区域的所述初始存储器尺寸缩减为所述初始权重的所述初始存储器尺寸,并且当在所述质量因子的所述比较之后拒绝所述缩减时,保持所述初始存储器区域的所述初始存储器尺寸。
14.根据权利要求2所述的方法,进一步包括:根据所寻求的技术改进来计算所述初始神经网络的每一层的得分,并且选择得分高于阈值的所述层。
15.根据权利要求14所述的方法,其中所寻求的所述技术改进是存储器中的增益。
16.根据权利要求15所述的方法,其中所述系统的所述存储器的组包括易失性存储器和非易失性存储器,所述易失性存储器旨在被分配给选择的所述层的所述初始存储器区域,所述非易失性存储器旨在存储选择的所述层的所述权重,并且根据加权因子,所述存储器中的增益包括易失性存储器中的增益、或非易失性存储器中的增益、或易失性存储器和非易失性存储器两者中的增益,所述非易失性存储器中的增益对应于选择的所述层的所述权重的所述初始存储器尺寸的缩减,所述易失性存储器中的增益对应于选择的所述层的所述初始存储器区域的所述初始存储器尺寸的缩减。
17.根据权利要求14所述的方法,其中所寻求的所述技术改进是处理持续时间中的增益。
18.一种系统,包括:
存储器的组;
耦合到所述存储器的计算单元,所述计算单元包括分析单元,所述分析单元被配置为对初始参数集合执行分析,所述初始参数集合限定旨在由所述系统(sys)实现的多层的初始神经网络,所述分析单元被配置为尝试缩减初始参数的初始存储器尺寸,以获得经修改的参数集合,所述经修改的参数集合限定相对于所述初始神经网络而言的经修改的神经网络,其中所述计算单元进一步被配置为:
通过使用测试输入数据集合来实现所述初始神经网络和所述经修改的神经网络;
通过使用所述测试输入数据集合,制定针对所述初始神经网络的质量因子和针对所述经修改的神经网络的质量因子;
在针对所述初始神经网络的所述质量因子和针对所述经修改的神经网络的所述质量因子之间执行比较;以及
关于满足或不满足所选择的标准,根据所述比较的结果,递送关于缩减所述参数的所述初始存储器尺寸的接受或拒绝决定。
19.根据权利要求18所述的系统,其中所述初始神经网络的每一层包括初始权重,所述初始权重属于所述初始参数集合,并且具有初始存储器尺寸,所述分析单元被配置为针对所有的所述层,执行对所述初始权重的所述初始存储器尺寸的第一缩减,以缩减到第一存储器尺寸,并且在所述比较之后拒绝所述第一缩减的情况下,所述分析单元被配置为针对所有的所述层,执行对所述初始权重的第二缩减,以缩减到第二存储器尺寸,所述第二存储器尺寸大于所述第一存储器尺寸,并且在拒绝所述第二缩减的情况下,所述分析单元被配置为保持所述初始神经网络的所述初始权重的所述初始存储器尺寸。
20.根据权利要求18所述的系统,其中所述初始神经网络的每一层包括初始存储器区域,所述初始存储器区域旨在存储输出数据,属于所述初始参数集合,并且具有初始存储器尺寸,所述分析单元被配置为:如果所述初始权重的所述初始存储器尺寸已经被缩减,则执行对所有的所述初始存储器区域的所述初始存储器尺寸的第一缩减,以缩减到所述第一存储器尺寸,并且在由所述计算单元进行比较之后拒绝所述第一缩减的情况下,所述分析单元被配置为执行对所有的所述初始存储器区域的所述初始存储器尺寸的第二缩减,以缩减到所述第二存储器尺寸,并且在由所述计算单元进行第二比较之后拒绝所述第二缩减的情况下,所述分析单元被配置为保持所述初始存储器区域的所述初始存储器尺寸。
21.根据权利要求19所述的系统,其中所述第二存储器尺寸是所述第一存储器尺寸的两倍。
22.根据权利要求19所述的系统,其中所述经修改的神经网络的所述经修改的参数集合包括具有缩减的存储器尺寸的权重和具有缩减的存储器尺寸的所有的所述初始存储器区域。
23.根据权利要求19所述的系统,其中所述经修改的神经网络的所述经修改的参数集合包括具有缩减的存储器尺寸的权重和具有其初始存储器尺寸的所有的所述初始存储器区域。
24.根据权利要求18所述的系统,其中所述初始神经网络的每一层包括属于所述初始参数集合的初始权重和初始存储器区域,所述初始存储器区域旨在存储输出数据,所述初始权重具有等于所述初始存储器区域的所述初始存储器尺寸的初始存储器尺寸,所述分析单元被配置为执行将所述层的所述初始权重的所述初始存储器尺寸缩减一半的缩减,并且在由所述计算单元进行所述比较之后拒绝所述缩减的情况下,所述分析单元被配置为保持所述初始权重的所述初始存储器尺寸,并且执行将所述初始存储器区域的所述初始存储器尺寸缩减一半的缩减,并且在所述比较之后拒绝对所述初始存储器区域的所述初始存储器尺寸的所述缩减的情况下,所述分析单元被配置为保持所述初始存储器区域的所述初始存储器尺寸。
25.根据权利要求18所述的系统,其中所述初始神经网络的每一层包括属于所述初始参数集合的初始权重和初始存储器区域,所述初始存储器区域旨在存储输出数据,所述初始权重具有大于所述初始存储器区域的所述初始存储器尺寸的初始存储器尺寸,所述分析单元被配置为执行对所述初始权重的所述初始存储器尺寸的缩减,以缩减为所述初始存储器区域的所述初始存储器尺寸,并且在由所述比较单元进行比较之后拒绝的情况下,所述分析单元被配置为保持至少一个所述初始权重的所述初始存储器尺寸。
26.根据权利要求18所述的系统,其中所述初始神经网络的每一层包括属于所述初始参数集合的初始权重和初始存储器区域,所述初始存储器区域旨在存储输出数据,所述初始权重具有小于所述初始存储器区域的所述初始存储器尺寸的初始存储器尺寸,所述分析单元被配置为将所述初始存储器区域的所述初始存储器尺寸缩减为至少一个所述初始权重的所述初始存储器尺寸,并且在通过所述比较单元进行比较之后拒绝所述缩减时,所述分析单元被配置为保持所述初始存储器区域的所述初始存储器尺寸。
27.根据权利要求18所述的系统,其中所述分析单元被配置为从第一层到最后一层或者从所述最后一层到所述第一层,对所述初始神经网络的所述层进行处理。
28.根据权利要求18所述的系统,其中所述质量因子包括精度因子。
29.根据权利要求18所述的系统,其中所述质量因子包括噪声因子。
30.根据权利要求18所述的系统,其中所述计算单元被配置为根据所述标准计算所述初始神经网络的每一层的得分,并且选择得分高于阈值的所述层。
31.根据权利要求30所述的系统,其中由所述分析单元选择的每一层包括具有初始存储器尺寸的初始权重和具有初始存储器尺寸的初始存储器区域,所述初始存储器区域旨在存储输出数据,所述分析单元被配置为执行对选择的所述层的所述初始存储器区域和/或所述初始权重的所述初始存储器尺寸的缩减,以缩减到选择尺寸,并且在由所述计算单元进行所述比较之后拒绝所述缩减的情况下,所述分析单元被配置为保持所述初始权重和/或所述初始存储器区域的所述初始存储器尺寸,并且传递到选择的下一层。
32.根据权利要求18所述的系统,其中所述系统的所述存储器的组包括易失性存储器和非易失性存储器,所述易失性存储器旨在被分配给选择的所述层的所述初始存储器区域,所述非易失性存储器旨在存储选择的所述层的权重,并且根据加权因子,存储器中的增益包括易失性存储器中的增益、或非易失性存储器中的增益、或易失性存储器和非易失性存储器两者中的增益,所述非易失性存储器中的增益对应于由所述分析单元选择的所述层的至少一个所述权重的所述初始存储器尺寸的缩减,所述易失性存储器中的增益对应于由所述分析单元选择的所述层的所述初始存储器区域的所述初始存储器尺寸的缩减。
技术总结