7、5位CNN权重的算术编码与解码技术详解

5位CNN权重的算术编码与解码技术详解

1. 硬件解码需求与算法概述

在将权重数据发送到CNN加速器之前,需要对压缩的权重数据进行快速原位解压缩(即解码),这就需要一个硬件解码器。硬件解码器接收压缩权重的比特流(BS),并生成原始的5位量化权重数据。为了加快运行时解码过程,硬件解码器中设有多个解码单元(DU)。且该解码硬件与能进行5位量化权重卷积运算的CNN加速器没有依赖关系。

下面来看看算法的整体情况。存在三种编码方式的比较:理论算术编码、无范围缩放的二进制算术编码以及带范围缩放的二进制算术编码,还有对应的解码方式。理论上,算术编码能将原始数据编码为0到1之间的一个实数,但在实际编码为比特流时,由于要映射到有限的二进制数空间,可能会导致下溢,编码数据可能会有损失。若权重元素序列较长且二进制映射空间不足,下溢就容易发生。

为实现无损编码,所提出的技术采用了范围缩放方法,可自适应地缩放二进制映射空间的范围。编码时,根据元素的映射子范围,依据范围缩放条件进行自适应缩放,并将缩放信息和映射、缩放后的子范围信息记录到压缩比特流中。解码时,通过比特流中的滑动窗口,找到无符号整数所属的子范围,进而解码出对应的权重元素,再移动滑动窗口解码下一个权重元素。

2. 权重编码算法

编码5位量化权重数据时,需要输入5位量化权重数据(W)、每个权重值的出现概率(PROB)以及权重元素的数量(K),输出是编码后的权重比特流(BS)。编码前需设置一些变量:
- N:用于通过算术编码将权重数据映射到无符号二进制数的位数。
- RS:包含范围缩放信息,初始设为0。
- MAX、HALF和QTR:根据N计算得出。
- low和hi

评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符  | 博主筛选后可见
 
红包 添加红包
表情包 插入表情
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值