深度卷积神经网络加速器:原理、架构与数据处理
在深度学习领域,卷积神经网络(CNN)的计算需求不断增长,对高效的硬件加速器提出了更高要求。本文将详细介绍一种名为NeuroMAX的密集CNN加速器,包括其对数映射、硬件架构以及数据处理流程。
1. 对数映射(Log Mapping)
在神经网络中,许多训练好的神经网络的权重和输入激活值呈现非均匀分布。当将32位浮点数(fp32)的非均匀分布值映射到定点、线性量化值时,对于小位宽会引入大量的量化噪声。
大多数硬件平台使用定点算术进行数据处理,定点数采用有符号Qm.n格式表示,其中m表示整数部分,n表示小数部分。其可表示的值范围为$range_{lin} = [-2^{m - 1}, 2^{m - 1} - \epsilon]$,其中$\epsilon = 2^{-n}$为步长。
线性量化器将fp32值四舍五入到最接近的$\epsilon$的倍数,然后进行裁剪:
[
x_q = clip\left[\left(round\left(\frac{x}{\epsilon}\right)\right) \cdot \epsilon, -2^{m - 1}, 2^{m - 1} - \epsilon\right]
]
其中,
[
clip(x, min, max) =
\begin{cases}
max, & x \geq max \
x, & min < x < max \
min, & otherwise
\end{cases}
]
对数量化器以输
超级会员免费看
订阅专栏 解锁全文
1万+

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



