首页 / 专利库 / 人工智能 / 人工智能 / 通用人工智能 / 数据处理方法、装置及相关产品

数据处理方法、装置及相关产品

阅读:676发布:2020-05-18

专利汇可以提供数据处理方法、装置及相关产品专利检索,专利查询,专利分析的服务。并且本 申请 涉及一种 数据处理 方法、装置及相关产品,所述相关产品包括 主板 ,主板包括CPU和板卡,板卡包括多个 人工智能 处理器,多个人工智能处理器对应的内存为多通道内存;其中,目标人工智能处理器用于在通过目标并行线程接收通用处理器CPU发出的人工智能处理器计算指令后,通过与所述目标并行线程对应的内存通道,根据所述人工智能处理器计算指令对所述内存通道对应的物理内存进行 访问 ;所述目标人工智能处理器为所述多个人工智能处理器中的任一人工智能处理器,所述目标并行线程为所述CPU启动的多个并行线程中的任一个;所述多个并行线程中至少有两个线程对应不同的内存通道。采用本方法能够实现自定义激活函数在神经网络处理器中顺畅运行。,下面是数据处理方法、装置及相关产品专利的具体信息内容。

1.一种数据处理方法,其特征在于,应用于包含神经网络处理器的数据处理装置中,所述方法包括如下步骤:
获取激活函数和拟合配置表,所述拟合配置包括所述激活函数对应的配置信息;
根据所述激活函数对所述拟合配置表进行评估,生成所述拟合配置表的评价值;所述拟合配置表的评价值包括对拟合配置表属性的评价,所述拟合配置表属性能够反映所述拟合配置表在对激活函数进行拟合运算后得到的拟合函数与原激活函数的差异;
若所述拟合配置表的评价值不满足预设条件,则调整配置信息以得到新的拟合配置表,直至所述新的拟合配置表的评价值满足所述预设条件,使得神经网络处理器能够根据所述满足预设条件的拟合配置表进行运算。
2.根据权利要求1所述的方法,其特征在于,所述拟合配置表的评价值不满足预设条件,则调整配置信息以得到新的拟合配置表,直至所述新的拟合配置表的评价值满足所述预设条件的步骤,包括:
获取所述拟合配置表的评价值容忍度;
若所述拟合配置表的评价值不满足所述评价值容忍度,则调整配置信息以得到所述新的拟合配置表,直至所述拟合配置表的评价值满足所述评价值容忍度。
3.根据权利要求2所述的方法,其特征在于,所述评价值容忍度包括计算量容忍值;若所述拟合配置表的评价值不满足所述评价值容忍度,则调整配置信息以得到所述新的拟合配置表,直至所述拟合配置表的评价值满足所述评价值容忍度:
根据所述拟合配置表,得到所述拟合配置表对应的计算量;
若所述拟合配置表对应的计算量大于所述计算量容忍值,则调整配置信息以得到新的拟合配置表,直至所述拟合配置表对应的计算量小于或等于所述计算量容忍值。
4.根据权利要求2或3所述的方法,其特征在于,所述拟合配置表的评价容忍度还包括误差容忍值,所述拟合配置表的评价值不满足预设条件,则调整配置信息以得到新的拟合配置表,直至所述新的拟合配置表的评价值满足所述预设条件的步骤,还包括:
获取所述激活函数的各采样点;
获取所述各采样点对应的所述激活函数的值和所述拟合配置表对应的函数值;
根据所述各采样点对应的激活函数的值和所述拟合配置表对应的函数值,得到所述各采样点的误差值;
若存在所述采样点的误差值大于所述误差容忍值,则调整配置信息以得到所述新的拟合配置表,直至所述采样点的误差值小于或等于所述误差容忍值。
5.根据权利要求4所述的方法,其特征在于,所述若存在所述采样点的误差值大于所述误差容忍值,则调整配置信息以得到所述新的拟合配置表,直至所述采样点的误差值小于或等于所述误差容忍值的步骤,包括:
比较所述各采样点的误差值,得到最大误差值;
若所述最大误差值大于所述误差容忍值,则调整所述配置信息以得到所述新的拟合配置表,直到所述最大误差值小于或等于所述误差容忍值。
6.根据权利要求4所述的方法,其特征在于,所述激活函数的定义域包含多个分段区间,每个所述分段区间对应设置有所述误差容忍值;所述若存在所述采样点的误差值大于所述误差容忍值,则调整配置信息以得到所述新的拟合配置表,直至所述采样点的误差值小于或等于所述误差容忍值的步骤,还包括:
针对每个所述分段区间,若所述分段区间内存在所述采样点的误差值大于所述分段区间对应的误差容忍值,则将所述分段区间标记为待调整区间,并调整所述待调整区间对应的配置信息,得到所述激活函数对应的新的拟合配置表,直至各个所述分段区间内的所述采样点的误差值均小于或等于所述分段区间对应的误差容忍值。
7.根据权利要求1所述的方法,其特征在于,所述获取激活函数和拟合配置表的步骤之前,所述方法还包括根据所述激活函数获得所述拟合配置表的步骤,所述根据所述激活函数获得所述拟合配置表的步骤包括:
获取所述激活函数的定义域;
根据所述定义域,确定所述激活函数的切分段数;
根据所述激活函数的切分段数,在每个分段中选取采样点;
根据所述激活函数计算各所述各采样点对应的所述激活函数的值;
根据所述采样点以及所述采样点的函数值对所述激活函数进行拟合,得到拟合配置表。
8.根据权利要求7所述的方法,其特征在于,所述配置信息包括所述激活函数的切分段数和每个分段区间中所述采样点的数量;
所述拟合配置表的评价值不满足预设条件,则调整配置信息以得到新的拟合配置表,直至所述新的拟合配置表的评价值满足所述预设条件的步骤,包括:
所述拟合配置表的评价值不满足预设条件时,调整所述激活函数的切分段数,和/或调整每个分段区间中所述采样点的数量;之后执行所述的根据所述激活函数获得所述拟合配置表的步骤,获得新的拟合配置表,直至所述新的拟合配置表的评价值满足所述预设条件。
9.根据权利要求8所述的方法,其特征在于,所述调整所述激活函数的切分段数,和/或调整每个分段中所述采样点的数量的步骤,包括:
接收外部输入的修改后的配置信息;
根据所述外部输入的修改后的配置信息,调整所述激活函数的切分段数,和/或调整每个分段中所述采样点的数量。
10.根据权利要求8所述的方法,其特征在于,所述激活函数的定义域包含多个分段区间;所述调整所述激活函数的切分段数,和/或调整每个分段中所述采样点的数量的步骤,包括:
根据所述拟合配置表的评价值,确定所述配置信息的调整方式;
根据所述配置信息的调整方式,自动调整所述激活函数的切分段数,和/或调整每个分段中所述采样点的数量。
11.根据权利要求1所述的方法,其特征在于,所述拟合配置表的评价值不满足预设条件,则调整配置信息以得到新的拟合配置表,直至所述新的拟合配置表的评价值满足所述预设条件的步骤,还包括:
所述拟合配置表的评价值不满足预设条件时,则接收外部输入的修改后的拟合配置表中包含的配置信息;
根据所述外部输入的所述拟合配置表中包含的配置信息,调整所述拟合配置表中的配置信息,获得新的拟合配置表,直至所述新的拟合配置表的评价值满足所述预设条件。
12.根据权利要求1所述的方法,其特征在于,所述方法还包括:
输出并显示所述拟合配置表的评价值以及评价过程参数;所述评价过程参数包括拟合配置表对应的计算量、各采样点的误差值、最大误差值以及最大误差值对应的采样点坐标中的一个或多个。
13.一种包含神经网络处理器的数据处理装置,其特征在于,所述装置包括:
数据获取模,用于获取激活函数和拟合配置表;所述拟合配置表包括所述激活函数对应的配置信息;
评估模块,用于根据所述激活函数对所述拟合配置表进行评估,生成所述拟合配置表的评价值;所述拟合配置表的评价值包括对拟合配置表属性的评价,所述拟合配置表属性能够反映所述拟合配置表在对激活函数进行拟合运算后得到的拟合函数与原激活函数的差异;
拟合配置表调整模块,用于若所述拟合配置表的评价值不满足预设条件,则调整配置信息以得到新的拟合配置表,直至所述新的拟合配置表的评价值满足所述预设条件,使得神经网络处理器能够根据所述满足预设条件的拟合配置表进行运算。
14.根据权利要求13所述的装置,其特征在于,所述拟合配置表调整模块包括:
评价值容忍度获取单元,用于获取所述拟合配置表的评价值容忍度;
评价值容忍度判断单元,用于若所述拟合配置表的评价值不满足所述评价值容忍度,则调整配置信息,得到所述新的拟合配置表,直至所述拟合配置表的评价值满足所述评价值容忍度。
15.根据权利要求14所述的装置,其特征在于,所述拟合配置表的评价容忍度包括计算量容忍值:
所述评价值容忍度获取单元包括计算量生成单元,用于根据所述拟合配置表,得到所述拟合配置表对应的计算量;
所述评价值容忍度判断单元包括计算量判断单元,用于若所述拟合配置表对应的计算量大于所述计算量容忍值,则调整配置信息以得到新的拟合配置表,直至所述拟合配置表对应的计算量小于或等于所述计算量容忍值。
16.根据权利要求14或15所述的装置,其特征在于,所述拟合配置表的评价容忍度还包括误差容忍值:
所述评价值容忍度获取单元还包括:
采样点获取单元,用于获取所述激活函数的各采样点;
函数值获取单元,用于获取所述各采样点对应的所述激活函数的值和所述拟合配置表对应的函数值;
误差值计算单元,用于根据所述各采样点对应的激活函数的值和所述拟合配置表对应的函数值,得到所述各采样点的误差值;
所述评价值容忍度判断单元还包括误差判断单元,用于若存在所述采样点的误差值大于所述误差容忍值,则调整配置信息以得到所述新的拟合配置表,直至所述采样点的误差值小于或等于所述误差容忍值。
17.根据权利要求16所述的装置,其特征在于,所述误差判断单元包括:
筛选单元,用于比较所述各采样点的误差值,得到最大误差值;
最大误差值判断单元,用于在所述最大误差值大于所述误差容忍值,则调整所述配置信息以得到所述新的拟合配置表,直到所述最大误差值小于或等于所述误差容忍值。
18.根据权利要求16所述的装置,其特征在于,所述误差判断单元还包括:
分段误差值判断单元,用于针对每个所述分段区间,若所述分段区间内存在所述采样点的误差值大于所述分段区间对应的误差容忍值,则将所述分段区间标记为待调整区间,并调整所述待调整区间对应的配置信息,得到所述激活函数对应的新的拟合配置表,直至各个所述分段区间内的所述采样点的误差值均小于或等于所述分段区间对应的误差容忍值。
19.根据权利要求13所述的装置,其特征在于,所述装置还包括拟合配置表获得模块,所述拟合配置表获得模块包括:
定义域获取单元,用于获取所述激活函数的定义域;
切分段数获取单元,用于根据所述定义域,确定所述激活函数的切分段数;
采样点选取单元,用于根据所述激活函数的切分段数,在每个分段中选取采样点;
函数值计算单元,用于根据所述激活函数计算所述各采样点对应的所述激活函数的值;
拟合单元,用于根据所述采样点以及所述采样点的函数值对所述激活函数进行拟合,得到拟合配置表。
20.根据权利要求19所述的装置,其特征在于,所述配置信息包括所述激活函数的切分段数和每个分段区间中所述采样点的数量,所述拟合配置表调整模块还具体用于:
所述拟合配置表的评价值不满足预设条件时,调整所述激活函数的切分段数,和/或调整每个分段区间中所述采样点的数量;之后调用所述拟合配置表获得模块以获得所述拟合配置表,获得新的拟合配置表,直至所述新的拟合配置表的评价值满足所述预设条件。
21.根据权利要求20所述的装置,其特征在于,所述数据处理装置还包括开发装置,所述开发装置用于:
接收外部输入的修改后的配置信息;
根据所述外部输入的修改后的配置信息,调整所述激活函数的切分段数,和/或调整每个分段中所述采样点的数量。
22.根据权利要求20所述的装置,其特征在于,所述激活函数的定义域包含多个分段区间,所述数据处理装置还包括开发装置,所述开发装置用于:
根据所述拟合配置表的评价值,确定所述配置信息的调整方式;
根据所述配置信息的调整方式,自动调整所述激活函数的切分段数,和/或调整每个分段中所述采样点的数量。
23.根据权利要求13所述的装置,其特征在于,所述拟合配置表调整模块还具体用于:
所述拟合配置表的评价值不满足预设条件时,则接收外部输入的修改后的拟合配置表中包含的配置信息;
根据所述外部输入的所述拟合配置表中包含的配置信息,调整所述拟合配置表中的配置信息,获得新的拟合配置表,直至所述新的拟合配置表的评价值满足所述预设条件。
24.根据权利要求13所述的装置,其特征在于,所述装置还包括:
数据输出模块,用于输出并显示所述拟合配置表的评价值以及评价过程参数;所述评价过程参数包括拟合配置表对应的计算量、各采样点的误差值、最大误差值以及最大误差值对应的采样点坐标中的一个或多个。
25.一种板卡,包括存储器和处理器,所述存储器存储有计算机程序,其特征在于,所述处理器执行所述计算机程序时实现权利要求1-12任一项所述方法的步骤。
26.一种主板,其特征在于,所述主板包括:通用处理器CPU和如权利要求25所述的板卡。
27.一种电子设备,其特征在于,所述电子设备包括如权利要求26所述的主板。
28.一种计算机可读存储介质,其上存储有计算机程序,其特征在于,所述计算机程序被处理器执行时实现权利要求1至12中任一项所述的方法的步骤。

说明书全文

数据处理方法、装置及相关产品

技术领域

[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] 一种主板,所述主板包括:通用处理器CPU和上述的板卡。
[0053] 一种电子设备,所述电子设备包括如上述的主板。
[0054] 一种计算机可读存储介质,其上存储有计算机程序,所述计算机程序被处理器执行时实现以上任一实施例所述方法的步骤。
[0055] 上述数据处理方法、装置及相关产品,通过对激活函数和拟合配置表进行评估,得到拟合配置表的评价值,并根据评价值与预设条件之间的关系对拟合配置表进行调整,从而激活函数对应的拟合配置表可调整,直至该激活函数对应的拟合配置表能够满足预设条件,从而实现激活函数的处理过程具备更好的灵活性。附图说明
[0056] 图1为一个实施例中数据处理方法的应用装置图。
[0057] 图2为一个实施例中拟合配置表创建方法的流程示意图。
[0058] 图3 为一个实施例中数据处理方法的流程示意图。
[0059] 图4为一个实施例中提供的若所述拟合配置表的评价值不满足预设条件时,调整配置信息的流程示意图。
[0060] 图5为一个实施例中提供的调整配置信息以得到所述新的拟合配置表的流程示意图。
[0061] 图6为另一个实施例中提供的调整配置信息以得到所述新的拟合配置表的流程示意图。
[0062] 图7为又一个实施例中提供的调整配置信息以得到所述新的拟合配置表的流程示意图。
[0063] 图8为一个实施例中重新生成拟合配置表的流程示意图。
[0064] 图9为一个实施例中当评价值不满足预设条件时的调整方法的流程示意图。
[0065] 图10为一个实施例中配置信息使用方法的流程示意图。
[0066] 图11为一个实施例中,根据所述配置信息对所述输入数据执行拟合运算,得到所述激活函数的输出数据步骤的流程示意图。
[0067] 图12为一个实施例中的数据处理装置示意图。
[0068] 图13为一实施例中的板卡结构示意图。
[0069] 图14为一实施例中的主板结构示意图。

具体实施方式

[0070] 为了使本申请的目的、技术方案及优点更加清楚明白,以下结合附图及实施例,对本申请进行进一步详细说明。应当理解,此处描述的具体实施例仅仅用以解释本申请,并不用于限定本申请。
[0071] 本申请提供的数据处理方法,可以应用于如图1所示的数据处理装置中。图1所示的数据处理装置可以包括开发装置100、评估装置200以及处理装置300。其中,开发装置100能够获取用户输入的激活函数,可选地,该激活函数可以是ReLU、sigmoid、tanh、ReLU1以及ReLU6等等。进一步地,开发装置100根据预设规则对激活函数的定义域进行分段处理,获得多个分段区间,并对各个分段区间进行采样处理,之后对各个分段区间进行拟合处理(如采用最小二乘法进行拟合处理)得到该激活函数对应的拟合配置表。
[0072] 评估装置200可以根据激活函数对拟合配置表进行评估,得到拟合配置表的评价值,当拟合配置表的评价值不满足预设条件时,调整拟合配置表生成新的拟合配置表。可选地,当评估装置200确定拟合配置的评价值不满足预设条件时,则该开发装置100可以获得新的配置信息(即修改后的配置信息),并根据新的配置信息重新对该激活函数进行分段、采样及拟合处理,以获得新的拟合配置表,直至该新的配置表满足预设条件。
[0073] 可选地,评估装置200对拟合配置表的评估结果输出并显示,从而用户可以清楚地获知拟合配置表的评估结果。进一步地,当评估装置200确定拟合配置表的评价值不满足预设条件时,用户可以获知该评估结果。更进一步可选地,用户可以手动修改激活函数的配置信息,开发装置100能够获得用户输入的新的配置信息,并根据新的配置信息对激活函数进行分段、采样和拟合处理,或的新的拟合配置表,直至该新的配置表满足预设条件。在一个可选的实施例中,当评估装置200确定拟合配置表不满足预设条件时,评估装置200可以向开发装置100发送调整信号,开发装置100可以根据该调整信号自动调整激活函数的配置信息,并根据新的配置信息获得新的拟合配置表。之后,评估装置200可以对该新的拟合配置表进行评估。通过循环执行上述步骤,直至新的拟合配置表满足预设条件。
[0074] 可选地,用户可以手动修改拟合配置表中的配置信息,从而直接对拟合配置表进行修改,此时,开发装置100无需重复执行拟合配置表的生成过程。当用户输入拟合配置表中的配置信息时,评估装置200可以根据该新的配置信息,直接对拟合配置表中的相应参数进行修改,获得新的拟合配置表。之后评估装置200可以对该新的拟合配置表进行评估,直至该新的拟合配置表满足预设条件。
[0075] 本申请实施例中,配置信息可以包含各个分段区间的起点和终点、该分段区间对应的拟合信息(包括拟合参数和/或配置拟合函数)、激活函数的切分段数和每个分段区间中所述采样点的数量等等,此处仅用于举例说明,该配置信息还可以包括其他可能的配置信息。
[0076] 可选地,当评估装置200确定拟合配置表满足预设条件时,开发装置100可以将拟合配置表发送至处理装置300。可选地,该处理装置300可以是神经网络处理装置。进一步地,处理装置300获取激活函数的拟合配置表和输入数据,并确定输入数据在所述拟合配置表中对应的拟合信息(拟合参数或配置拟合函数)。更进一步地,处理装置300根据拟合信息对输入数据执行拟合运算,得到激活函数的输出数据。
[0077] 进一步地,处理装置300可以获取所述激活函数的拟配置函数。处理装置300根据所述输入数据,确定所述拟合配置表中的各所述分段区间的拟合参数。处理装置300根据所述拟合参数,配置得到各所述分段区间对应所述拟配置函数的配置拟合函数。具体地,拟配置函数是指在进行拟合运算前,预先设定对激活函数进行拟合操作的函数类别。例如拟配置函数可以包括:一元一次函数、一元二次函数、正比例函数、反比例函数。
[0078] 具体地,拟合参数是拟配置函数中的除自变量和因变量之外的参数,例如一元一次函数中的斜率和截距。具体地,每个拟配置函数对应一种函数种类。进而一种函数种类可以对应多个不同的具体函数。当拟合参数确定,则对应的具体的函数也就确定了。例如y=ax,则当拟合参数a被赋值为1,则能够得到具体的配置拟合函数y=x。
[0079] 作为一种具体的实施方式,拟配置函数为y=kx+b,定义域为[0,16],则拟合配置表如下:
[0080]
[0081] 当输入数据为6时,则读取对应的配置信息:
[0082]0 8 1 1
[0083] 根据以上配置信息得到输入数据6的输出数据为y=1*6+1=7。
[0084] 通过上述实施例,使得通过拟合配置表确定各个分段内的特征参数或拟合函数,能够便于在激活函数执行过程中方便快捷的得到拟合后的运算结果,提高运算效率。
[0085] 作为另一种具体的实施方式,激活函数的定义域为[0,16],在区间[0,8)内的区间拟合函数为y=2x+1,在区间[8,16]内的区间拟合函数为y=2x2+3x+4,则拟合配置表如下:
[0086]
[0087] 当输入数据在区间[0,8)时,则通过区间拟合函数y=2x+1计算输出数据,例如当输入数据为6,则读取如下配置信息:
[0088]0 8 y=2x+1
[0089] 根据上述配置信息,对输入数据6执行相应拟合运算,即y=2*6+1=13,则输入数据6对应的输出数据为13。
[0090] 在一个实施例中,如图2所示,本申请一实施例提供了一种数据处理方法,以该方法应用于图1中的应用环境为例进行说明,该方法可以包括拟合配置表的生成过程,如步骤S2010-步骤S2016所示,具体可以包括以下步骤:
[0091] 步骤S2010,开发装置100获取激活函数。
[0092] 具体地,神经网络中的每个神经元节点接收上一层神经元的输出值作为本神经元的输入值,并将输入值传递给下一层,输入层神经元节点会将输入属性值直接传递给下一层。在多层神经网络中,上层节点的输出和下层节点的输入之间具有一个函数关系,这个函数称为激活函数。可选地,激活函数可以包括ReLU、sigmoid、tanh、ReLU1以及ReLU6。根据不同的需求场景,自定义激活函数可以是多种多样的,例如ReLU5:
[0093]
[0094] 可选地,步骤S2010可以包括:开发装置100获取所述激活函数定义域,以及获取所述激活函数的定义域的切分段数。具体地,激活函数的定义域是指激活函数自变量的取值范围。定义域的切分段数是指将在定义域内的激活函数进行分段。在其中一个实施例中,将定义域内的自变量进行分段。可以理解地,分段数量取决于函数曲线形状和对精度的要求,最少1段,最多不设限。具体地,如果需要高精度的结果,或者激活函数图像比较复杂,则分段较多。例如,sigmoid函数可以分60段。在另一个实施例中,若对精度要求不高,或者若激活函数图像比较简单,则分段较少,例如ReLU函数可以分2段。通过上述实施例,将激活函数分段处理,能够通过不同的具体函数来拟合整个激活函数,更加接近激活函数的原始特性,使得拟合结果更加准确。
[0095] 步骤S2012,开发装置100根据预设规则选取所述激活函数的采样点。
[0096] 其中,激活函数的采样点是指根据预定规则在激活函数图像中选取的自变量的值。具体地,选取采样点的预设规则可以是等距选取或随机选取,还可以根据其他规则进行选取。
[0097] 可选地,步骤S2012可以包括:开发装置100根据所述切分段数,在每个分段区间内选取所述采样点。具体地,定义域的切分段数可以将整个定义域划分为多个分段区间。可选地,分段区间内采样可以采取等距采样,例如每个分段区间等分19份。可选地,分段区间内采样也可以是不等距采样。可选地,各个分段的长度相同,各个分段内的采样点数也相同。可选地,各个分段的长度不同,每段内的采样点数也不同。例如,不同的分度区间可以具有不同的精度要求,精度要求高的分段区间对应的采样点数量多,精度要求低的分段区间对应的采样点数量低。
[0098] 步骤S2014,开发装置100根据所述激活函数计算各所述采样点的函数值。具体地,根据激活函数以及自变量的值,计算得到对应采样点的函数值。
[0099] 步骤S2016,开发装置100根据所述采样点以及所述采样点的函数值对所述激活函数进行拟合运算,得到拟合配置表。
[0100] 其中,通过拟合运算能够将原本图像复杂、变化多样的激活函数拟合为简单函数图像的组合,简化了激活函数的运算过程,提高了运算效率。可选地,拟合运算可以通过最小二乘法和/或二次拟合实现。通过上述实施例简化了激活运算的运算过程,提高了激活函数的处理效率。
[0101] 进一步地可选地,请一并参阅图3,本申请的数据处理方法还可以包括拟合配置表的评估过程,如图中的步骤S310-步骤S330所示,具体如下:
[0102] 步骤S310,评估装置200获取激活函数和拟合配置表。
[0103] 其中,拟合配置表是指对激活函数进行拟合处理所参照的信息表,根据拟合配置表能够确定对激活函数的拟合处理方法。可选地,该拟合配置表中包括该激活函数对应的配置信息。
[0104] 步骤S320,评估装置200根据所述激活函数对所述拟合配置表进行评估,生成所述拟合配置表的评价值。
[0105] 其中,所述拟合配置表的评价值包括对拟合配置表属性的评价,该拟合配置表属性能够反映拟合配置表在对激活函数进行拟合运算后得到的拟合函数与原激活函数的差异。可以理解地,拟合配置表对应的拟合函数与原激活函数的差异越小,拟合配置表的评价值越高。
[0106] 步骤S330,评估装置200在所述拟合配置表的评价值不满足预设条件,则调整配置信息以得到新的拟合配置表,直至所述新的拟合配置表的评价值满足所述预设条件。
[0107] 其中,预设条件可以是在对拟合配置表评估过程中从外部输入的,还可以是在对拟合配置表开始之前就预先设置的。可选地,在对拟合配置表不同的评估过程中预设条件是可变的,但在一次评估过程中预设条件是不变的。其中,对配置信息的修改能够直接或间接修改拟合配置表。可选地,每一个预设条件对应各自的应用场景,当应用场景不变,那么预设条件在同一应用场景下的不同评估过程也不变。
[0108] 上述数据处理方法、装置及相关产品,通过对激活函数和拟合配置表进行评估,得到拟合配置表的评价值,使得激活函数可调整,从而实现激活函数的处理过程具备更好的灵活性。
[0109] 可以理解地,所述的预设条件包括评价值容忍度。该评价值容忍度用于预先设定拟合配置表的评价值的最大值范围。可以理解地,当拟合配置表的评价值大于评价值容忍度时,则拟合配置表的评价值不满足预设条件。可选地,预设条件还包括拟合配置表的其他属性,例如拟合配置表的表格长度。具体地,请一并参阅图4,上述步骤S330可以包括:
[0110] 步骤S331,评估装置200获取所述拟合配置表的评价值容忍度。具体地,评价值容忍度是指对于评估生成的评价值的范围要求。例如评价值容忍度为X,则评价值大于X时,则确定拟合配置表的评价值不满足评价值容忍度。可选地,该评价容忍度可以是具体的数值,也可以是一区间范围。
[0111] 步骤S332,评估装置200判断若所述拟合配置表的评价值不满足所述评价值容忍度,则调整配置信息以得到所述新的拟合配置表,直至所述拟合配置表的评价值满足所述评价值容忍度。
[0112] 在一个实施例中,所述评价值容忍度包括计算量容忍值和/误差容忍值。可选地,评估装置200可以根据计算量容忍值评估拟合配置表是否满足预设条件。请一并参阅图5,步骤S332可以包括:
[0113] 步骤S3321,评估装置200根据所述拟合配置表,得到所述拟合配置表对应的计算量。其中,计算量是指输入数据经过计算得到输出数据的过程中需要执行的步骤数量。可以理解地,计算量大,则输入数据需要执行的步骤多,计算繁琐,耗时长,耗能多;计算量小,则输入数据需要执行的步骤少,计算简便,耗时短。可见,当计算量大时计算结果相对计算量小精度更高。
[0114] 具体地,拟合配置表生成后,开发装置100可以将该满足预设条件的拟合配置表传送至处理装置300,处理装置300可以根据拟合配置表进行激活运算。该拟合配置表的计算量即该处理装置300根据该拟合配置表进行激活运算的计算量(例如,该计算量可以通过计算时间进行表示,计算时间越长,表示计算量越大)。因此,当该拟合配置表生成之后,该拟合配置表对应的计算量也被确定。可以理解地,不同的拟合配置表对应着不同的计算量。
[0115] 步骤S3322,评估装置200判断若所述拟合配置表对应的计算量大于所述计算量容忍值,则调整配置信息以得到新的拟合配置表,直至所述拟合配置表对应的计算量小于或等于所述计算量容忍值。其中,计算量容忍值是指能够容忍计算量的最大值。
[0116] 具体地,在神经网络运算中通过牺牲精度对激活函数的计算过程进行简化能够大幅提高计算效率,同时保证计算结果的可用。当计算量大于计算量容忍值,则计算过程无法被大幅简化,对计算效率的提高无法起到预期作用。因此,需要对拟合配置表重新调整,得到新的拟合配置表,以达到对计算效率的要求。
[0117] 可选地,评估装置200可以根据误差容忍值评估拟合配置表是否满足预设条件。请一并参阅图6,步骤S332还可以包括:
[0118] 步骤S3323,评估装置200获取所述激活函数的各采样点。其中,采样点是指根据预定规则在激活函数的定义域中选取的值。具体地,选取采样点的预设规则可以是等距选取或随机选取,还可以根据其他规则进行选取。本申请实施例中,采样点可以是开发装置100在获得拟合配置表时获得的各个采样点。
[0119] 步骤S3324,评估装置200获取所述各采样点对应的所述激活函数的值和所述拟合配置表对应的函数值。具体地,每一个采样点是激活函数定义域内的一个输入数据的取值点,将采样点所在的数值作为输入数据得到激活函数在此采样点的函数值。在其中一个实施例中,通过采样点确定拟合配置表中使用的拟合配置表,进而确定该采样点对应的运算过程,以该采样点为输入数据执行对应的运算过程,得到拟合配置表对应的函数值。
[0120] 步骤S3325,评估装置200根据所述各采样点对应的激活函数的值和所述拟合配置表对应的函数值,得到所述各采样点的误差值。其中,误差值是指相比于没有进行拟合的激活函数,拟合得到的拟合配置表牺牲的精度量。具体地,在每个采样点中,以该采样点的值作为输入数据分别进行激活函数的运算与拟合配置表对应的运算,分别得到激活函数的值和拟合配置表对应的函数值。因此对于同一输入数据,拟合配置表对应的函数值与激活函数值的差异反映各采样点的误差值。可选地,上述误差值可以通过各个采样点中激活函数的值与拟合配置表对应的函数值做差计算获得。可选地,上述误差值可以通过各个采样点中激活函数的值与拟合配置表中对应的函数值求方差计算获得。
[0121] 步骤S3326,若存在所述采样点的误差值大于所述误差容忍值,则调整配置信息以得到所述新的拟合配置表,直至所述各采样点的误差值均小于或等于所述误差容忍值。
[0122] 其中,误差容忍值是指能够容忍误差值的最大值。若误差值超过误差容忍值,则通过拟合配置表得到的输出结果与原激活函数的输出结果差异过大,此时通过拟合配置表得到的输出结果是不可用的。在本实施例中,当定义域内的各采样点的误差值均小于误差容忍值时,才判断误差值满足误差容忍值的要求。
[0123] 可选的,所述激活函数对所述拟合配置表进行评估的过程,可以单独根据计算量进行评估(如图5所示),也可以根据单独根据误差值进行评估(如图6所示),还可以根据计算量和误差值综合进行评估。当根据计算量和误差值综合进行评估时,能够在计算过程中,平衡误差值和计算量,达到最佳的运算效率。例如,当计算量超过阈值或误差值超过阈值时,则确定评估结果不满足预设条件。再如,当计算量超过阈值,且误差值超过阈值时,则确定评估结果不满足预设条件。
[0124] 可选地,在另一个实施例中,上述步骤S332还可以包括:获取所述激活函数的每两个采样点的中点;获取所述各中点对应的所述激活函数的值和所述拟合配置表对应的函数值;根据所述中点对应的激活函数的值和所述拟合配置表对应的函数值,得到所述各中点的误差值;若存在所述中点的误差值大于所述误差容忍值,则调整配置信息以得到所述新的拟合配置表,直至所述中点的误差值小于或等于所述误差容忍值。可选的,在计算拟合参数表与激活函数的误差值时,在激活函数定义域内等距选取或随机选取坐标点,以计算拟合配置表对应的函数值和激活函数对应的函数值,即可反映拟合配置表对应的函数值与激活函数对应的函数值的误差。
[0125] 进一步地,为提高拟合配置表评估过程的运算效率,可以进一步获得定义域内各个采样点对应的最大误差值。具体地,请一并参阅图7,上述步骤S3326还可以包括:
[0126] 步骤S3327,评估装置200比较所述各采样点的误差值,得到最大误差值。其中,最大误差值是指,在各采样点的误差值中最大的误差值。可选地,步骤S3327,还包括对各采样点的误差值进行排序,得到最大误差值。
[0127] 更进一步地,上述方法在得到最大误差值之后,还可以进一步确定最大误差值的位置。例如,该方法可以得到最大误差值对应的采样点的坐标。通过本实施例中最大误差值以及最大误差值对应采样点的坐标,当对拟合配置表进行反馈时,可以对拟合配置表的调整策略进行反馈,从而使调整后的拟合配置表达到评价值容忍度的要求。
[0128] 步骤S3328,评估装置200判断若所述最大误差值大于所述误差容忍值,则调整所述配置信息以得到所述新的拟合配置表,直到所述最大误差值小于或等于所述误差容忍值。在本实施例中,只要最大误差值小于或等于误差容忍值,则可判断误差值满足误差容忍值的要求。
[0129] 通过本实施例的步骤,在判断配置信息表是否符合误差容忍值的要求的过程中,只需判断最大误差值是否满足误差容忍度的要求,无需对每个采样点进行判断,可以减小计算量,提高了评估效率。
[0130] 进一步可选地,所述激活函数的切分段数是指激活函数的定义域的切分段数,该定义的切分段数可以将激活函数的定义域划分为多个分段区间,从而激活函数的定义域可以包含多个分段区间。每个所述分段区间对应设置有所述误差容忍值。上述步骤步骤S3328还可以包括:
[0131] 针对每个所述分段区间,若所述分段区间内,存在所述采样点的误差值大于所述分段区间对应的误差容忍值,则将所述分段区间标记为待调整区间,并调整所述待调整区间对应的配置信息,得到所述激活函数对应的新的拟合配置表,直至各个所述分段区间内的所述采样点的误差值均小于或等于所述分段区间对应的误差容忍值。进一步地,评估装置200可以分别计算获得各个分段区间中各采样点的最大误差值,并在该分段区间中的采样点的最大误差值大于分段区间的误差容忍值时,则将所述分段区间标记为待调整区间,并调整所述待调整区间对应的配置信息,得到所述激活函数对应的新的拟合配置表,直至各个所述分段区间内的所述采样点的误差值均小于或等于所述分段区间对应的误差容忍值。
[0132] 具体地,每个分段区间内的误差容忍值可以相同,也可以各不相同,当检测到存在各分段内采样点的误差值大于所在分段区间的误差容忍值时,该分段区别则被标记为待调整区间。可选地,各分段的误差容忍值可以根据该分段对整体结果的重要程度大小来确定。可以理解地,重要分段的误差容忍值比非重要分段的误差容忍值小。这样,通过仅仅调整待调整区间的配置信息,从而可以提高调整操作的效率,进而提高新的拟合配置表的生成效率。在一个实施例中,所述配置信息包括所述激活函数的切分段数和每个分段区间中所述采样点的数量,上述步骤S330可以包括:
[0133] 所述拟合配置表的评价值不满足预设条件时,调整所述激活函数的切分段数,和/或调整每个分段区间中所述采样点的数量,之后执行所述的根据所述激活函数获得所述拟合配置表的步骤,获得新的拟合配置表,直至所述新的拟合配置表的评价值满足所述预设条件。
[0134] 可选地,当评估装置200确定拟合配置表的评价值不满足预设条件时,则开发装置100可以通过调整激活函数的切分段数,和/或每个分段区间中采样点的数量,获得修改后的配置信息,之后,开发装置可以根据修改后的配置信息获得新的拟合配置表,直至评估装置确定该新的拟合配置表的评价值满足预设条件。可选地,若存在所述采样点的误差值大于所述误差容忍值,则增加所述激活函数的切分段数,和/或增加每个分段中所述采样点的数量。进一步地,若所述最大误差值大于所述误差容忍值,则增加所述激活函数的切分段数,和/或增加每个分段中所述采样点的数量。可选地,若所述拟合配置表对应的计算量大于所述计算量容忍值,则减少所述激活函数的切分段数,和/或减少每个分段中所述采样点的数量。可选地,上述步骤S330中“调整所述激活函数的切分段数,和/或调整每个分段区间中所述采样点的数量”的过程可以是自动调整的。具体地,上述步骤可以包括:
[0135] 开发装置100根据所述拟合配置表的评价值,确定所述配置信息的调整方式;开发装置100根据所述配置信息的调整方式,自动调整所述激活函数的切分段数,和/或调整每个分段中所述采样点的数量。
[0136] 具体地,评估装置200确定拟合配置表的评价值不满足预设条件时,可以向开发装置发送调整信号(该调整信号中可以携带当前拟合配置表的评价值)。开发装置100可以根据拟合配置表的评价值,根据其内存储的自动调整策略,确定配置信息的调整方式,之后开发装置100根据所述配置信息的调整方式,自动调整所述激活函数的切分段数,和/或调整每个分段中所述采样点的数量。其中,该自动调整策略可以是开发装置根据拟合配置表的评价值获得的。例如,开发装置100可以获取每个分段区间对应的误差容忍值,并根据拟合配置表中各个分段内的误差值,自动调整误差值大于误差容忍值的分段区间。例如,若该分段区间内所述采样点的误差值大于所述误差容忍值,则增加该分段区间中采样点的数量。进一步地,若所述最大误差值大于所述误差容忍值,则增加该分段区间中采样点的数量。
[0137] 可选地,用户可以根据评价结果手动修改配置信息,以获得新的拟合配置表。例如,用户可以手动修改激活函数的切分段数,和/或采样点的数量等等。再如,用户也可以手动修改配置信息中的参数。可选地,请一并参阅图9,所述拟合配置表的评价值不满足预设条件时,调整所述激活函数的切分段数,和/或调整每个分段中所述采样点的数量,可以包括:
[0138] 步骤S3331,开发装置100接收外部输入的修改后的配置信息。其中,外部是指在开发装置100外部。具体地,修改后的配置信息是指能够使生成新的拟合配置表的参数集合。相应的,修改后的新的配置信息包括修改后激活函数切分段数,和/或修改后每个分段中采样点数量的目标调整值。
[0139] 步骤S3332,开发装置100根据所述外部输入的修改后的配置信息,调整所述激活函数的切分段数,和/或调整每个分段中所述采样点的数量。具体地,修改后的配置信息包括激活函数切分段数,和/或每个分段中采样点数量的目标调整值。
[0140] 具体地,开发装置100接收外部输入的修改后的配置信息,在开发装置100中对配置信息进行分段及采样处理,得到新的拟合配置表;具体地,如图8所示,当开发装置获得修改后的配置信息之后,可以执行如下步骤:步骤S3341,开发装置100获取所述激活函数的定义域;步骤S3342,开发装置100根据所述定义域,确定所述激活函数的切分段数;步骤S3343,开发装置100根据所述激活函数的切分段数,在每个分段中选取采样点;步骤S3344,开发装置100根据所述激活函数计算各所述各采样点对应的所述激活函数的值;步骤S3345,开发装置100根据所述采样点以及所述采样点的函数值对所述激活函数进行拟合,得到拟合配置表。关于步骤S3341-步骤S3345的具体限定参见上文中对于步骤S2010-步骤S2016的限定,在此不再赘述。
[0141] 更进一步地,新的拟合配置表输出至评估装置200进行评估,若新的拟合配置表满足预设条件,则评估装置200将新的拟合配置表输出至处理装置300执行激活运算。可选地,评估装置200还可以直接接收拟合配置表中的新的配置信息,将接收到的新的配置信息替换原拟合配置表中的配置信息,从而拟合配置表被更新,得到新的拟合配置表。评估装置200重新评估新的拟合配置表。当新的拟合配置表满足预设条件,则评估装置200将新的拟合配置表输出值处理装置300。具体地,步骤S330中“所述拟合配置表的评价值不满足预设条件时,调整所述激活函数的切分段数,和/或调整每个分段中所述采样点的数量”的步骤,还可以包括:
[0142] 评估装置200当所述拟合配置表的评价值不满足预设条件时,则接收外部输入的修改后的拟合配置表中包含的配置信息。具体地,通过直接接收外部输入的修改后的拟合配置表中包含的配置信息,能够直接修改拟合配置表。评估装置200根据所述外部输入的所述拟合配置表中包含的配置信息,调整所述拟合配置表中的配置信息,获得新的拟合配置表,直至所述新的拟合配置表的评价值满足所述预设条件。
[0143] 在一个实施例中,上述数据处理方法还包括:输出并显示所述拟合配置表的评价值以及评价过程参数;所述评价过程参数包括拟合配置表对应的计算量、各采样点的误差值、最大误差值以及最大误差值对应的采样点坐标中的一个或多个。作为一种具体的实施方式,将所述拟合配置表的评价值以及评价过程参数以视觉信息输出。具体地,拟合配置表的评价值和评价过程参数可以以曲线图或以图表的形式输出,并在显示装置上进行显示。将拟合配置表的评价值及评价过程参数以视觉信息输出并显示,能够向用户直观展现拟合配置表的拟合过程以及与预设条件的差异程度,从而能够为用户进一步调整拟合配置表提供指导和启示。
[0144] 作为进一步地改进,该满足预设条件的拟合配置表能够用于实现激活运算,即开发装置100可以将满足预设条件的拟合配置表输入至处理装置300中,处理装置300可以接收开发装置100输入的拟合配置表,以及用户输入的输入数据,然后该输入数据和拟合配置表进行激活运算,获得激活运算的输出数据。具体地,请一并参阅图10,上述方法还可以包括:
[0145] 步骤S402,处理装置300获取输入数据。具体地,步骤S402还包括,获取激活函数的拟合配置表。其中,拟合配置表可以是经评估装置200评估后满足预设条件的拟合配置表,根据该拟合配置表能够确定对激活函数的拟合处理方法。其中,所述输入数据指利用激活函数进行运算的数据。
[0146] 步骤S404,处理装置300判断所述输入数据对应所述拟合配置表中的分段区间。具体地,拟合配置表中可以有多个连续的分段区间,分段区间组成激活函数的定义域。可以理解地,输入数据是定义域内的数据,进而输入数据对应拟合配置表中的分段区间。其中,定义域为激活函数自变量的取值范围。
[0147] 可选地,上述步骤S404包括:处理装置300根据所述输入数据,确定各所述分段区间的区间拟合函数。具体地,区间拟合函数是指分别对应各个分段区间的拟合函数,即一个分段区间可以对应一个区间拟合函数。可选地,区间拟合函数可以是各不相同的,也可以是都相同的,还可以是部分相同部分不同的。
[0148] 步骤S406,处理装置300根据所述输入数据对应所述拟合配置表中的分段区间,确定所述输入数据在所述拟合配置表中对应的配置信息。
[0149] 步骤S408,处理装置300根据所述配置信息对所述输入数据执行拟合运算,得到所述激活函数的输出数据。具体地,处理装置300根据配置信息对输入数据具体执行的处理过程,是对激活函数进行拟合得到拟合函数的输出数据的处理过程。
[0150] 进一步地,请一并参阅图11,上述步骤S408可以包括:
[0151] 步骤S4081,处理装置300获取硬件指令集。其中,硬件指令集是硬件设备的基础指令格式。在其中一个实施例中,硬件指令集是指神经网络处理器所适用的基础指令格式。
[0152] 步骤S4082,处理装置300根据所述硬件指令集和所述配置信息,编译生成控制指令。具体地,开发装置100生成的拟合配置表中的配置信息经过评估装置200评估后发送给处理装置300,处理装置300不能直接读取配置信息。为此,处理装置300或开发工具100要根据处理装置300的基础指令生成对应配置信息的控制指令。
[0153] 步骤S4083,处理装置300将所述控制指令翻译为机器指令。具体地,通过步骤S4082的编译生成的控制指令传输到处理装置300后不能直接被机器识别。进一步地,处理装置300对控制指令进行译码,把控制指令翻译成处理装置300直接可以识别的机器指令。在其中一个实施例中,机器指令为二进制指令。
[0154] 步骤S4084,处理装置300根据所述配置信息及机器指令对所述输入数据执行拟合运算,得到所述激活函数的输出数据。具体地,处理装置300通过识别机器指令,根据输入数据读取拟合配置表,获取拟合配置表中对应输入数据的配置信息。进一步地,根据配置信息,确定对输入数据具体执行的处理过程,通过机器指令控制处理装置300完成拟合运算,得到激活函数的输出数据。
[0155] 应该理解的是,虽然图2-11流程图中的各个步骤按照箭头的指示依次显示,但是这些步骤并不是必然按照箭头指示的顺序依次执行。除非本文中有明确的说明,这些步骤的执行并没有严格的顺序限制,这些步骤可以以其它的顺序执行。而且,图2-11中的至少一部分步骤可以包括多个子步骤或者多个阶段,这些子步骤或者阶段并不必然是在同一时刻执行完成,而是可以在不同的时刻执行,这些子步骤或者阶段的执行顺序也不必然是依次进行,而是可以与其它步骤或者其它步骤的子步骤或者阶段的至少一部分轮流或者交替地执行。
[0156] 在一个实施例中,请一并参阅图12,本申请提供了一种数据处理装置,所述数据处理装置可以包括开发装置100、评估装置200以及处理装置300。
[0157] 其中,开发装置100可以以硬件装置或软硬件结合的方式实现,开发装置100包括拟合配置表获得模块,所述拟合配置表获得模块可以包括:定义域获取单元111、切分段数获取单元1121、采样点选取单元1122、函数值计算单元1131、以及拟合单元1132。定义域获取单元111用于获取激活函数;切分段数获取单元1211,用于根据所述定义域,确定所述激活函数的切分段数;采样点选取单元1122,用于根据所述激活函数的切分段数,在每个分段中选取采样点。采样点选取单元1122,用于根据所述激活函数的切分段数,在每个分段中选取采样点;函数值计算单元1131,用于根据所述激活函数计算所述各采样点对应的所述激活函数的值;拟合单元1132,用于根据所述采样点以及所述采样点的函数值对所述激活函数进行拟合,得到拟合配置表。
[0158] 可选地,评估装置200可以包括数据获取模块131、评估模块132和拟合配置表调整模块133。其中,数据获取模块131用于获取激活函数和拟合配置表;评估模块132用于根据所述激活函数对所述拟合配置表进行评估,生成所述拟合配置表的评价值;拟合配置表调整模块133用于若所述拟合配置表的评价值不满足预设条件,则调整配置信息以得到新的拟合配置表,直至所述新的拟合配置表的评价值满足所述预设条件。
[0159] 可选地,所述拟合配置表调整模块133可以包括评价值容忍度获取单元1331和评价值容忍度判断单元1332。其中,评价值容忍度获取单元1331用于获取所述拟合配置表的评价值容忍度;评价值容忍度判断单元1332用于在所述拟合配置表的评价值不满足所述评价值容忍度,则调整配置信息,得到所述新的拟合配置表,直至所述拟合配置表的评价值满足所述评价值容忍度。
[0160] 可选地,所述拟合配置表的评价容忍度包括计算量容忍值, 所述评价值容忍度获取单元1331可以包括计算量生成单元13311,计算量生成单元13311用于根据所述拟合配置表,得到所述拟合配置表对应的计算量;所述评价值容忍度获取单元1331包括计算量判断单元13312,用于若所述拟合配置表对应的计算量大于所述计算量容忍值,则调整配置信息以得到新的拟合配置表,直至所述拟合配置表对应的计算量小于或等于所述计算量容忍值。
[0161] 可选地,所述拟合配置表的评价容忍度还包括误差容忍值,所述评价值容忍度获取单元1331还可以包括采样点获取单元13313、函数值获取单元13314以及误差值计算单元13315。其中,采样点获取单元13313用于获取所述激活函数的各采样点;函数值获取单元
13314用于获取所述各采样点对应的所述激活函数的值和所述拟合配置表对应的函数值;
误差值计算单元13315用于根据所述各采样点对应的激活函数的值和所述拟合配置表对应的函数值,得到所述各采样点的误差值。
[0162] 所述评价值容忍度判断单元1332包括误差判断单元13316,用于若存在所述采样点的误差值大于所述误差容忍值,则调整配置信息以得到所述新的拟合配置表,直至所述采样点的误差值小于或等于所述误差容忍值。
[0163] 进一步地,所述误差判断单元13316包括筛选单元133161和最大误差值判断单元133162。
[0164] 其中,筛选单元133161用于比较所述各采样点的误差值,得到最大误差值;最大误差值判断单元133162用于若所述最大误差值大于所述误差容忍值,则调整所述配置信息以得到所述新的拟合配置表,直到所述最大误差值小于或等于所述误差容忍值。
[0165] 更进一步地,误差判断单元13316还可以包括分段误差值判断单元133163,用于针对每个所述分段区间,若所述分段区间内存在所述采样点的误差值大于所述分段区间对应的误差容忍值,则将所述分段区间标记为待调整区间,并调整所述待调整区间对应的配置信息,得到所述激活函数对应的新的拟合配置表,直至各个所述分段区间内的所述采样点的误差值均小于或等于所述分段区间对应的误差容忍值。
[0166] 可选地,所述配置信息包括所述激活函数的切分段数和每个分段中所述采样点的数量,所述拟合配置表调整模块133还具体用于:所述拟合配置表的评价值不满足预设条件时,调整所述激活函数的切分段数,和/或调整每个分段中所述采样点的数量;之后调用所述拟合配置表获得模块以获得所述拟合配置表。
[0167] 可选地,所述数据处理装置还包括开发装置100,所述开发装置100所述开发装置用于:
[0168] 接收外部输入的修改后的配置信息;
[0169] 根据所述外部输入的修改后的配置信息,调整所述激活函数的切分段数,和/或调整每个分段中所述采样点的数量。
[0170] 在其中一个实施例中,所述激活函数的定义域包含多个分段区间;所述数据处理装置还包括开发装置100,所述开发装置用于:
[0171] 根据所述拟合配置表的评价值,确定所述配置信息的调整方式;
[0172] 根据所述配置信息,自动调整所述激活函数的切分段数,和/或调整每个分段中所述采样点的数量。
[0173] 在其中一个实施例中,所述拟合配置表调整模块133还具体用于在拟合配置表的评价值不满足预设条件时,则接收外部输入的修改后的拟合配置表中包含的配置信息;根据所述外部输入的所述拟合配置表中包含的配置信息,调整所述拟合配置表中的配置信息,获得新的拟合配置表,直至所述新的拟合配置表的评价值满足所述预设条件。
[0174] 可选地,评估装置200还包括硬件交互单元134。具体地,硬件交互单元用于将所述控制指令以及拟合配置表发送至所述神经网络处理器。具体地,硬件交互单元是软件和硬件的通信接口。在其中一个实施例中,硬件交互单元包括驱动程序提供的数据拷贝函数,数据拷贝函数将开发装置100中的二进制指令拷入处理装置300的存储模块123中。可选地,数据处理装置还可以包括数据输出模块,数据输出模块用于输出所述拟合配置表的评价值以及评价过程参数;所述评价过程参数包括拟合配置表对应的计算量、各采样点的误差值、最大误差值以及最大误差值对应的采样点坐标中的一个或多个。
[0175] 可选地,数据处理装置还包括处理装置300,处理装置300包括接口模块121、比较模块122以及运算模块124。在其中一个实施例中,神经网络处理器120还可以包括存储模块123。开发装置100可以将拟合配置表或控制指令发送至处理器装置300的存储模块123中。
该处理装置可以为神经网络处理器。进一步地,接口模块121可以从存储模块123中读取拟合配置表和控制指令。所述接口模块121用于获取拟合配置表以及输入数据。可选地,接口模块121还用于获取控制指令。
[0176] 其中,接口模块121获取激活函数的拟合配置表和输入数据。进一步地,接口模块121还用于接收存储单元123发送的拟合配置表和输入数据。所述比较模块122用于判断所述输入数据对应所述拟合配置表中的分段区间;以及用于根据所述输入数据对应所述拟合配置表中的分段区间,确定所述拟合配置表中对应的配置信息。所述比较模块122与所述运算模块124相连,所述运算模块124用于根据所述拟合配置表对所述输入数据执行拟合运算,得到所述激活函数的输出数据。可选地,所述接口模块121还可以用于将所述输出数据发送至所述神经网络处理器120外部。
[0177] 可选地,所述运算模块124包括硬件指令集获取单元和编译单元;所述硬件指令集获取单元用于获取硬件指令集;所述编译单元用于根据所述硬件指令集和所述拟合配置表,编译生成控制指令。
[0178] 可选地,所述装置还包括译码模块125和输出数据生成模块126。所述译码模块125,用于将所述控制指令翻译为机器指令;所述输出数据生成模块126用于根据所述拟合配置表、所述输入数据以及所述机器指令,得到所述激活函数的输出数据。
[0179] 关于数据处理装置的具体限定可以参见上文中对于数据处理方法的限定。上述数据处理装置中的各个单元可全部或部分通过软件、硬件及其组合来实现。上述各单元可以硬件形式内嵌于或独立于计算机设备中的处理器中,也可以以软件形式存储于计算机设备中的存储器中,以便于处理器调用执行以上各个模块对应的操作。
[0180] 在一个实施例中,本申请还提供一种板卡,其内部结构图可以如图13所示。该板卡可以包括通过系统总线连接的人工智能处理器、存储器、网络接口、显示屏和输入装置。其中,该人工智能处理器用于提供计算和控制能。该板卡的存储器包括非易失性存储介质、内存储器。该非易失性存储介质存储有操作系统和计算机程序。该内存储器为非易失性存储介质中的操作系统和计算机程序的运行提供环境。该板卡的网络接口用于与外部的终端通过网络连接通信。该计算机程序被处理器执行时以实现以上任一实施例所述的方法。本实施例提供的板卡,可以执行上述方法实施例,其实现原理和技术效果类似,在此不再赘述。
[0181] 在一个实施例中,本申请还提供一种主板,应用于以上任一实施例所述的方法中,如图14所示,该主板包括:通用处理器(CPU)10和上述实施例提供的板卡,该板卡包括多个人工智能处理器111,多个人工智能处理器111对应的内存为多通道内存;其中,目标人工智能处理器用于在通过目标并行线程接收CPU发出的人工智能处理器计算指令后,通过与所述目标并行线程对应的内存通道,根据所述人工智能处理器计算指令对所述内存通道对应的物理内存进行访问;所述目标人工智能处理器为所述多个人工智能处理器中的任一人工智能处理器,所述目标并行线程为所述CPU启动的多个并行线程中的任一个;所述多个并行线程中至少有两个线程对应不同的内存通道。本实施例提供的主板,可以执行上述方法实施例,其实现原理和技术效果类似,在此不再赘述。
[0182] 在一个实施例中,提供一种电子设备,该电子设备应用于以上任一实施例所述的方法中,该电子设备包括如图14所示的主板。该主板包括CPU和板卡,板卡上的处理器可以为人工智能处理器,该人工智能处理器的数量为多个,多个人工智能处理器对应的内存为多通道内存;其中,目标人工智能处理器用于在通过目标并行线程接收通用处理器CPU发出的人工智能处理器计算指令后,通过与所述目标并行线程对应的内存通道,根据所述人工智能处理器计算指令对所述内存通道对应的物理内存进行访问;所述目标人工智能处理器为所述多个人工智能处理器中的任一人工智能处理器,所述目标并行线程为所述CPU启动的多个并行线程中的任一个;所述多个并行线程中至少有两个线程对应不同的内存通道。
[0183] 可选的,电子设备可以包括数据处理装置、机器人、电脑、打印机扫描仪平板电脑、智能终端、手机、行车记录仪、导航仪、传感器、摄像头、服务器端服务器、相机、摄像机、投影仪、手表机、移动存储、可穿戴设备、交通工具、家用电器、和/或医疗设备。所述交通工具包括飞机、轮船和/或车辆;所述家用电器包括电视、空调微波炉、箱、电饭煲、加湿器洗衣机、电灯、燃气灶、油烟机;所述医疗设备包括核磁共振仪、B超仪和/或心电图仪。
[0184] 本实施例提供的电子设备,可以执行上述方法实施例,其实现原理和技术效果类似,在此不再赘述。
[0185] 在一个实施例中,提供了一种计算机可读存储介质,其上存储有计算机程序,计算机程序被处理器执行时实现以上任一实施例所述方法的步骤。
[0186] 本领域普通技术人员可以理解实现上述实施例方法中的全部或部分流程,是可以通过计算机程序来指令相关的硬件来完成,所述的计算机程序可存储于一非易失性计算机可读取存储介质中,该计算机程序在执行时,可包括如上述各方法的实施例的流程。其中,本申请所提供的各实施例中所使用的对存储器、存储、数据库或其它介质的任何引用,均可包括非易失性和/或易失性存储器。非易失性存储器可包括只读存储器(ROM)、可编程ROM(PROM)、电可编程ROM(EPROM)、电可擦除可编程ROM(EEPROM)或闪存。易失性存储器可包括随机存取存储器(RAM)或者外部高速缓冲存储器。作为说明而非局限,RAM以多种形式可得,诸如静态RAM(SRAM)、动态RAM(DRAM)、同步DRAM(SDRAM)、双数据率SDRAM(DDRSDRAM)、增强型SDRAM(ESDRAM)、同步链路(Synchlink) DRAM(SLDRAM)、存储器总线(Rambus)直接RAM(RDRAM)、直接存储器总线动态RAM(DRDRAM)、以及存储器总线动态RAM(RDRAM)等。
[0187] 以上实施例的各技术特征可以进行任意的组合,为使描述简洁,未对上述实施例中的各个技术特征所有可能的组合都进行描述,然而,只要这些技术特征的组合不存在矛盾,都应当认为是本说明书记载的范围。
[0188] 以上所述实施例仅表达了本申请的几种实施方式,其描述较为具体和详细,但并不能因此而理解为对发明专利范围的限制。应当指出的是,对于本领域的普通技术人员来说,在不脱离本申请构思的前提下,还可以做出若干变形和改进,这些都属于本申请的保护范围。因此,本申请专利的保护范围应以所附权利要求为准。
高效检索全球专利

专利汇是专利免费检索,专利查询,专利分析-国家发明专利查询检索分析平台,是提供专利分析,专利查询,专利检索等数据服务功能的知识产权数据服务商。

我们的产品包含105个国家的1.26亿组数据,免费查、免费专利分析。

申请试用

分析报告

专利汇分析报告产品可以对行业情报数据进行梳理分析,涉及维度包括行业专利基本状况分析、地域分析、技术分析、发明人分析、申请人分析、专利权人分析、失效分析、核心专利分析、法律分析、研发重点分析、企业专利处境分析、技术处境分析、专利寿命分析、企业定位分析、引证分析等超过60个分析角度,系统通过AI智能系统对图表进行解读,只需1分钟,一键生成行业专利分析报告。

申请试用

QQ群二维码
意见反馈