一种残膜回收机防缠绕挑膜装置的制 一种秧草收获机用电力驱动行走机构

对可训练模块的快速量化训练的制作方法

2022-04-27 09:40:45 来源:中国专利 TAG:


1.本发明涉及对可训练模块的训练,特别是用于在车辆的控制设备中或者在其它嵌入式系统中使用。


背景技术:

2.对于很多难以或者完全无法在数学上封闭建模的要求苛刻的分类和控制任务来说,使用可训练模块,这些可训练模块例如包含神经网络。人工神经网络knn是通常包含多个具有神经元的层的处理链。每个神经元都将多个具有权重的输入参量组成激活。在一个层中形成的激活或从中通过进一步处理来确定的结果分别被输送给下一个邻接的层,直至knn完全被遍历并且形成一个或多个输出参量为止。即,knn根据内部处理链将输入参量的值映射到输出参量的值。
3.权重、激活以及从中确定的结果通常是浮点数(英文“float”)。为了能够高效执行大量在对knn的训练时并且在稍后使用knn时所需的浮点运算,通常使用图形处理器gpu。在此,通常需要比在桌面gpu中按标准安装的情况更多的gpu工作存储器。
4.wo 2018/158043 a1公开了一种用于对在knn中的数值进行编码的方法,其中最高值位专门被保留用于对值零的编码。以这种方式可以特别快地检查该值是否为零。


技术实现要素:

5.在本发明的范围内,开发出了一种用于对可训练模块进行训练的方法。可训练模块通过内部处理链将一个或多个输入参量映射到一个或多个输出参量。内部处理链通过一组参数来被表征。
6.可训练模块尤其被视为如下模块,该模块体现在理想情况下花费大力气来一般化的利用可适配的参数予以参数化的函数。这些参数可以在对可训练模块进行训练时尤其被适配为使得在将学习输入参量输入到该模块中的情况下尽可能好地再现所属的学习输出参量的值。
7.在此,内部处理链尤其例如可以包括人工神经网络knn或者也可以是knn。接着,这些参数可包括权重,神经元利用这些权重分别将多个输入参量组合成激活。
8.在该方法中,提供至少一个学习数据记录,该学习数据记录包括输入参量的学习值和输出参量的相关的学习值。通常,在训练过程中,提供多个学习数据记录,这些学习数据记录采集了在输入侧呈现的情况的多种变体,可训练模块旨在处理这些变体。
9.提供离散值列表,在训练期间应该从这些离散值中选择表征内部处理链的参数。这些离散值被选择为使得这些离散值可以利用预先给定的n个位在没有质量损失的情况下被存储为定点数。
10.模型参数的离散化通常导致knn的存储花费减少。如果这些离散值还可以无损失地被表达为定点数,则可以在定点硬件上实现高效的实现。这种定点硬件明显比用于浮点计算的硬件更便宜、能效更高并且更节省空间。
11.现在,对离散值的期望规定从一开始就被集成到可训练模块的训练中。这意味着:该训练现在同样不仅考虑输入参量的学习值应该尽可能好地被映射到输出参量的学习值的需求,而且也考虑参数只应取离散值的需求。
12.为了该目的,在学习数据记录中所包含的输入参量的学习值通过可训练模块被映射到输出参量的评价值。现在,评估预先给定的成本函数,该成本函数不仅表征输出参量的评价值与在学习数据记录中所包含的输出参量的学习值的偏差而且表征内部处理链的至少一个参数与该列表中的至少一个离散值的偏差。内部处理链的至少一个参数被适配,目的在于改善成本函数的值。在对参数的至少一次适配的情况下,参数的值范围和/或成本函数的梯度的值范围在使用离散值的情况下被限制。
13.成本函数例如可以是总和。在该总和中,第一个加数可以表征输出参量的评价值与在学习数据记录中所包含的输出参量的学习值的偏差。第二个加数可包括至少一个惩罚参量,该惩罚参量表征内部处理链的至少一个参数与在该列表中的至少一个离散值的偏差。可选地,该总和也可以被加权。尤其可以针对每个层都单独进行加权。这样,例如可以使用与正好该层的参数数目成反比的权重。
14.对内部处理链的至少一个参数的适配尤其可以旨在对成本函数的值进行优化、比如最小化。接着,该优化代表了不仅关于在学习数据记录中所包含的知识的最优再现方面而且关于遵守参数的所希望的离散化方面的同时改善。
15.对于该优化来说,例如可以使用梯度下降方法或任意其它优化方法,该方法依据成本函数的值来提出一个或多个参数的改变,这些改变在训练的接下来的过程中预期改善成本函数的值。在该上下文中,“预期”意味着:不是在每个训练步骤中都一定必须发生成本函数的值的改善。在训练过程中也完全可能存在“失误”,这些“失误”反而会恶化成本函数的值。优化方法从这些“失误”中学习,使得最初的恶化最终被转变成改善。
16.n个位将可能的离散值的数目规定为最大2n。在发明人的实验中,在2与7之间、优选地在2与5之间并且十分特别优选地在2与3之间的n的值已经被证明为有利。在此,刚刚提到的最窄范围恰恰是违反直觉的,原因在于初步印象是该离散化也在由可训练模块整体提供的输出参量中传播并且这些输出参量因此明显变粗糙。然而,在实际应用中情况不是如此,原因在于可训练模块由于多个现有的参数而仍然完全能够以差异化的方式映射以学习数据记录为形式的知识。
17.在n=2的情况下,还可有利的是:选择对称量化或离散化,即将离散值的数目缩小到2
n-1=3。接着,可以缩放到{-1, 0, 1}。因此,只还需要加法来计算激活。由于缩放是二的幂(2-f
),所以小数点然后只须被移动相应的缩放因子f。总而言之,因此不再需要浮点运算,而是只还需要“有利的”加法和按位的移动。
18.n个位可以被用作调节螺钉,以便使对用于可训练模块的同一基本架构的训练与各种应用适配。如果基本架构保持不变,则这引起:可以将各种应用的实现在具有高份额同类件的硬件上进行,这进而简化了制造并且使制造更便宜。
19.离散值列表可来自任意来源。该列表例如可以依据关于应在其中运行可训练模块的应用的先验知识来被规定。然而,也存在如下可能性:如果这种先验知识有缺陷或不存在,则完全或部分地自动规定离散值列表。
20.在一个特别有利的设计方案中,依据在对可训练模块的预训练时所获得的内部处
理链的参数的值来确定离散值列表。该预训练尤其可以在针对参数使用浮点数的情况下来被执行,即不对参数可取的值进行量化或其它限制。
21.在该预训练的情况下,在至少一个学习数据记录中所包含的输入参量的学习值通过可训练模块来被映射到输出参量的评价值。评估预先给定的预训练成本函数,该预训练成本函数表征输出参量的评价值与在学习数据记录中所包含的输出参量的学习值的偏差。内部处理链的至少一个参数被适配,目的在于改善、尤其是优化预训练成本函数的值。
22.在此,预训练成本函数尤其例如可以以与之前描述的预先给定的成本函数相同的方式来表征输出参量的评价值与在学习数据记录中所包含的输出参量的学习值的偏差。即,在之前提到的其中该预先给定的成本函数是总和的示例中,表征输出参量的评价值与在学习数据记录中所包含的输出参量的学习值的偏差的加数例如可以不变地被采用作为预训练成本函数。
23.然而,这不是强制必需的,原因在于在预训练的框架内应该获得关于参数所处的值范围方面的仅仅一个粗略的参考点。例如,也可以使用所提及的加数的修改或者也可以使用完全另外的替代的预训练成本函数,例如原因在于这种替代的预训练成本函数可以更快地被评估。
24.例如,可以确定参数所处的值范围。接着,该列表的离散值可以根据该范围来被确定。这些离散值例如可以等距地分布到该范围上,和/或依据在该范围内的参数的值的累积点来被规定。
25.替代于此或者也与此相结合地,n个位和/或离散值列表也可以在实际训练i的情况下被适配,目的在于改善、尤其是优化成本函数的值。因此,该适配可以被集成到可训练模块的正常训练中。如果成本函数不仅取决于可训练模块在处理输入参量的学习值时产生的误差而且取决于参数的离散化误差,则两种类型的误差都可能是成本函数的值差的原因。那么,合乎逻辑的是:可训练模块可以自己以和对与输出参量的学习值的过大偏差的消除相同的方式来学习离散化误差的消除。
26.在另一特别有利的设计方案中,该列表的离散值在0附近均匀地、也就是说对称地分布。也就是说,这些值以相同的间距(步距)δ分布在0附近,其中步距δ是二的任意次幂。
27.这种类型的离散值的特点在于:利用这些值的算术运算可以特别简单地在定点硬件上被实现。步距δ的缩放可以被实现为简单的按位的移动操作。
28.例如,该列表中的离散值可以是整数。接着,尤其是例如在数字上相邻的离散值可以分别相差一个步距δ,该步距是二的非负整数次幂。
29.在训练过程中,这些参数通常依次在多个更新步骤中被适配,以便最终达到对其来说成本函数的值最佳的一组参数。在一个特别有利的设计方案中,在参数的至少一次适配的情况下,
•ꢀ
将参数的比该列表的最低离散值更低的值设置到该最低离散值;和/或
•ꢀ
将参数的比该列表的最高离散值更高的值设置到该最高值。
30.已经认识到:经此,令人惊讶的是,训练收敛到还更好的结果;并且该训练还明显更快地收敛。
31.其原因在于:参数的在该列表的最低离散值与该列表的最高离散值之间的区间之外的值可以在训练期间并且也可以在最终结果中引起对该列表的最低和最高值的人工偏
好。这样,该训练例如可以在输出参量的评价值应该与输出参量的学习值尽可能一致的角度下产生参数的远在该区间之外的值。这可以将参数“固定”在该列表的最低或最高值。经此,在训练中获得的信息的一部分可能以与在如下图像传感器过调时类似的方式丢失,该图像传感器无法再使非常高的亮度值彼此区分开并且作为替代只还输出其最大饱和值。该趋势被抵消,其方式是在所容许的区间之外的参数被设置到相对应的区间边界。尤其有利的是,这可以在该训练的框架内在参数的每次适配时进行。接着,总体而言需要明显更少的训练时期来训练knn,使得经训练的knn在利用验证数据进行测试时达到预先给定的精度。
32.由于参数恰恰在训练开始时通常还显著变化的情形而加剧了这种效果。这样,参数例如可能在一个训练时期中具有负值并且在稍后的训练时期中变成正值。如果现在例如对于参数来说所允许的离散值是-1、0和 1并且该参数已在第一训练时期中被规定到-10,而在稍后的训练时期中趋势朝着 2的方向发展,则与-10的强烈的负摆幅可能与离散化相结合地导致趋势反转完全“消失”。在负摆幅为-1时避免这一点。
33.在训练期间使参数限于所允许的区间具有另一种效果:对于中间结果的计算来说花费更少的计算时间,这些中间结果在被确定为训练的最终结果的参数中完全没有反映出来。如果对于参数来说所允许的离散值例如为-1、0和 1,则分多个步骤将该参数优化到-3、接着优化到-3.141并且最后优化到-3.14159是没有意义的。对参数的尽早限制将搜索空间从一开始就限制在最终需要的范围内。在某种程度上,该效果类似于:如果原本非常大的搜索空间(比如来自整个供支配的字符集中的大约15个字符)可以利用关于用户的不良习惯的先验知识例如被限于“六个小写字母”,则密码能明显更快地被破解。这里,解空间通过参数可在训练之后取的离散值列表来给出。因而,在训练期间与该解空间疏远将会是低效的。
34.在发明人的尝试中,节省训练时期与节省在每个时期内的计算花费的组合可以将对于训练来说总共需要的计算时间减少多达70 %。
35.另一特别有利的设计方案朝着相同的方向发展。这里,在参数的至少一次适配的情况下,在参数中被表示成变量的成本函数的梯度朝着成本函数的更好的值的方向被确定。参数被改变梯度与步距的乘积(梯度下降或梯度上升法)。作为重要的创新,在确定梯度时,
•ꢀ
将涉及当前具有该列表的最低离散值的参数的梯度分量限制到非负值;和/或
•ꢀ
将涉及当前具有该列表的最高离散值的参数的梯度分量限制到非正值。
36.尤其是,用于计算梯度分量的算法已经可以在呈现出它们分别具有不符合期望的符号的位置处被中断。在其中对于参数来说只允许离散值-1、0和 1的所提到的示例中,从值-1开始,从一开始就清楚的是:只能够朝着正方向改变该参数。如果关于该参数方面的梯度指向负方向,则该改变无法被执行,而且那么分多个步骤将该改变指定到-2.7、接着指定到-2.718并且最后指定到-2.71828是没有意义的。这种情况在一定程度上类似于其中考试规则规定了最短时长和最长时长的口试。如果在最短时长之后已经呈现“不及格”,则结束该考试并且宣布“不及格”。另一方面,为了找出“非常好”与“杰出”之间的细微差别,尽量使用最长时长。
37.在另一特别有利的设计方案中,成本函数包含如下贡献的加权和:
•ꢀ
第一贡献,该第一贡献表征输出参量的评价值与在学习数据记录中所包含的输出参量的学习值的偏差;和
•ꢀ
第二贡献,该第二贡献表征内部处理链的至少一个参数与在该列表中的至少一个离散值的偏差。
38.随着训练的进展,第一贡献的权重被减小并且第二贡献的权重被增加。尤其是,例如用来执行权重的这种改变的速度或速率可以随着训练的进展而呈指数增长。
39.已经认识到:参数的值的离散化也像参数的其它正则化一样显著减小knn的所谓的模型容量。模型容量取决于参数的值的可能组合的数目,因此是由参数扩展出的空间的维数的量度。
40.模型容量越高,在训练knn时就可以关于学习输出参量的尽可能好的再现方面处理更多细微差别,而且在训练结束之后所达到的精度就更好。然而,过高的模型容量可以使该训练有向“过度拟合”的趋势,这基本上是对通过训练数据所表示的情况的“背诵”。这种“背诵的”知识难以推广到在训练中没有出现的新情况。即,在训练期间对模型容量的限制尤其可以在其中训练在某种程度上可以说被完善的高级阶段避免与训练数据的过度拟合并且因此非常有意义。该限制仅在knn由于模型容量过低而不再能够克服所提出的问题的复杂性的点处得到其实际边界。
41.通过现在该训练首先开始于高模型容量并且稍后朝着偏重离散化的方向转向,训练的最终结果可以变成一方面就学习任务而言的收敛与另一方面离散化的有意义的组合。首先,利用高模型容量来偏重knn的学习任务,以便这里尽可能早地取得首批重要的学习成果。与如下人类学习过程的比较表明这改善最终结果的精度:谁在开始学业时在其学科的基础上利用高模型容量取得重要的学习成果,稍后将总是能够再次动用该学习成果并且在结束时获得良好的学位。但是谁在该阶段就已经在为模型容量过低而挣扎,将总是追赶差距。
42.通过稍后降低模型容量,最初的学习成果仿佛“被保留”,并且训练转向离散化的目的。不同于其中在第一阶段仅专注于想要的应用而在第二阶段仅专注于离散化的严格分两个阶段的训练,相应另一目的并没有完全被忽视。以这种方式,尤其避免了:关于离散化的训练过多地以先前已经获得的关于想要的应用的学习成果为代价。
43.在另一特别有利的设计方案中,这些参数中的每个参数都被设置到该列表中的该参数最接近的那个离散值。这可以在训练期间和/或在训练结束之后在任意位置进行一次或多次。尤其是通过在训练期间一次或多次设置到离散值,可训练模块可以学习尽可能好地处理带来离散化的限制并且仍然提供最大精度。
44.在另一特别有利的设计方案中,可训练模块在将参数设置到离散值之后被验证。借此检查:可训练模块是否已真正“理解”了在学习数据记录中所包含的知识并且可以将该知识应用于新情况或者可训练模块是否只是“背诵”了该知识,使得该可训练模块正好对已知的情况做好准备。
45.为了进行验证,提供多个验证数据记录,这些验证数据记录分别包括输入参量的验证值和输出参量的相关的验证值。在此,验证数据记录的集合与学习数据记录的集合并不全等。尤其是,验证数据记录的集合可有利地与学习数据记录的集合不相交。
46.对于每个验证数据记录来说,输入参量的相应的验证值通过可训练模块被映射到输出参量的测试值。检查这些测试值与输出参量的验证值的偏差是否满足预先给定的标准。这种标准例如可以在于:关于所有验证数据记录的偏差的例如数值的或平方的平均值
都低于预先给定的阈值。替代于此或者也与此相结合地,例如可以检查:在验证数据记录的集合上的最大偏差是否低于预先给定的阈值。如果满足相应的标准,则可训练模块可以被认为适合于实际使用。
47.在验证之前将参数设置到该列表中的离散值具有如下优点:可训练模块借此可以正好在其中该可训练模块稍后也在硬件上实现的状态下被检查。通过在例如被设计用于定点算术的硬件上实现,在其行为方面将不再发生变化。这意味着:验证不必在稍后被安装到具有可训练模块的最终产品中的硬件上进行,而是作为替代可以在更快的、为了开发和训练该可训练模块所使用的硬件、比如gpu上进行。
48.这在安全关键的应用方面例如在对陆上、水上和空中车辆的控制和监控方面尤其有利。非常广泛的验证通常是进入相应公共交通工具的条件。现在,该验证不会由于在硬件上的实现或者也由于在产品进一步开发过程中硬件平台的后续更换而变得无效。
49.用于训练的成本函数例如可具有如下形式其中l是只表征输出参量的评价值与在学习数据记录中所包含的输出参量的学习值的偏差的部分,而且其中lr是只表征内部处理链的至少一个参数与该列表中的至少一个离散值的偏差的部分。
50.如果可训练模块的内部处理链现在例如包括由l个层构成的神经网络knn并且每个层都包括取决于层的索引l的权重数m
(l)
,则要离散化的参数例如可包括全部权重w
i(l)
。接着,成本函数的部分lr例如可具有如下形式其中在减数中的索引q表示相对应的权重的相应最接近的离散值。参数λ决定了部分lr相对于部分l的加权程度。因此,该参数尤其可以如上所述地被用作学习任务与离散化之间的调节螺钉。如上所述,λ可以在训练期间被改变并且尤其例如随着训练不断进展而呈指数升高。
51.根据权重对该表达式的偏微分得出这意味着:相应的量化误差越大,权重w
i(l)
就越强烈地被优化。δ
(l)
是用于层l的良好的相应的步距。在情况区分中的第一种情况可以在实践中被忽略,原因在于权重w
i(l)
在knn的训练开始时通常利用随机的浮点值来被初始化。这种值恰好落到量化等级上的概率接近于零。
52.本发明也涉及一种用于制造可训练模块的方法,该可训练模块将一个或多个输入参量通过内部处理链映射到一个或多个输出参量。在此,通过一组参数来表征内部处理链。
53.在该方法中,首先利用所描述的方法来确定可训练模块的内部处理链的参数的离散值,并且可选地然后对可训练模块进行验证。然后,在运算器中实现可训练模块的内部处
circuit,asic)中。
附图说明
61.在下文,其它改善本发明的措施共同利用依据附图对本发明的优选的实施例的描述来更详细地予以呈现。
实施例
62.图1示出了用于训练可训练模块1的方法100的实施例;图2示出了用于制造可训练模块1的方法200的实施例;图3示出了可训练模块1的实施例;图4示出了方法100对可训练模块1的内部处理链12的参数12a的示例性的定性评估;图5示出了在方法100的过程中参数12a的示例性的开发;图6示出了用于在每个更新步骤中在对参数12a的值范围有限制的情况下使参数12a发展的另一示例;图7示出了在人工神经网络的不同层a-d中参数12a的收敛的示例性过程;图8示出了用于在每个更新步骤中在对参数12a的值范围有限制(图表(a))和没有限制(图表(b))的情况下使参数12a收敛的另一示例。
具体实施方式
63.图1示出了用于对可训练模块1进行训练的方法100的实施例的流程图。在步骤110中,提供至少一个学习数据记录2,该学习数据记录包括可训练模块1的输入参量11的学习值11a以及可训练模块1的输出参量13的学习值13a。此外,在步骤120中,提供离散值3a-3c的列表3,应该从这些离散值中选择表征可训练模块1的内部处理链12的参数12a。离散值3a-3c被选择为使得这些离散值可以利用预先给定的n个位在没有质量损失的情况下被存储为定点数。
64.离散值3a-3c的列表3例如可以借助于对可训练模块1的预训练来被确定。该预训练同样可以使用在步骤110中提供的学习数据记录2。
65.在图1中在方框120内示出的用于预训练的示例中,按照块121,输入参量11的学习值11a通过可训练模块1被映射到输出参量的评价值13b。按照块122,评估预训练成本函数4a,该预训练成本函数表征输出参量的评价值13b与在学习数据记录2中所包含的输出参量13的学习值13a的偏差。按照块123,根据预训练成本函数4a的这样确定的值来使可训练模块1的内部处理链12的至少一个参数12a适配。
66.最后,按照方框124,可以根据参数12a的这样获得的值来确定离散值3a-3c的列表3。例如可以确定参数12a所处的区间,并且离散值3a-3c可以例如等距分布在该区间上。
67.在步骤130中,开始可训练模块1的真正训练。这里,学习值11a又通过可训练模块1被映射到输出参量的评价值13b。然而,不同于在可选的预训练中的预训练成本函数4a,然后在步骤140中评估的成本函数4不仅取决于评价值13b与学习值13a的偏差,而且附加地也表征内部处理链12的至少一个参数12a与在列表3中的至少一个离散值3a-3c的偏差。在步
骤150中,根据成本函数4的这样确定的值来使内部处理链12的至少一个参数12a适配。
68.通常,使用多个学习数据记录2,并且这些学习数据记录2也在多个时期总是再次被可训练模块1处理。每当确定内部处理链12的参数12a的被改变的值时,这些值可以被传回到可训练模块1并且这样直接影响对学习数据记录2的后续处理。例如,当达到预先给定的中断条件时,可以结束该训练。中断条件例如可以包括:针对成本函数的阈值;和/或针对该训练供支配的时间;和/或对预先给定的数目的时期的完成。
69.在步骤130中的训练例如可以利用参数12a的随机值来被初始化。然而,如果已经执行了预训练以便规定离散值3a-3c的列表3,则在该预训练的框架内所确定的参数12a可以被用作初始值。以这种方式来,投入该预训练中的花费被最佳利用。
70.替代于预训练或者也与预训练相结合地,在步骤160中可以根据成本函数4的值来使n个位和/或离散值3a-3c的列表3适配。
71.在步骤170中,可以将参数12a设置到该列表3中的分别最接近这些参数的那些离散值3a-3c。可选地,可训练模块1然后可以在步骤180中被验证。如果可训练模块1最后在硬件上被实现,则该可训练模块将正好表现出与在验证180中相同的行为。
72.在该验证的框架内,按照块181,提供多个验证数据记录5。这些验证数据记录5分别包括输入参量11的验证值51和输出参量13的相关的验证值53。在此,验证数据记录5的集合与学习数据记录2的集合并不全等。特别有利地,这两个集合不相交。
73.按照块182,对于每个验证数据记5来说,输入参量11的相应的验证值51通过可训练模块1被映射到输出参量13的测试值13c。按照块183,检查这些测试值13c与验证值53的偏差是否满足预先给定的标准55。如果情况如此,则训练后的可训练模块1被认为适合于实际使用。
74.在方框150之内,示例性地绘制了参数12a在训练期间的适配150可以被细化以便改善精度并且同时节省训练时间的多种可能性。
75.按照块151,可以将参数12a的比该列表3的最低离散值3a-3c更低的值设置到该最低离散值3a-3c。按照块152,可以将参数12a的比该列表3的最高离散值3a-3c更高的值设置到该最高值3a-3c。
76.参数12a的适配150可包含:按照块153,确定在参数12a中表达成变量的成本函数4的朝着成本函数4的更好的值的方向的梯度4d;并且按照块154将参数12a改变该梯度4d与步距的乘积。接着,按照块153a,可以将梯度4d的涉及当前具有该列表3的最低离散值3a-3c的参数12a的分量限制到非负值。按照块153b,可以将梯度4d的涉及当前具有该列表3的最高离散值3a-3c的参数12a的分量限制到非正值。
77.成本函数4可包含至少两个贡献的加权和。在图1中示出的示例中,存在两个贡献4b和4c。这里,第一贡献4b表征输出参量13的评价值13b与在学习数据记录2中所包含的输出参量13的学习值13a的偏差。第二贡献4c表征内部处理链12的至少一个参数12a与在该列表3中的至少一个离散值3a-3c的偏差。按照块155,随着训练的进展,第一贡4b的权重可以被减小并且第二贡献4c的权重可以被增加。
78.图2是用于制造可训练模块1的方法200的实施例的流程图。在步骤210中,可训练模块利用方法100来被训练,并且确定可训练模块1的内部处理链12的参数12a的整数值。在此,在数字上相邻的离散值3a-3c分别相差一个步距δ,该步距是二的非负整数次幂。
79.如上所述,这些参数的呈现和/或处理接着可以以定点算术来特别好地被实现。在步骤220中,在运算器6上进行这种实现,该运算器被构造用于以定点算术来呈现和/或处理参数12a。在步骤230中,在运算器中将参数12a设置到在步骤210中所确定的整数值。
80.图3示出了可训练模块1的实施例。可训练模块1在运算器6中被实现,该运算器被构造用于以定点算术来呈现和/或处理参数12a。利用示例性地被绘制成人工神经网络knn并且通过参数12a所表征的内部处理链12,在可训练模块1运行时将一个或多个输入参量11映射到一个或多个输出参量13。
81.图4定性地示出了方法100对表明参数12a的谱的影响。在图表中,分别绘制参数12a的值的随着这些值的频率ρ。
82.图表(a)示出了均匀分布,如其例如在利用随机值来对参数12a进行初始化时所形成的那样。图表(b)示出了正态分布,该正态分布在常规训练时在不限于列表3中的离散值3a-3c的情况下形成。图表(c)示出了多模态分布,该多模态分布在利用方法100进行训练时针对三个示例性绘制的离散值3a-3c来形成。这三个量化级别3a-3c的最佳理论分布是在图表(d)中示出的具有三个狄拉克脉冲的狄拉克分布。
83.图5示例性地在利用作为在基准数据记录“cifar-10”上的内部处理链12的knn来对可训练模块1进行真实训练方面示出了knn中的具体层的参数12a的值的频率ρ根据时期数e如何发展。在训练开始时(e=0),参数12a与在图4的图表(b)中的原理图中一样大致呈正态分布。随着时期数e的增加,该分布总是越来越接近在图4的图表(c)中示出的多模态分布。
84.图6在另一示例中示出了vgg11-knn的从上方看第一层(行(a))、第四层(行(b))和第七层(行(c))的参数12a在基准数据记录“cifar-100”上进行训练的过程中根据时期数e如何发展。图6的四列从左向右对应于时期数e=0、e=20、e=80和e=100。类似于图5,在图6中的图表中的每个图表中,绘制了在相应的时期数e的情况下相应的层的参数12a的值的频率ρ。在图6中示出的示例中针对参数12a分别只容许三个离散值-δ、0和δ。
85.在训练开始时(e=0),参数12a的来自预训练的分布是在0处具有一个峰值的单模态。该分布也还包括用于参数12a的低于-δ或高于δ的值的尾部。在图6中示出的示例中,在参数12a的每个更新步骤中,这些参数12a的值都被限于区间[-δ, δ]。因而,所提到的尾部已经在e=20处完全消失。
[0086]
随着训练进展的增加、也就是说随着时期数e的增加,在成本函数4中,涉及knn关于在cifar-100数据记录方面的分类任务的训练的第一贡献4b的权重被减小。而涉及通过参数12a的离散化来进行正则化的第二贡献4c的权重被提高。
[0087]
在时期数e=100的情况下,分布的三个峰值的中心靠近离散值-δ、0或δ,使得参数12a的离散化不再导致显著的误差。
[0088]
图7依据已经在图5中阐明的真实训练来示出在训练期内在knn的不同的层a-d中的参数12a的多少百分比r从分别说明的时期回溯10个时期地“旋转”,也就是说从多模态分布的一个模态变换到另一个。层a-c是卷积层并且在knn的层序列中位于第一、第三或第五位。层d是全连接层并且在knn的层序列中位于第七位。表明:参数12a在不同层中不一样快地最终“决定”这些模态之一。然而,从约180的时期数e开始,该决定在knn中无处不在。
[0089]
图8依据在图6中已经阐明的真实训练示出了在每个时期e中的knn的层a-k的参数
12a的多少百分比r从多模态分布的一个模态变换到另一个模态。图表(a)示出了在每个更新步骤之后将参数12a的值范围限于区间[-δ, δ]的情况下的r的变化过程。为了比较,图表(b)示出了在没有对值范围的这种限制的情况下的r的变化过程。
[0090]
值范围的限制具有相比之下明显可见的效果:恰好在该训练开始时特别多的参数12a变换模态,也就是说从列表3的离散值3a-3c中的一个离散值变换到另一个离散值。这意味着:恰好在训练开始时,存在比在没有对值范围的限制的情况下更大的学习进展。如上所述,这改善了训练的精度并且同时显著节省了训练时间。
再多了解一些

本文用于企业家、创业者技术爱好者查询,结果仅供参考。

发表评论 共有条评论
用户名: 密码:
验证码: 匿名发表

相关文献