我每天都在谷歌上搜索,但仍然找不到我需要的答案。我脑子里一定有误会。你能帮帮我吗?
1.为什么我们需要"zero_point"?
Quantization:q=round(r/scale)+zero_point
我认为zero_point (作为偏移量)将缩放的数据移动到一个适当的位置,例如,在下面的无符号2位量化图中,零点移动-1,2到{0,1,2,3}。
,我说得对吗?
如果我错了,请帮助纠正我;
如果我是对的,那么零点在这里是必要的(对称量化),为什么雅各布在 IAO,第2.1节说零点是零填充的?在我看来,这只是一个结果,而不是根本原因?
2.为什么对称量化不需要“零点”?
在Goolge白皮书和一些博客中,它说对称量化不需要零点(因为zero_point=0):
我可以理解它在符号量化,因为浮动范围和量化范围是对称的,使zero_point=0。
然而,如果量化范围0,2^b-1不对称,那么如何在无符号量化中忽略zero_point ?在这种情况下,在我看来,我们必须有一个正零点才能将缩放的数据移到0,2^b-1范围,如下图所示:
发布于 2022-04-18 06:02:19
我还没有找到或得到明确的答案。
但我说服自己如下:
1.为什么我们需要"zero_point"?
zero_point绝对是一种偏移或偏置,将缩放的数据转移到适当的位置。这是毫无疑问的。
但是Jocab提出的“动机”是,"Z和量化的Q具有相同的tye“,而不是”有零点“。前者确保没有错误地量化真实的"0“,因此当以量化的方式推断时,填充(而不是值"0")的是zero_padding (wihout错误)中的零点(与Q类型相同)。
我认为白皮书中的公式(7)-(9)中的“如果有符号”和“如果没有符号”是在谈论x的符号,即,真正的、非量化的浮点值,而不是量化的浮点值。这意味着,有符号浮点值被量化为有符号定点整数,零点=0;无符号浮点数被量化为无符号定点整数,零点=0。
https://stackoverflow.com/questions/71891888
复制相似问题