美文网首页
Soft-to-Hard Vector Quantization

Soft-to-Hard Vector Quantization

作者: 学号叁拾 | 来源:发表于2019-11-08 11:16 被阅读0次

    量化量化量化!!
    本paper中所提出的方法在https://arxiv.org/abs/1811.01504?context=cs.CV中用到了。
    本文地址:https://arxiv.org/pdf/1704.00648.pdf
    好难啊,看到熵编码就暂时看不下去了,求大神解析!

    主要贡献

    利用量化和熵的软松弛,提出了第一个端到端的学习框架,该框架可用于图像压缩以及神经网络压缩。到目前为止,这两个问题可进行独立研究。
    方法简单且直观,依赖于给定标量或向量的软赋值来量化到量子化级别。一个参数控制分配的“hardness”,并允许在训练期间逐步从软任务过渡到硬任务。与基于舍入或随机量化方案相比,该编码方案是直接可微的,因此可以端到端的训练。
    该方法并不强迫网络适应特定的(给定的)量化输出(例如,整数),而是与权重一起学习量化级别,使应用程序能够处理更广泛的问题。特别地,本方法第一次在学习压缩的上下文中探讨了向量量化,并演示了它相对于标量量化的好处。
    与以往的研究不同的是,没有采用文献中常用的参数化模型,而是采用赋值概率的直方图来对特征或模型参数的边缘分布进行量化。

    Introduction

    为了压缩一组连续model参数或特性,需要通过一组量化级别(或向量,在多维情况下),每个相关符号的代表近似每个参数或特征,然后存储参数或特征的赋值,以及量化水平。将一个DNN模型的每个参数或特征用相应的量化级表示出来,将以失真D为代价。列如:性能上的损失(例如,具有量化模型参数的分类DNN的分类精度,或具有量化中间特征表示的自编码环境中的重构误差)。速率R,即,符号流的熵决定了在位流中对模型或特征进行编码的成本。
    为了学习DNN模型或特征表示的可压缩,需要最小化D+βR。其中β>0用来控制速率失真的权衡。将熵加入代价函数中可以看作是加入一个正则化器来促进网络或特征的可压缩表示。但是DNN模型最小化D+βR时,又有两个挑战:
    1.处理量化函数的不可微分
    2.得到一个准确的且可微分的熵估计值
    解决不可微的流行方法:随即近似以及用平滑的导数近似舍入。
    解决2)的一种常见的方法是假设符号流是i.i.d(独立同分布),并使用参数化模型对边缘符号分布进行建模,如高斯混合模型、分段线性模型或伯努利分布(二进制符号)。
    i.i.d(独立同分布):随机过程中,任何时刻的取值都为随机变量,如果随机变量服从同一分布且相互独立,则变量独立同分布。
    本文中提出了一个统一的端到端学习框架来学习可压缩的表示,联合优化模型参数、量化级和产生的符号流的熵来压缩网络中特征表示的子集或模型本身。

    Proposed Soft-to-Hard Vector Quantization

    1.problem formulation
    • Preliminary & Notations 假设有一个DNN的标准模型,其框架F为:
      K层Fi的映射组成。
      网络参数W=[w1,……,wK],并且:
      网络中间层的输出:
      当i=0时,等于x本身。其中,
      是Fi层生成的特征向量。
      网络的参数需要根据训练数据x以及标签y学习优化,需要最小化真实值的loss,该loss值可被分解训练数据与正则化项的和:

    λ>0设置为正则化强度,R(W)是正则化,网络的参数可以通过使用最小批度随机梯度量化学习。假设下x,y是从Pxy分布中提取出来的,该loss函数可看作期望loss 的估计值。

    当网络映射回到输入空间时,该深层架构相当于一个自动编码器,其目的是复制输入。自动编码器中,d1=dk+1以及F(X)用于训练近似x,使用均方误差作为损失函数:
    自动编码器通常将输入的维数压缩到网络内部的一些更小的维数,即,输出维数最小的层
    • Compressible representation如果权重参数W和特征X能够被序列化成二进制流,则可以将其压缩表示。对于DNN模型压缩,使整个网络的参数W压缩。对于图像压缩,经过自动编码器,仅需要压缩特征。
      假设我们想要压缩一个给定输入x的网络中的特征表示z 属于Rd(例如,自动编码器的x(b))。假设下x,y是从Pxy分布中提取出来的,z是一个连续随机变量Z的样本。
      为了用有限位数存储z,我们需要将它映射到一个离散空间。具体来说,使用(符号)编码器E将z映射到m个符号序列:

      其中每个符号都是一个从1到L的索引,
      然后由(符号)解码器D产生z的重构:
      通过解码器D,符号又映射回:
    因为z是Z的一个符号,符号流E(z)是从离散概率分布PE(z)中提取的。因此,给定编码器E,根据香农信源编码理论,压缩系数的正确度量是E(Z)的熵:
    目标是优化期望损失和E(Z)熵之间的率失真权衡:
    但是,并不能直接优化以上目标函数,原因有二:
    1.并不清楚X和Y的分布。

    2.Z的分布复杂地依赖于网络参数W和X的分布。
    3.编码器是一个离散的映射,因此不可微。

    对于第一个近似,我们考虑的是样本熵而不是H(E(Z))。给定数据X以及一些固定的网络参数W,可以估计出概率值:
    并且:
    根据香农理论,将目标函数简化成样本熵:

    Method

    Encoder&Decoder:编码器E:假设有L个中心向量:


    将z进行编码并且对其重塑成矩阵:
    也就是说,特征z能够被建模成一个m个点的序列,在中心c上划分出维诺图。
    解码器D:通过选择相对应的中心,符号序列(e1,...em)能够简单创建一个解码好的特征。

    要对编码器E进行软赋值。
    定义了从z到C的软赋值:

    通过softmax操作,之后将其收敛为一个邻近中心编码的one-hot点。
    通过使用软赋值,可以定义软量化:

    中心C作为一个矩阵:
    则硬赋值就可以表示为:

    之后可以得到:


    熵编码:

    soft-to-hard deterministic annealing

    相关文章

      网友评论

          本文标题:Soft-to-Hard Vector Quantization

          本文链接:https://www.haomeiwen.com/subject/skhsbctx.html