COIN: COMPRESSION WITH IMPLICIT NEURAL REPRESENTATIONS[论文笔记]

COIN:基于隐式神经表示的压缩

  • Abstract
  • 1 介绍
  • 2 方法
    • 2.1 编码
    • 2.2 解码
  • 3 相关工作
  • 4 实验
  • 5 范围、局限性和未来工作
  • 6 总结

Abstract

我们提出了一种新的简单的图像压缩方法:不是存储图像每个像素的RGB值,而是存储过度拟合到图像的神经网络的权重。具体来说,为了编码图像,我们使用MLP将像素位置映射到RGB值。然后,我们量化并存储该MLP的权重作为图像的代码。为了解码图像,我们只需在每个像素位置评估MLP。我们发现,即使没有熵编码或学习权重分布,这种简单的方法在低比特率下也优于JPEG。虽然我们的框架还不能与最先进的压缩方法竞争,但我们表明,它具有各种吸引人的特性,这可能使其成为其他神经数据压缩方法的可行替代方法。

1 介绍

基于学习的图像压缩方法通常在自动编码器中运行[2、24、20]。发送端将数据输入编码器映射到离散的潜在码,再根据学习到的潜在分布熵编码为比特流。比特流被传输到接收器,被解码为潜在码,最终通过解码器重建图像。

在COIN中,用一个小的 MLP 网络映射像素位置到 RGB 值从而对图像进行拟合,然后将该 MLP 网络的权重 θ \theta θ 作为编码进行图像的传输(图1。由于自然图像中包含的高频信息,很难过拟合此类MLP(称为隐式神经表示)[3,34],但最近的研究表明,可以通过使用正弦编码和激活函数来缓解这一问题[23,34,30],其可以把低维坐标映射到高维。在这项工作中,我们把使用正弦激活 Sine 的 MLP,通常被称为 SIREN [30],我们可以用很小的网络(8k)来拟合大图像(393k)。

我们在标准图像压缩任务上评估了我们的方法,并表明我们在低比特率下优于JPEG,即使没有熵编码或学习权重分布。由于隐式表示已成功应用于生成建模[10],因此将我们的方法与学习的权重分布相结合可能会产生有前途的神经数据压缩新方法。此外,通过将我们的图像视为从像素位置到RGB值的函数,我们可以简单地通过以逐渐更高的分辨率评估我们的函数来执行渐进解码,这对于资源受限的接收设备特别有吸引力。
COIN: COMPRESSION WITH IMPLICIT NEURAL REPRESENTATIONS[论文笔记]_第1张图片
图1 基于隐式神经表示的压缩。我们使用神经网络将像素位置(x,y)映射到RGB值(通常称为隐式神经表示)来过拟合图像。然后,我们将该神经网络的权重θ量化到较低的比特宽度,并传输它们。

2 方法

在本节中,我们描述了 COmpressed Implicit Neural representations(COIN),这是我们提出的图像压缩方法。编码步骤包括将MLP拟合到图像,量化其权重并传输这些权重。在解码时,传输的MLP在所有像素位置进行评估以重建图像。

2.1 编码

I I I 表示我们想要编码的图像,这样 I [ x , y ] I[x,y] I[x,y] 返回像素位置 ( x , y ) (x,y) (x,y) 处的 RGB 值。我们定义了一个函数 f θ : R 2 → R 3 f_\theta:\mathbb{R}^2\rightarrow\mathbb{R}^3 fθ:R2R3,其中参数 θ \theta θ 将像素位置映射到图像中的 RGB 值,即 f θ ( x , y ) = ( r , g , b ) f_\theta(x,y)=(r,g,b) fθ(x,y)=(r,g,b)。然后,我们可以通过在某种失真度量下将 f θ f_\theta fθ 过拟合到图像来对图像进行编码。在本文中,我们使用均方误差,得出以下优化问题
min ⁡ θ ∑ x , y ∥ f θ ( x , y ) − I [ x , y ] ∥ 2 2 (1) \min_{\theta}\sum_{x,y}\|f_\theta(x,y)-I[x,y]\|_2^2\tag{1} θminx,yfθ(x,y)I[x,y]22(1)
其中 Σ \Sigma Σ 包含了所有像素位置。

选择 f θ f_\theta fθ 的参数至关重要。事实上,即使使用大量参数,通过具有标准激活函数的MLP[34,30]来参数化 f θ f_\theta fθ 也会导致欠拟合。这个问题可以通过多种方式克服,例如,通过傅立叶特征编码像素坐标[34]或使用正弦激活函数[30]。从经验上看,我们发现,对于给定的参数,后一种选择产生了更好的结果

给定足够大的 MLP,最小化方程(1)很简单。然而,我们将 MLP 的参数 θ \theta θ 存储为图像的压缩描述,所以限制权重的数量将提高压缩率。因此,目标是使用尽可能少的参数(即最大化速率)将 f θ f_\theta fθ 拟合到 I I I(即,最小化失真)。然后,我们的方法有效地将数据压缩问题转化为模型压缩问=。

为了减小模型尺寸,我们考虑了两种方法:架构搜索和权重量化。更具体地说,我们在MLP的宽度和层数上执行超参数扫描,并将权重从32位精度量化为16位精度,这足以在低比特率下优于JPEG标准。然而,我们认为,更复杂的架构搜索方法[11],尤其是模型压缩[36、13、37]将进一步改善结果。

2.2 解码

给定存储的量化权重 θ \theta θ,解码可以简单的由在每个像素位置进行评估函数 f θ f_\theta fθ 以组成,以重建图像。这种解码方法为我们提供了额外的灵活性:我们可以逐步解码图像,例如,首先对部分图像或低分辨率图像进行解码,只需评估不同像素位置的函数。使用基于自动编码器的方法很难以这种方式对图像进行部分解码,这显示了COIN方法的进一步优势。

3 相关工作

隐式神经表征 :用神经网络表示数据最初是由[32]提出的,但最近3D视觉界的兴趣激增[27、26、6]。受深度体素表示的内存需求呈立方体增长[25,31,9]的推动,提出了隐式表示来紧凑地编码高分辨率信号[23,34,30]。虽然用于表示图像的 MLP 通常具有相对较少的参数[10],但我们更进一步,并表明通过仔细选择 MLP 的架构并量化权重,我们可以使用比存储 RGB 值占用更少空间的 MLP 来拟合图像。

神经数据压缩 :学习的图像压缩方法通常基于分层变分自动编码器[2,24,20],为了熵编码的目的,将学习的先验和潜在变量离散化。与潜变量模型文献[14、19、16、22]中的工作类似,一些工作[5、12、39]试图通过在使用分期推理网络的基础上执行基于梯度的迭代优化步骤来缩小分期差距[8]。此外,[39]还通过每个实例的推理时间优化,识别并尝试缩小潜在变量量化产生的离散化差距。[38]进一步考虑模型的持续优化思想:它们执行解码器的每实例微调,并随潜在代码传输量化的解码器参数更新,从而提高率失真性能。在本文中,我们从每个实例优化的角度采取了一种不同的、甚至更极端的方法:我们优化 MLP 以过拟合单个图像,并传输其权重作为图像的压缩描述。

模型压缩 :众所周知,数据和模型压缩问题密切相关,但COIN明确地将数据压缩问题转化为模型压缩问题。关于模型压缩,有大量文献[36、21、13、37、18、15],这些文献可能用于改善COIN的性能。

4 实验

我们在柯达图像数据集[17]上进行了实验,该数据集由24幅大小为768×512的图像组成。我们将我们的模型与三种基于自动编码器的神经压缩基准进行了比较,我们称之为BMS[2]、MBT[24]和CST[7]。我们还与JPEG、JPEG2000、BPG和VTM图像编解码器进行了比较。为了对我们的模型进行基准测试,我们使用CompressAI库[4]和其中提供的预训练模型。我们在PyTorch[28]中实现了我们的模型,并在单个RTX2080Ti GPU上执行了所有实验。

率失真图 :为了确定给定参数预算的最佳模型架构(以每像素位或bpp测量 b p p = p a r a m e t e r × b i t s − p e r − p a r a m e t e r p i x e l s bpp=\frac{parameter\times bits-per-parameter}{pixels} bpp=pixelsparameter×bitsperparameter),我们首先找到表示图像的 MLP 的深度和宽度的有效组合。例如,对于使用16位权重的0.3bpp,有效网络包括具有10层宽度28、7层宽度34等的 MLP。然后,我们通过使用贝叶斯优化对单个图像上的学习率和有效架构进行超参数搜索来选择最佳架构(我们发现架构搜索的结果可以很好地传递到其他图像)。生成的模型在数据集中的每个图像上以32位精度进行训练,并在训练后转换为16位精度。我们注意到,训练后将权重精度从32位降低到16位几乎不会导致失真增加,但将其进一步降低到8位会产生大量失真,超过了将bpp减半的好处

该过程在不同bpp级别的结果如 图2 所示。可以看出,在低比特率下,我们的模型甚至在不使用熵编码的情况下改进了JPEG。虽然我们的方法离最先进的压缩方法还很远,但我们相信这种简单方法的性能在这方面的未来工作中是有希望的。
COIN: COMPRESSION WITH IMPLICIT NEURAL REPRESENTATIONS[论文笔记]_第2张图片
图2 Kodak数据集上的率失真图。

模型尺寸 :与大多数其他神经数据压缩算法相比,我们的方法在测试时不需要解码器。实际上,虽然在这种方法中代表压缩图像的潜在代码很小,但解码器模型很大(通常比未压缩图像大得多)。因此,解码设备上所需的存储器也很大。在我们的例子中,我们只需要解码器端(非常小)MLP的权重,导致内存需求减少了几个数量级。如 图3 所示,在0.3bpp时,我们的方法需要14kB,而其他基线需要10MB到40MB。
COIN: COMPRESSION WITH IMPLICIT NEURAL REPRESENTATIONS[论文笔记]_第3张图片
图3 :在0.3bpp时的模型尺寸。

动态编码优化 : 我们在 图4 中展示了一个过拟合过程的示例。可以看出,COIN在15k迭代后优于JPEG,并继续改进。虽然优化可能有噪声,但我们只需保存具有最佳峰值信噪比的模型。
COIN: COMPRESSION WITH IMPLICIT NEURAL REPRESENTATIONS[论文笔记]_第4张图片
图4 :柯达数据集中图像15的模型训练。Max COIN表示训练过程中任何一点达到的最大峰值信噪比。

架构选择 : 在图5中,我们展示了大小为0.3bpp的各种有效架构的性能。可以看出,压缩的质量取决于架构的选择,对于不同的bpp值,有不同的最佳架构,有关详细信息,请参阅附录A。
COIN: COMPRESSION WITH IMPLICIT NEURAL REPRESENTATIONS[论文笔记]_第5张图片
图5 : 具有不同架构的相同大小(0.3bpp)网络的最大峰值信噪比图。

5 范围、局限性和未来工作

局限性 : 我们方法的主要局限性是编码速度慢,因为我们必须为每个编码图像解决一个优化问题。然而,在一对多媒体分发(例如Netflix[1])的设置中,预先支付大量计算成本来压缩内容以交付给多个接收器是一种标准做法。然而,这种限制可能会被元学习[29,33]或摊销推理[35,40]方法所回避。此外,在解码时,我们需要在每个像素位置评估网络以解码完整图像。然而,这种计算可以令人尴尬地并行到所有像素的单个正向过程。最后,我们的方法的性能比最先进的压缩方法差。然而,我们认为有几个有希望的方向来缩小这一差距。

未来工作 : 最近在隐式表示生成建模方面的工作[10]表明,对于我们的方法,学习函数权重的分布可以转化为显著的压缩增益。此外,探索元学习或其他加速编码的方法可能是未来工作的一个重要方向[29,33]。细化表示图像的函数的结构(例如通过神经结构搜索或剪枝)是另一个有前途的途径。虽然我们在本文中只是将权重转换为半精度,但通过使用更先进的模型压缩,性能可能会有很大提高[13,37,15]。最后,由于隐式表示将任意坐标映射到任意特征[34、30、10],因此将我们的方法应用于不同类型的数据(如视频或音频)会很有趣。

6 总结

在本文中,我们提出了COIN,这是一种通过将神经网络拟合到像素并存储结果模型的权重来压缩图像的新方法。我们通过实验表明,即使不使用熵编码,这种简单的方法也可以在低比特率下优于JPEG。我们希望这一领域的进一步工作将产生一类新的神经数据压缩方法。

你可能感兴趣的:(论文翻译,深度学习)