一种训练装置制造方法及图纸

技术编号:19935256 阅读:31 留言:0更新日期:2018-12-29 04:55
本公开提供了一种训练装置,包括:数据处理模块;以及运算模块,其与所述数据处理模块连接,用于接收所述数据处理模块处理后的数据进行运算。本公开训练装置,可有效加速反向训练部分,也可用于整个神经网络的训练流程加速,提高了训练及运算速度,降低了训练功耗,提高了运算的有效性。

【技术实现步骤摘要】
一种训练装置
本公开涉及人工智能
,尤其涉及一种稀疏训练装置。
技术介绍
深度神经网络是目前许多人工智能应用的基础,其在语音识别、图像处理、数据分析、广告推荐系统、汽车自动驾驶等多方面得到了突破性的应用,使得深度神经网络被应用在了生活的各个方面。但是,深度神经网络的运算量巨大,一直制约着其更快速的发展和更广泛的应用。当考虑运用加速器设计来加速深度神经网络的运算时,巨大的运算量,必然会带了很大的能耗开销,同样制约着加速器的进一步的广泛应用。在神经网络的运算中,主要包括两部分,正向推测和反向训练。然而对于现有的加速器来说,大多都只支持正向推测部分,而没有考虑反向训练部分于是,这也带来了一个问题就是,加速器只能够加速正向推测部分,无法加速反向训练部分,也就无法完成神经网络的整个训练过程,具有明显的局限性。
技术实现思路
(一)要解决的技术问题为了解决或者至少部分缓解上述技术问题,本公开提供了一种稀疏训练装置。本公开稀疏训练装置,可以支持稀疏或稠密的神经网络的正向推测部分,也可以加速反向训练部分,能够用于整个神经网络的训练流程加速。(二)技术方案根据本公开的一个方面,提供了一种训练装置,包括:数据处理模块,用于对输入数据进行压缩或扩展;以及,运算模块,与所述数据处理模块连接,用于接收所述数据处理模块处理后的数据进行运算。在一些实施例中,所述数据处理模块包括:数据压缩单元,用于根据一压缩判断条件对输入数据进行压缩;以及数据扩展单元,用于根据一扩展判断条件对输入数据进行扩展。在一些实施例中,所述数据扩展单元,用于对输入数据进行扩展,其将压缩的稀疏的数据扩展为非压缩格式。在一些实施例中,所述压缩判断条件及扩展判断条件包括阈值判断条件或函数映射判断条件。在一些实施例中,所述阈值判断条件,包括:小于一给定阈值,大于一给定阈值,在一给定取值范围内或在一给定取值范围外。在一些实施例中,所述数据压缩单元根据数据的稀疏索引值对输入数据进行筛选和压缩,得到待运算的数据;或根据数据本身的值进行判断,从而筛选并压缩得到符合所述压缩判断条件的数值。在一些实施例中,所述数据压缩单元根据突触数据的稀疏索引值对输入的神经元数据进行筛选和压缩,得到待运算的神经元数据,或根据神经元数据的稀疏索引值对输入的突触数据进行筛选和压缩,得到待运算的突触数据。在一些实施例中,所述数据压缩单元根据突触本身的值与一给定阈值相比较,筛选并压缩得到绝对值不小于给定阈值的突触数据,或根据神经元本身的值与一给定阈值相比较,筛选并压缩得到绝对值不小于给定阈值的神经元数据。在一些实施例中,所述数据处理模块还用于根据一梯度值判断条件确定是否将梯度值及待运算的数据发送至运算模块。在一些实施例中,所述梯度值判断条件包括阈值判断条件或函数映射判断条件。在一些实施例中,所述阈值判断条件,包括:小于一给定阈值,大于一给定阈值,在一给定取值范围内或在一给定取值范围外。在一些实施例中,若经数据处理模块判断确定神经元梯度值的绝对值小于给定阈值,则将梯度值和对应的待运算的突触压缩,即不发送运算模块进行运算;否则,若梯度值的绝对值不小于给定阈值,则将梯度值和对应的待运算的突触发送至运算模块中进行运算。在一些实施例中,若突触以稀疏形式存储,则在输入运算模块运算之前,由所述数据处理模块对突触和突触索引值进行扩展,转换成非稀疏模式。在一些实施例中,所述运算模块包括:第一运算单元,其包括多个PE,每个PE包括乘法器和/或加法器,用于完成乘法、加法或乘加运算;第二运算单元,其包括两组加法树,每组加法树包括多个加法树,用于完成累加运算;以及第三运算单元,其包括ALU。在一些实施例中,所述第一运算单元包括M*N个PE,每个PE包括一乘法器和一加法器;所述第二运算单元包括两组加法树,一组包括M个N输入的加法树,另一组包括N个M输入的加法树;所述第三运算单元包括max(M,N)个ALU;其中,M和N均为正整数。在一些实施例中,在运算模块中,所述第一运算单元用于完成梯度值和突触的乘法操作,即将突触和对应的梯度值进行一一对应相乘,所述第二运算单元利用加法树将同一列待累加的数据进行累加;若该累加结果不是最终需要的累加结果,即累加操作尚未完成,则跳过第三运算单元,将该中间结果保存在缓存中,等待下次一并累加;否则,由第三运算单元中的ALU完成后续运算。在一些实施例中,若上一层存在激活函数,则所述第三运算单元还用于将该累加结果和所述激活函数的反函数相乘,得到最终的梯度值。在一些实施例中,所述第三运算单元还用于根据一置零判断条件对所述梯度值进行置零设置。在一些实施例中,所述置零判断条件为阈值判断条件,若梯度值的绝对值小于置零阈值,则将该梯度值置0;否则梯度值保持不变。在一些实施例中,还包括:存储模块,用于存储数据;控制模块,用于存储和发出指令,从而控制所述存储模块、数据控制模块及运算模块。根据本公开的另一个方面,提供了一种芯片,其包括所述的训练装置。根据本公开的另一个方面,提供了一种芯片封装结构,其包括所述的芯片。根据本公开的另一个方面,提供了一种板卡,其包括所述的芯片封装结构。根据本公开的另一个方面,提供了一种电子装置,其包括所述的板卡。(三)有益效果从上述技术方案可以看出,本公开稀疏训练装置至少具有以下有益效果其中之一:(1)本公开稀疏训练装置,可有效加速反向训练部分,大大提高了训练速度,降低了训练功耗。(2)通过对数据进行扩展或压缩,降低了训练功耗。(3)同时,本公开稀疏序列装置可很好的支持稀疏或稠密的神经网络的正向推测部分,从而能够用于整个神经网络的训练流程加速。(4)在反向训练的时,通过增加梯度值判断条件、置零判断条件,从而进一步的提高了运算的有效性,提高了运算速度。附图说明图1是根据本公开稀疏训练装置功能模块图。图2是根据本公开运算模块结构示意图。图3是根据本公开运算模块另一结构示意图。图4是根据本公开数据处理模块结构示意图。图5是根据本公开数据稀疏处理过程示意图。图6是根据本公开数据稀疏处理过程另一示意图。图7是根据本公开数据扩展处理过程示意图。图8是根据本公开运算模块另一结构示意图。具体实施方式为使本公开的目的、技术方案和优点更加清楚明白,以下结合具体实施例,并参照附图,对本公开作进一步的详细说明。需要说明的是,在附图或说明书描述中,相似或相同的部分都使用相同的图号。附图中未绘示或描述的实现方式,为所属
中普通技术人员所知的形式。另外,虽然本文可提供包含特定值的参数的示范,但应了解,参数无需确切等于相应的值,而是可在可接受的误差容限或设计约束内近似于相应的值。此外,以下实施例中提到的方向用语,例如“上”、“下”、“前”、“后”、“左”、“右”等,仅是参考附图的方向。因此,使用的方向用语是用来说明并非用来限制本公开。本公开主要提出了一种神经网络稀疏训练装置,能够支持神经网络的整个训练过程。如图1所示,所述稀疏训练装置包括控制模块、存储模块、数据处理模块和运算模块。其中,控制模块主要用于存储指令、发射指令,从而调控存储模块、数据控制模块及运算模块,使其稀疏训练装置整体上能够协调有序的合作。存储模块主要用于存储数据,包括运算过程中的待运算的神经元数据、突触数据、中间结果数据、最终结果数据以及本文档来自技高网
...

【技术保护点】
1.一种训练装置,包括:数据处理模块,用于对输入数据进行压缩或扩展;以及,运算模块,与所述数据处理模块连接,用于接收所述数据处理模块处理后的数据进行运算。

【技术特征摘要】
1.一种训练装置,包括:数据处理模块,用于对输入数据进行压缩或扩展;以及,运算模块,与所述数据处理模块连接,用于接收所述数据处理模块处理后的数据进行运算。2.根据权利要求1所述的训练装置,其中,所述数据处理模块包括:数据压缩单元,用于根据一压缩判断条件对输入数据进行压缩;以及数据扩展单元,用于根据一扩展判断条件对输入数据进行扩展。3.根据权利要求2所述的训练装置,其中,所述数据扩展单元,用于对输入数据进行扩展,其将压缩的稀疏的数据扩展为非压缩格式。4.根据权利要求2所述的训练装置,其中,所述压缩判断条件及扩展判断条件包括阈值判断条件或函数映射判断条件。5.根据权利要求4所述的训练装置,其中,所述阈值判断条件,包括:小于一给定阈值,大于一给定阈值,在一给定取值范围内或在一给定取值范围外。6.根据权利要求2所述的训练装置,其中,所述数据压缩单元根据数据的稀疏索引值对输入数...

【专利技术属性】
技术研发人员:不公告发明人
申请(专利权)人:上海寒武纪信息科技有限公司
类型:发明
国别省市:上海,31

网友询问留言 已有0条评论
  • 还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。

1