Conditional Probability Models for Deep Image Compression

简介

训练这种基于网络的压缩方法有一个关键的挑战:优化编码器中潜在表示的比特率R,为了使用数量有限的比特对图像进行编码,需要将潜在的表示离散化映射到有限值的集合。而离散化是不可微的,这就给基于梯度的优化方法带来挑战,人们提出很多方法来解决这个问题。
本文重点就是如何对熵进行建模以便在优化过程中权衡D+λH(R)
该文章提出的模型基于上下文模型,上下文模型之前被用来证明已训练模型的编码率,直接作为优化项中的熵。同时训练自动编码器和上下文模型,其中上下文模型学习图像表征的卷积概率模型,而自动编码器则利用它进行熵估计,以实现速率-失真权衡。

模型

Quantization

量化过程是把连续的数 离散到有限数集中,减少储存压力,但是要处理好反向传播的问题。

z^i=Q(zi):=argminjzicj,

思考:这个有限的数集如何确定?
在反向传播时,使用如下软量化

z~i=j=1Lexp(σzicj)l=1Lexp(σzicl)cj

Entropy estimation

这篇文章在PixelRNN的基础上,将离散后的概率分布分解为条件概率的累乘。

p(z^)=i=1mp(z^i|z^i1,,z^1),

然后使用神经网络P(z^)作为上下文模型,来估计条件概率。过程为:
使用

Pi,l(z^)p(z^i=cl|z^i1,,z^1),

作为向量z^中第i个位置量化为有限集C中元素l的概率。将这种近似的概率分布称为q(z^)
由于这种条件分布p(z^i|z^i1,,z^1)只依赖之前的值z^i1,,z^1,这就对网络P施加了因果约束。因为如果想在网络P中并行的计算Pi,l,就必须保证它只依赖之前的z^i1,,z^1
为了学习P,训练P的最大似然,或者使用交叉熵损失来训练Pi来对z^i在C中的序号进行分类。(交叉熵损失如下)

CE:=Ez^p(z^)[i=1mlogPi,I(z^i)].

我们学习P使得P=qp可以使用交叉熵作为熵的估计。所以,在训练自编码器的时候,可以通过最小化CE间接最小化H。因此编码成本为:

C(z^):=i=1mlogPi,I(z^i),

整个模型结构如图所示:
image

上下文概率模型结构如图所示:
image
对量化后的结果进行概率统计。

posted @   浪矢-CL  阅读(86)  评论(0编辑  收藏  举报
相关博文:
阅读排行:
· TypeScript + Deepseek 打造卜卦网站:技术与玄学的结合
· 阿里巴巴 QwQ-32B真的超越了 DeepSeek R-1吗?
· 如何调用 DeepSeek 的自然语言处理 API 接口并集成到在线客服系统
· 【译】Visual Studio 中新的强大生产力特性
· 2025年我用 Compose 写了一个 Todo App
点击右上角即可分享
微信分享提示