卷积神经网络压缩编码技术:特征图与权重的高效处理
1. 卷积神经网络压缩编码概述
在卷积神经网络(CNN)的发展中,参数规模大一直是个亟待解决的问题。为了应对这一挑战,压缩编码技术应运而生,主要分为有损压缩和无损压缩两大类。
有损压缩常用的技术包括量化和剪枝。量化通过减少权重元素的大小,在对CNN精度影响极小的情况下,有效降低了权重规模。例如,将传统的32位单精度浮点元素,替换为8位整数或16位定点精度,可分别将权重大小缩小4倍和2倍。剪枝则是将接近零的权重元素替换为零值元素,从而增加权重数据的稀疏性。
无损压缩方面,基于熵的编码以及一些适用于稀疏矩阵或张量的编码方法被广泛研究。这些方法在不损失数据信息的前提下,尽可能地减少数据的存储空间和传输量。
2. 无损输入特征图压缩
2.1 数据传输问题
尽管通过模型压缩和量化不断减小了CNN模型的参数规模,但CNN硬件加速过程中,硬件加速器与内存之间通过直接内存访问(DMA)进行的数据传输仍然是一个瓶颈。这种数据传输带来了诸多问题,如延迟增加、内存带宽压力增大以及能耗上升,严重限制了许多现代CNN加速器在资源受限系统(如嵌入式设备和物联网设备)中的应用。
数据传输开销可分为延迟开销和能量开销。虽然双缓冲技术可以在一定程度上隐藏延迟开销,但它需要两倍的片上内存容量来支持相同的处理单元利用率,这对于资源受限系统并不适用。而且,当加速器与主内存之间进行大量数据传输时,通过重叠计算和数据传输也无法完全隐藏数据传输延迟,同时也无法解决能量开销问题。由于CNN硬件加速器的片上内存有限,数据重用受到限制,导致能量开销不可忽视。尽管内存内处理(PIM)技术旨在减少数
CNN压缩技术:特征图与权重高效处理
超级会员免费看
订阅专栏 解锁全文
624

被折叠的 条评论
为什么被折叠?



