考虑负载均衡的深度神经网络压缩方法技术

技术编号:16365839 阅读:120 留言:0更新日期:2017-10-10 21:58
本申请公开了一种对神经网络进行压缩的方法,所述神经网络的神经元的连接关系被多个矩阵多表示,包括:分块步骤,对所述多个矩阵进行分块,把每个矩阵分为多个子矩阵;压缩步骤,对每个子矩阵进行压缩,从而把每个子矩阵压缩为稀疏矩阵;和编码步骤,对压缩后的每个稀疏子矩阵按照进行编码。本发明专利技术提出一种对神经网络进行压缩的装置。

Depth neural network compression method considering load balancing

The invention discloses a method for compressing the neural network, the neural network connections between neurons are more matrix expressed, including: block steps, the plurality of matrix block, each matrix is divided into multiple sub matrix; compression step to compress each sub matrix thus, each sub matrix is a sparse matrix compression and encoding steps; for each sub compressed sparse matrix according to encoding. The invention provides a device for compressing a neural network.

【技术实现步骤摘要】
考虑负载均衡的深度神经网络压缩方法本申请要求于2016年8月22日提交的美国专利申请No.15/242,622、和于2016年8月22日提交的美国专利申请No.15/242,624的优先权。专利
本专利技术涉及考虑负载均衡的深度神经网络压缩方法及装置。
技术介绍
人工神经网络的压缩人工神经网络(ArtificialNeuralNetworks,ANNs),也简称神经网络(NNs),是一种模仿动物神经网络的行为特征,进行分布式并行信息处理的数学计算模型。近年来,神经网络发展很快,被广泛应用于诸多领域,如图像识别、语音识别、自然语言处理、天气预报、基因表达、内容推送等等。神经网络中,有大量彼此连接的节点(也称“神经元”)。神经网络具备两个特性:1)每个神经元,通过某种特定的输出函数(也叫激活函数ActivationFunction),计算处理来自其它相邻神经元的加权输入值;2)神经元之间的信息传递强度用所谓的权值来定义,算法会不断自我学习,调整这个权值。早期的神经网络只有输入和输出层两层,无法处理复杂的逻辑,因此限制了其实用性。如图1所示,深度神经网络(DeepNeuralNetwork本文档来自技高网...
考虑负载均衡的深度神经网络压缩方法

【技术保护点】
一种对神经网络进行压缩的方法,所述神经网络的神经元的连接关系被多个矩阵多表示,包括:分块步骤,对所述多个矩阵进行分块,把每个矩阵分为多个子矩阵;压缩步骤,对每个子矩阵进行压缩,从而把每个子矩阵压缩为稀疏矩阵;编码步骤,对压缩后的每个稀疏子矩阵按照进行编码。

【技术特征摘要】
2016.08.22 US 15/242,622;2016.08.22 US 15/242,6241.一种对神经网络进行压缩的方法,所述神经网络的神经元的连接关系被多个矩阵多表示,包括:分块步骤,对所述多个矩阵进行分块,把每个矩阵分为多个子矩阵;压缩步骤,对每个子矩阵进行压缩,从而把每个子矩阵压缩为稀疏矩阵;编码步骤,对压缩后的每个稀疏子矩阵按照进行编码。2.根据权利要求1所述的方法,所述分块步骤进一步包括:对每个矩阵以每隔N行抽取的方式进行分割,从而形成N个大小相似的子矩阵。3.根据权利要求2所述的方法,所述N根据用于实现所述神经网络的计算单元的个数而确定,所述多个计算单元能够以并行方式进行计算。4.根据权利要求1所述的方法,所述压缩步骤包括:以相同的压缩率对每个子矩阵进行压缩。5.根据权利要求4所述的方法,所述压缩步骤包括:将各子矩阵中的元素按绝对值从小到大进行排序,保留与相应压缩率相对应比例的绝对值较大的元素,并将其余元素置零。6.根据权利要求1所述的方法,所述编码步骤包括:以行压缩(CompressedRowStorageCRS)或列压缩存储(CompressedColumnStorageCCS)方式来编码所述稀疏子矩阵。7.根据权利要求1所述的方法,还包括:把所述编码后的各个稀疏子矩阵以并行方式提供给多个计算单元。8.一种压缩神经网络的方法,所述神经网络的神经元之间的连接关系以多个矩阵表示,所述方法包括:分块步骤,对所述多个矩阵进行分块,把每个矩阵分为多个子矩阵;敏感度分析步骤,用于分析所述多个矩阵中的每个矩阵的敏感度,以及确定各个矩阵的初始压缩比;压缩步骤,用于基于所述初始压缩比对所述各个矩阵的子矩阵进行压缩,以获得压缩后的神经网络;重训步骤,用于重训所述压缩后的神经网络。9.根据权利要求8的方法,还包括:迭代执行所述分块步骤、所述敏感度分析步骤、所述压缩步骤、所述重训步骤。10.根据权利要求8所述的方法,所述神经网络是LSTM神经网络。11.根据权利要求8所述的方法,所述分块步骤进一步包括:对每个矩阵以每隔N行抽取的方式进行分割,从而形成N个大小相似的子矩阵。12.根据权利要求11所述的方法,所述N根据用于实现所述神经网络的计算单元的个数而确定,所述多个计算单元能够以并行方式进行计算。13.根据权利要求8的方法,其中,所述敏感度分析步骤进一步包括:获得压缩前的神经网络错误率WERinitial;基于不同压缩比(d1,d2,…dn)来压缩所述神经网络,得到压缩后的各个神经网络错误率WERd1、WERd2,…WERdn;基于所述各个神经网络错...

【专利技术属性】
技术研发人员:李鑫陆智麟单羿
申请(专利权)人:北京深鉴智能科技有限公司
类型:发明
国别省市:北京,11

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

1