压缩神经网络的激活图的系统、方法及其解压缩方法技术方案

技术编号:24123840 阅读:21 留言:0更新日期:2020-05-13 03:55
公开一种压缩神经网络的激活图的系统、方法及其解压缩方法。系统和方法提供神经网络的层的激活图的压缩和解压缩。对于压缩,激活图的值被稀疏化,并且激活图被配置为具有H×W×C的张量大小的张量,其中,H表示所述张量的高度,W表示所述张量的宽度,C表示所述张量的通道的数量。所述张量被格式化为具有值的至少一个块。使用至少一种无损压缩模式独立于所述张量的其他块对每个块进行编码。对于解压缩,使用与用于压缩所述块的所述至少一种压缩模式对应的至少一种解压缩模式,独立于其他块对每个块进行解码;以及将每个块解格式化为具有H×W×C的大小的张量。

【技术实现步骤摘要】
压缩神经网络的激活图的系统、方法及其解压缩方法本专利申请要求于2018年11月5日提交的第62/756,067号美国临时专利申请和于2018年12月17日提交的第16/223,092号美国非临时专利申请的优先权权益,所述美国专利申请的公开通过完整引用包含于此。
在此公开的主题总体涉及一种提供神经网络的激活图的有损编码/解码以减少存储器需求并加速神经网络的执行的方法和系统。
技术介绍
近来,深度神经网络已经主导了从计算机视觉(图像分类、图像分割)、自然语言处理(词级(word-level)预测、语音识别和机器翻译)到医学成像等范围的广泛的应用。已经设计了专用硬件,以尽可能高效地运行深度神经网络。然而,在软件方面,一些研究已经集中于使这些网络在运行期间的存储器需求和计算需求最小化。当试图在具有有限的存储器的嵌入式装置上训练神经网络时,尽可能使算法的存储器需求最小化是非常重要的。在训练期间,大部分的存储器实际上被激活图占用。例如,当前的深度神经网络系统的激活图消耗系统所需的总存储器的约60%和85%之间。因此,减少与激活图相关联的存储器占用(memoryfootprint)成为减少训练算法的全部存储器占用的重要部分。在修正线性单元(ReLU)被用作激活函数的神经网络中,激活图趋于变得稀疏。例如,在Inception-V3模型中,大多数激活图具有大于50%的稀疏度,在一些情况下大多数激活图具有超过90%的稀疏度。因此,存在对可以以这种稀疏度为目标来减少训练算法的存储器需求的压缩系统的强烈市场需求。r>
技术实现思路
示例实施例提供一种用于压缩神经网络的层的激活图的系统,其中,所述系统可包括:处理器,被编程为启动可执行的操作,所述可执行的操作包括:使用处理器对激活图的若干个非零值进行稀疏化;将激活图配置为具有H×W×C的张量大小的张量,其中,H表示所述张量的高度,W表示所述张量的宽度,C表示所述张量的通道的数量;将所述张量格式化为具有值的至少一个块;以及使用至少一种无损压缩模式独立于所述张量的其他块对所述至少一个块进行编码。在一个实施例中,所述至少一种无损压缩模式可从包括以下项的组选择:指数哥伦布编码、稀疏指数哥伦布编码、稀疏指数哥伦布去除最小编码、哥伦布赖斯编码、指数尾数编码、零编码、固定长度编码和稀疏固定长度编码。在另一实施例中,被选择用于对所述至少一个块进行编码的所述至少一种无损压缩模式可不同于被选择用于对所述张量的另一个块进行编码的无损压缩模式。在另一实施例中,可使用多种无损压缩模式独立于所述张量的其他块对所述至少一个块进行编码。另一示例实施例提供一种用于压缩神经网络的激活图的方法,所述方法可包括:使用处理器对激活图的多个非零值进行稀疏化;将激活图配置为具有H×W×C的张量大小的张量,其中,H表示所述张量的高度,W表示所述张量的宽度,C表示所述张量的通道的数量;将所述张量格式化为具有值的至少一个块;以及使用至少一种无损压缩模式独立于所述张量的其他块对所述至少一个块进行编码。在一个实施例中,所述至少一种无损压缩模式可从包括以下项的组选择:指数哥伦布编码、稀疏指数哥伦布编码、稀疏指数哥伦布去除最小编码、哥伦布赖斯编码、指数尾数编码、零编码、固定长度编码和稀疏固定长度编码。在另一实施例中,被选择用于对所述至少一个块进行编码的所述至少一种无损压缩模式可不同于被选择用于对所述张量的另一个块进行压缩的无损压缩模式。在另一实施例中,对所述至少一个块进行编码的步骤还可包括使用多种无损压缩模式独立于所述张量的其他块对所述至少一个块进行编码。在一个实施例中,所述方法还可包括输出被编码为比特流的所述至少一个块。另一示例实施例提供一种用于解压缩神经网络的稀疏化激活图的方法,所述方法可包括:使用处理器对表示稀疏化激活图的值的比特流的具有值的压缩块进行解压缩,以形成具有值的至少一个解压缩块,具有值的解压缩块使用与用于压缩所述至少一个块的至少一种无损压缩模式对应的至少一种解压缩模式独立于激活图的其他块被解压缩;以及将解压缩的块解格式化为具有H×W×C的大小的张量的部分,其中,H表示所述张量的高度,W表示所述张量的宽度,C表示所述张量的通道的数量,所述张量是解压缩的激活图。在一个实施例中,所述至少一种无损压缩模式可从包括以下项的组选择:指数哥伦布编码、稀疏指数哥伦布编码、稀疏指数哥伦布去除最小编码、哥伦布赖斯编码、指数尾数编码、零编码、固定长度编码和稀疏固定长度编码。在一个实施例中,所述方法还可包括:使用处理器对激活图的若干个非零值进行稀疏化;将激活图配置为具有H×W×C的张量大小的张量;将所述张量格式化为具有值的至少一个块;以及使用至少一种无损压缩模式独立于所述张量的其他块对所述至少一个块进行编码。在一个实施例中,被选择用于压缩所述至少一个块的所述至少一种无损压缩模式可不同于被选择用于压缩接收的所述至少一个激活图的张量的另一个块的无损压缩模式,并且压缩所述至少一个块的步骤还可包括:使用多种无损压缩模式独立于接收的至少一个激活图的张量的其他块压缩所述至少一个块。附图说明在下面的部分中,将参照在附图中示出的示例性实施例来描述在此公开的主题的方面,其中:图1A描绘根据在此公开的主题的用于神经网络的激活图的有损压缩和解压缩的系统的示例实施例的功能框图;图1B描绘根据在此公开的主题的压缩器的功能框图;图1C描绘根据在此公开的主题的解压缩器的功能框图;图2A和图2B分别描绘根据在此公开的主题的深度神经网络的激活图的编码方法和解码方法的示例实施例;以及图3描绘根据在此公开的主题的在神经网络的层L的激活图的操作流程。具体实施方式在下面的具体实施方式中,阐述了许多具体细节以提供对本公开的透彻理解。然而,本领域技术人员将理解,可在没有这些具体细节的情况下实践公开的方面。在其他实例中,没有详细描述公知的方法、过程、组件和电路,以不模糊在此公开的主题。在整个说明书中对“一个实施例”或“实施例”的引用意味着结合该实施例描述的特定的特征、结构或特性可包括在在此公开的至少一个实施例中。因此,在整个说明书中的不同地方出现的短语“在一个实施例中”或“在实施例中”或“根据一个实施例”(或具有类似含义的其他短语)可不一定都指示同一实施例。此外,在一个或多个实施例中,可以以任何合适的方式组合特定的特征、结构或特性。就这一点而言,如在此使用的,词“示例性”意味着“用作示例、实例或说明”。在此描述为“示例性”的任何实施例不应被解释为一定比其他实施例优选或有利。此外,根据在此的讨论的上下文,单数术语可包括对应的复数形式,复数术语可包括对应的单数形式。还应注意,在此示出和讨论的各种附图(包括组件图)仅用于说明性目的,并且不按比例绘制。类似地,仅用于说明性目的而示出各种波形和时序图。例如,为了清楚起见,元件中的一些元件的尺寸可相对于其他元件被夸大。此外,如果认为合适,在附图中重复参考标号以指示对应的和/或类似的元件。在此使用的术语仅用于描述特定的示例性实施例的目的,并不意本文档来自技高网...

【技术保护点】
1.一种用于压缩神经网络的层的激活图的系统,所述系统包括:/n处理器,被编程为启动可执行的操作,所述可执行的操作包括:/n使用处理器对激活图的若干个非零值进行稀疏化;/n将稀疏化激活图配置为具有H×W×C的张量大小的张量,其中,H表示所述张量的高度,W表示所述张量的宽度,C表示所述张量的通道的数量;/n将所述张量格式化为具有值的至少一个块;以及/n使用至少一种无损压缩模式独立于所述张量的其他块对所述至少一个块进行编码。/n

【技术特征摘要】
20181105 US 62/756,067;20181217 US 16/223,0921.一种用于压缩神经网络的层的激活图的系统,所述系统包括:
处理器,被编程为启动可执行的操作,所述可执行的操作包括:
使用处理器对激活图的若干个非零值进行稀疏化;
将稀疏化激活图配置为具有H×W×C的张量大小的张量,其中,H表示所述张量的高度,W表示所述张量的宽度,C表示所述张量的通道的数量;
将所述张量格式化为具有值的至少一个块;以及
使用至少一种无损压缩模式独立于所述张量的其他块对所述至少一个块进行编码。


2.根据权利要求1所述的系统,其中,所述至少一种无损压缩模式从包括以下项的组选择:指数哥伦布编码、稀疏指数哥伦布编码、稀疏指数哥伦布去除最小编码、哥伦布赖斯编码、指数尾数编码、零编码、固定长度编码和稀疏固定长度编码。


3.根据权利要求2所述的系统,其中,被选择用于对所述至少一个块进行编码的所述至少一种无损压缩模式不同于被选择用于对所述张量的另一个块进行编码的无损压缩模式。


4.根据权利要求1所述的系统,其中,对所述至少一个块进行编码的步骤包括使用多种无损压缩模式独立于所述张量的其他块对所述至少一个块进行编码。


5.根据权利要求1所述的系统,其中,所述至少一个块包括48比特。


6.根据权利要求1所述的系统,其中,所述可执行的操作还包括:输出被编码为比特流的所述至少一个块。


7.根据权利要求6所述的系统,其中,所述可执行的操作还包括:
使用与用于压缩所述至少一个块的所述至少一种压缩模式对应的至少一种解压缩模式,独立于所述张量的其他块对所述至少一个块进行解码;以及
将所述至少一个块解格式化为具有H×W×C的大小的张量。


8.根据权利要求1所述的系统,其中,稀疏化激活图包括浮点值,
其中,所述可执行的操作还包括:将激活图的浮点值量化为整数值。


9.一种用于压缩神经网络的激活图的方法,所述方法包括:
使用处理器对激活图的若干个非零值进行稀疏化;
将激活图配置为具有H×W×C的张量大小的张量,其中,H表示所述张量的高度,W表示所述张量的宽度,C表示所述张量的通道的数量;
将所述张量格式化为具有值的至少一个块;以及
使用至少一种无损压缩模式独立于所述张量的其他块对所述至少一个块进行编码。


10.根据权利要求9所述的方法,还包括:从包括以下项的组选择所述至少一种无损压缩模式:指数哥伦布编码、稀疏指数哥伦布编码、稀疏指数哥伦布...

【专利技术属性】
技术研发人员:乔治斯·乔治亚迪斯
申请(专利权)人:三星电子株式会社
类型:发明
国别省市:韩国;KR

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

1