量化简介

量化简介#

假设有 \(x\in [\alpha, \beta]^n \subseteq \mathbb{R}^n\),记量化函数 \(Q: [\alpha, \beta]^n \longmapsto [\alpha_q, \beta_q]^n\),缩放函数(scaling function) \(sc: [\alpha, \beta]^n \to [0, 1]^n\)。量化函数的一般结构如下:

(7)#\[ Q(x) = sc^{-1}(\hat{Q}(sc(x))) \]

其中 \(sc^{-1}\)\(sc\) 的逆函数,\(\hat{Q}\) 是实际的量化函数(仅接受 \([0, 1]\) 的值)。

对于线性缩放

\[ sc(x) = \cfrac{x-x_{\min}}{x_{\max}-x_{\min}} = \cfrac{x-\alpha}{\beta-\alpha} \]

\[ sc^{-1}(x) = \alpha + (\beta-\alpha)x \]

进一步得

\[ Q(x) = (\beta - \alpha)\hat{Q}(\cfrac{x-\alpha}{\beta-\alpha}) + \alpha \]

假定 \(Q(\alpha) = \alpha_q, Q(\beta) = \beta_q\),则有

\[\begin{split} \begin{cases} \hat{Q}(1) - \hat{Q}(0) = \cfrac{\beta_q - \alpha_q}{\beta - \alpha} \\ \cfrac{\hat{Q}(1)}{\hat{Q}(0)} = \cfrac{\beta_q - \alpha}{\alpha_q - \alpha} \end{cases} \end{split}\]

则有

\[\begin{split} \begin{cases} \hat{Q}(0) = \cfrac{\beta_q - \alpha}{\beta - \alpha}\\ \hat{Q}(1) = \cfrac{\alpha_q - \alpha}{\beta - \alpha} \end{cases} \end{split}\]

\[\begin{split} \begin{cases} S = \cfrac {\beta - \alpha}{\beta_q - \alpha_q}\\ Z = -(\cfrac{\alpha}{S} - \alpha_q) = \alpha_q - \cfrac{\alpha}{S} \end{cases} \end{split}\]

计算机是以二进制形式计数的,需要将其离散化。考虑无符号数据,以 \(k\) bit 存储数据,则其存储的整数值范围为 \([0, 2^k-1]\),即 \(\beta_q - \alpha_q=2^k - 1\)

\(x\) 的离散化表示为 \(x_q=\cfrac{1}{2^k-1} \sum_{p=0}^{k-1} x_p 2^p\),其中 \(x_p \in \{0, 1\}\)。称 \(x_q\) 的值域 \(L_q = \{0, \cfrac{1}{2^k-1}, \cfrac{2}{2^k-1}, \cdots, 1\}\) 为量化水平集。